)]}'
{
  "commit": "c2de99433af9428a77fd3e1a79b475bc3571b5dc",
  "tree": "1bd71f6033a50df15090f38e5bf167c7fa2d7c2e",
  "parents": [
    "1c107aef8efc271072a42f61292adfc6f584c8a0"
  ],
  "author": {
    "name": "Christoffer Adamsen",
    "email": "christofferqa@google.com",
    "time": "Tue Aug 12 10:57:27 2025 +0200"
  },
  "committer": {
    "name": "Christoffer Adamsen",
    "email": "christofferqa@google.com",
    "time": "Tue Aug 12 10:57:27 2025 +0200"
  },
  "message": "Extend throw block outliner to exceptions with arguments\n\nThis adds support for passing arbitrary values to the outlined exception. The outliner captures these values as arguments of the outlined method.\n\nThis also adds support for outlining uses of StringBuilder.\n\nTo keep track of which values from a given outline user must be passed as arguments to the outline method, this CL extends the ThrowBlockOutlineMarker to have as in-values the list of SSA values that are arguments to the outline method.\n\nBug: b/434769547\nChange-Id: I0ca6343daf412347be4194ec8965e01df372651e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "205ab4463607733ad8980e40ca6840ec15e1494f",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/graph/DexTypeUtils.java",
      "new_id": "a9cd08c104208a243cc4706ef1b5ee1e80f2fbd5",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/graph/DexTypeUtils.java"
    },
    {
      "type": "modify",
      "old_id": "bd119cbd63717b57522ff2df09c2fb42bd009e18",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/code/ThrowBlockOutlineMarker.java",
      "new_id": "6b4b88fb131534a9e76cf592ab251367b933e1d3",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/code/ThrowBlockOutlineMarker.java"
    },
    {
      "type": "modify",
      "old_id": "dc871e1b3f84ac9d950b5f647147ae29c18c12dc",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/optimize/outliner/exceptions/ThrowBlockOutline.java",
      "new_id": "480f608bea63a7519e83932d4bb88fc7a3286964",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/optimize/outliner/exceptions/ThrowBlockOutline.java"
    },
    {
      "type": "modify",
      "old_id": "e69cdbadaa989bbe91b5565032534d3c14b5b3f8",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/optimize/outliner/exceptions/ThrowBlockOutlineMarkerRewriter.java",
      "new_id": "00ba07a3563f7c71c4b5f90ede3492c1a9b62fe7",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/optimize/outliner/exceptions/ThrowBlockOutlineMarkerRewriter.java"
    },
    {
      "type": "modify",
      "old_id": "c323bcae8d5879c8d9423d00f7431b21240072e1",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/optimize/outliner/exceptions/ThrowBlockOutliner.java",
      "new_id": "a131719d9405cfd55d9f29a301ef23a03bb4ad7d",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/optimize/outliner/exceptions/ThrowBlockOutliner.java"
    },
    {
      "type": "modify",
      "old_id": "5213ce91bd4c4588ce7f77119348f64749ebc40e",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/optimize/outliner/exceptions/ThrowBlockOutlinerLirCodeEquivalence.java",
      "new_id": "63e62d029eaf8b3536123acafe380f7d118297e0",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/optimize/outliner/exceptions/ThrowBlockOutlinerLirCodeEquivalence.java"
    },
    {
      "type": "modify",
      "old_id": "349bf864f3df81d697a8aeeee38b7eb9773a5b43",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/optimize/outliner/exceptions/ThrowBlockOutlinerScanner.java",
      "new_id": "980668ae1ac1de4512412bb2dead5b3f116aee78",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/optimize/outliner/exceptions/ThrowBlockOutlinerScanner.java"
    },
    {
      "type": "modify",
      "old_id": "6890bd0b2c73f82e4d00e6b30ccda5c8d6007e64",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/lightir/Lir2IRConverter.java",
      "new_id": "18671a3a70ec93b148677dd45e26e42f5c9e063f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/lightir/Lir2IRConverter.java"
    },
    {
      "type": "modify",
      "old_id": "bdb4c852d95c9c1d955642f2102881cfb03096bf",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/lightir/LirBuilder.java",
      "new_id": "c253f6dc38914e6c425b48ec657c61df2246993d",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/lightir/LirBuilder.java"
    },
    {
      "type": "modify",
      "old_id": "5ab04179e23df04351047ea58e17e1cc0a5be13f",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/lightir/LirParsedInstructionCallback.java",
      "new_id": "3cb0332bc4b1527534e8521a1342d6ac6cbe1185",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/lightir/LirParsedInstructionCallback.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "acbd830303c9c07ef04aab7431941ab04eed25ec",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/ir/optimize/outliner/exceptions/ThrowBlockOutlinerConstArgumentTest.java"
    },
    {
      "type": "modify",
      "old_id": "ed330c9e5cc50c2597a8ad3fefe725907ccc24d7",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/ir/optimize/outliner/exceptions/ThrowBlockOutlinerNoArgumentsTest.java",
      "new_id": "0988ba4f8b8a990c7ceb8e1d4ad38b0617674579",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/ir/optimize/outliner/exceptions/ThrowBlockOutlinerNoArgumentsTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2e130f71cfe42baca795c3d63db59d6a06f4decb",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/ir/optimize/outliner/exceptions/ThrowBlockOutlinerSharedStringBuilderTest.java"
    }
  ]
}
