)]}'
{
  "commit": "342726cd1ff2fd3f62039af69256b2feb25b3ffb",
  "tree": "ff1b9e28708613c8dbdc9c3165bab76dfff9b997",
  "parents": [
    "2abf42f970dd2728ce3240e3c921dd454028706c"
  ],
  "author": {
    "name": "Rico Wind",
    "email": "ricow@google.com",
    "time": "Tue Jan 30 16:51:18 2024 +0100"
  },
  "committer": {
    "name": "Rico Wind",
    "email": "ricow@google.com",
    "time": "Tue Jan 30 15:56:51 2024 +0000"
  },
  "message": "Add ResourceConstNumber for tracking resource references\n\nThis will add a special resource value to the IR for tracking resource\nvalue references no matter if they are in an R class or not.\n\nThis means that we can more freely optimize callsites and remove the\nfields from the R class.\n\nNote that this is exclusively used in the optimization pipeline, we\nmap out again before writing.\n\nAlso note, that the ResourceAccessAnalysis tracing of the resources is\ncurrently a no-op since it does not give rise to any code tracing (and\nthe actual tracing for the output resource table is done in the second\nround use the ResourceConstNumbers)\n\nBug: 287398085\nChange-Id: Ic9d648bb4bd086548b4500fb6a148e7519ba1f28",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ed2b2cd7cf15d6e60321a561a165e429a44c1887",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/R8.java",
      "new_id": "f9694e5d9bf0be12501c116db990506e3bd02ab3",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/R8.java"
    },
    {
      "type": "modify",
      "old_id": "84d8da682232c54131fd1ad297dfe72c3dfbd76d",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/graph/AppView.java",
      "new_id": "e3c04a8cd607877d3d6d1ab119c1d40439278914",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/graph/AppView.java"
    },
    {
      "type": "modify",
      "old_id": "1d9e498319276418f250fca7e5b2ebc6eb20603c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/graph/UseRegistry.java",
      "new_id": "d7d1b0b8ea7b78cdb512f168a52457a4a2fa6fa8",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/graph/UseRegistry.java"
    },
    {
      "type": "modify",
      "old_id": "d9547d932bfab08d365925bd2290129e8a4fe7b5",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/graph/analysis/ResourceAccessAnalysis.java",
      "new_id": "6b64f53a239f2dd1f0a306450efadcdf0e8dd515",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/graph/analysis/ResourceAccessAnalysis.java"
    },
    {
      "type": "modify",
      "old_id": "c71f037bafc5dc5b332971c1c3294b12bc4b48a2",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/analysis/value/AbstractValue.java",
      "new_id": "e050ed480f92af6a1c86dd4b3dcdfe76b791a56e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/analysis/value/AbstractValue.java"
    },
    {
      "type": "modify",
      "old_id": "79eca14f7ad145277e93a3cc9f3cdf8998f1ea79",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/analysis/value/AbstractValueFactory.java",
      "new_id": "567d39a25c21290af4b4ea3b180e175700fc462c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/analysis/value/AbstractValueFactory.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8be7c10c38e2fd48cd2f504c44447b78f02fa47b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/analysis/value/SingleResourceNumberValue.java"
    },
    {
      "type": "modify",
      "old_id": "a21882ab137902a4d12f71449b84abc2dabfe561",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/code/DefaultInstructionVisitor.java",
      "new_id": "a3bbdeedd2a670f15c0ed922675893477afb0ff8",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/code/DefaultInstructionVisitor.java"
    },
    {
      "type": "modify",
      "old_id": "2d8cc3ed57e4f375e43b4aa80876b429af38a47d",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/code/IRMetadata.java",
      "new_id": "56f38c36ec9e53f14275a162dec6a40956190b2b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/code/IRMetadata.java"
    },
    {
      "type": "modify",
      "old_id": "d0426ec7f0e08a4d33927e0c12f6b3b511844204",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/code/Instruction.java",
      "new_id": "08143ae7cad3a09fd08d152e7fd3f7b0d12c3485",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/code/Instruction.java"
    },
    {
      "type": "modify",
      "old_id": "8318365d208aca35117bb06998a44460ba780bca",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/code/InstructionVisitor.java",
      "new_id": "62bd3deb91e98f9139563d879276a092ff6e15fe",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/code/InstructionVisitor.java"
    },
    {
      "type": "modify",
      "old_id": "44ad34678cba338cb5f1077e337d04a9fbd9c9d1",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/code/Opcodes.java",
      "new_id": "58889ace096897a8d1c7653c17dbdd3c38afbabb",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/code/Opcodes.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d18a41098b1de541583f09b51effa09ef7f94f06",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/code/ResourceConstNumber.java"
    },
    {
      "type": "modify",
      "old_id": "fb150fb47bdb8d79c5b45db51fcdcd3a7adea416",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/code/Value.java",
      "new_id": "0a16889374d92ae4108278c3c17e0b2a6579a056",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/code/Value.java"
    },
    {
      "type": "modify",
      "old_id": "2c7d62b69b53fac30e50954db9fb1911a9934164",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/conversion/LirConverter.java",
      "new_id": "5f5a9c9c95d3d1688d7524c55e3478022a427b52",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/conversion/LirConverter.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ca379dd94f6a38853116fce691579801779c1490",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/conversion/passes/ConstResourceNumberRemover.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e6806fc3308db756b367213d91a0640d0945910c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/conversion/passes/ConstResourceNumberRewriter.java"
    },
    {
      "type": "modify",
      "old_id": "9584e8a2039e03e8506a6fe3baa618caa59af752",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/conversion/passes/DexConstantOptimizer.java",
      "new_id": "a213f7f812e7c6353d2f05d6477da7c1b56bbab2",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/conversion/passes/DexConstantOptimizer.java"
    },
    {
      "type": "modify",
      "old_id": "6880ed1e6fdddcce290241a5209c2c0164c5cea0",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/optimize/ClassInitializerDefaultsOptimization.java",
      "new_id": "f10854f705e4f405fa956116dfe4382740105ecc",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/optimize/ClassInitializerDefaultsOptimization.java"
    },
    {
      "type": "modify",
      "old_id": "1ef539abdf9b71aae7c0f6acf1d12ad24732cb34",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/optimize/ConstantCanonicalizer.java",
      "new_id": "c1f203a5d70d12612bef4484a45431b9ea25e685",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/optimize/ConstantCanonicalizer.java"
    },
    {
      "type": "modify",
      "old_id": "ee034223eedb3933ef25d1ef4166865b5d628d95",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/optimize/RedundantFieldLoadAndStoreElimination.java",
      "new_id": "d9acaba3ad5502eb7616b736c387ea11f0093b22",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/optimize/RedundantFieldLoadAndStoreElimination.java"
    },
    {
      "type": "modify",
      "old_id": "124651695cef8d822dad58a0d9ab20b24ce67d89",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/optimize/library/ResourcesMemberOptimizer.java",
      "new_id": "207d757ce1602219ac597826bad8f331e11bf7c2",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/optimize/library/ResourcesMemberOptimizer.java"
    },
    {
      "type": "modify",
      "old_id": "46e73aab2730ec5eb1583d39e828f65670b997fb",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/lightir/Lir2IRConverter.java",
      "new_id": "d7ee8d38e2af76c298b512bfd51b444ea172beb7",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/lightir/Lir2IRConverter.java"
    },
    {
      "type": "modify",
      "old_id": "5d988d884171426da6d1dd4a02f2543666d2cd06",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/lightir/LirBuilder.java",
      "new_id": "c243c7b2fff45a73ad91db3257e9d9f9554a6fd1",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/lightir/LirBuilder.java"
    },
    {
      "type": "modify",
      "old_id": "393cd05dd053ea7655ca7956f68776db4eb2e7e6",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/lightir/LirOpcodes.java",
      "new_id": "702dbba7c662126c5284180402c4f55370eb9892",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/lightir/LirOpcodes.java"
    },
    {
      "type": "modify",
      "old_id": "cdd50cc363719f9b5e96045e76db5f7016b93db3",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/lightir/LirParsedInstructionCallback.java",
      "new_id": "4fe7d83038e8644928a809439c7f6d71c9289c06",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/lightir/LirParsedInstructionCallback.java"
    },
    {
      "type": "modify",
      "old_id": "2e0273d43a016f71778df1d11db87ec695e29d83",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/lightir/LirPrinter.java",
      "new_id": "c27b1edda4231c203ed219bcb7cde0c0dc14f818",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/lightir/LirPrinter.java"
    },
    {
      "type": "modify",
      "old_id": "7b78efa4ee590d3a7fac3d76b91ffb26e5b9a709",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/lightir/LirSizeEstimation.java",
      "new_id": "3c0961e51ae008b5645d2617b8adf576ae406006",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/lightir/LirSizeEstimation.java"
    },
    {
      "type": "modify",
      "old_id": "83a34f136949fb903d2bbc931b30e5aa1771516b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/lightir/LirUseRegistryCallback.java",
      "new_id": "d97b0a9ebd3dd6cd5741e5f59cbdf08689f202fb",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/lightir/LirUseRegistryCallback.java"
    },
    {
      "type": "modify",
      "old_id": "7e988c43b83c670faec4d5b747200d1ccfa07fca",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/shaking/DefaultEnqueuerUseRegistry.java",
      "new_id": "736f2856da1d4b65f5de18fc6890b56b5d7d7108",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/shaking/DefaultEnqueuerUseRegistry.java"
    },
    {
      "type": "modify",
      "old_id": "5279f1d2e5caeb8bb855c37d28ecd39ea4ca6d05",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/shaking/Enqueuer.java",
      "new_id": "34cb2ec070065a85ea241d82d3c90e52316c303d",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/shaking/Enqueuer.java"
    },
    {
      "type": "modify",
      "old_id": "df0ac25907d39c4a9f577545961b3e765c96973d",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/utils/DescriptorUtils.java",
      "new_id": "7d8e99512269b66ca5d423646270e8a0f3503513",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/utils/DescriptorUtils.java"
    },
    {
      "type": "modify",
      "old_id": "afc71ff56246ea3b4403885fc7153f0fc378ca7a",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/utils/InternalOptions.java",
      "new_id": "29f4710d0fabea43984520cc1d455c173b506515",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/utils/InternalOptions.java"
    },
    {
      "type": "modify",
      "old_id": "088547e5b9a42e0e1873edac08dcfeb6d4c1895a",
      "old_mode": 33188,
      "old_path": "src/resourceshrinker/java/com/android/build/shrinker/r8integration/R8ResourceShrinkerState.java",
      "new_id": "5e0a8aebd91a7b3b796c01d40685da563d0fcf56",
      "new_mode": 33188,
      "new_path": "src/resourceshrinker/java/com/android/build/shrinker/r8integration/R8ResourceShrinkerState.java"
    },
    {
      "type": "modify",
      "old_id": "f803d78e2822a3c376955c0e00db858b20329a31",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/R8TestBuilder.java",
      "new_id": "c9b940128d130e0eb82bd50cbf573f0ed1e1f381",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/R8TestBuilder.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "60ce94246d8aa98e3cc826850040ac73c7329cd4",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/androidresources/ResourceIDCannonicalizationTest.java"
    },
    {
      "type": "modify",
      "old_id": "662d00f89ff5c24bc06ac5e22ee179c2db11e18b",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/androidresources/optimizedshrinking/TestOptimizedShrinking.java",
      "new_id": "74c7102cbe0a92068513b60c1bdd9bee44b69c32",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/androidresources/optimizedshrinking/TestOptimizedShrinking.java"
    }
  ]
}
