)]}'
{
  "commit": "f79fefd7dff4f054ec8b8f1991ce4e7bf9c828c0",
  "tree": "7c8ec7dd39f7391df28ff21019a27ad9b7ab6829",
  "parents": [
    "017ee8824b9c511e731232bd457b9281e0a3cf7b"
  ],
  "author": {
    "name": "Morten Krogh-Jespersen",
    "email": "mkroghj@google.com",
    "time": "Mon Jan 03 12:05:11 2022 +0100"
  },
  "committer": {
    "name": "Morten Krogh-Jespersen",
    "email": "mkroghj@google.com",
    "time": "Wed Jan 05 09:54:31 2022 +0000"
  },
  "message": "[ApiModel] Enable stubbing and outlining of library references\n\nRELNOTES: To eliminate performance issues on Dalvik and ART, R8 will now introduce library stubs and outline calls to library methods for library classes and methods that may not exist at runtime. Doing so eliminates many verification issues and improves runtime performance. This feature is always enabled.\n\nBug: 138781768\nBug: 210822155\nChange-Id: Ia1b487a5a5e043b85174e149e2a4e0a0466722cd",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "da44c03741a8e58a641ee67e051c437584a8a3c7",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/desugar/apimodel/ApiInvokeOutlinerDesugaring.java",
      "new_id": "8e2f9fb1dc04f67ba9ac60950156b2c51af0dace",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/desugar/apimodel/ApiInvokeOutlinerDesugaring.java"
    },
    {
      "type": "modify",
      "old_id": "7ce8109fb5f8c24e18f5b02d7d5b044acb752299",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/utils/InternalOptions.java",
      "new_id": "0bfc07960b108c5a7e18160f1bc494d86637a053",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/utils/InternalOptions.java"
    },
    {
      "type": "modify",
      "old_id": "0eeb405d399cf645fe63cefe199d63e791428525",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelClassMergingWithDifferentApiMethodsTest.java",
      "new_id": "5730230c2475a7c86ad15abe398e3c62436ce753",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelClassMergingWithDifferentApiMethodsTest.java"
    },
    {
      "type": "modify",
      "old_id": "8d4e2f1d07a540d0758657a99731c8517157585e",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelInlineInSameClassTest.java",
      "new_id": "f351779dcff6027c2de3cfa00ddebb00a0c1056c",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelInlineInSameClassTest.java"
    },
    {
      "type": "modify",
      "old_id": "22ecf8625ce81cc1192224e732919ffe17df44af",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoClassInliningMethodTest.java",
      "new_id": "013d98f26f6677b4dd434fd52b32f6a5d472cb73",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoClassInliningMethodTest.java"
    },
    {
      "type": "modify",
      "old_id": "45d2bec8627b9049dcf76d8e5c83caefa15b315c",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoDesugaredLibraryReferenceTest.java",
      "new_id": "6e8d3b0bfe9403c36100573396c1b16e0431641f",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoDesugaredLibraryReferenceTest.java"
    },
    {
      "type": "modify",
      "old_id": "a580fb1983baa911f3f5298d8a3a27d894baf24d",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoInliningOfDefaultInterfaceMethodsTest.java",
      "new_id": "9f88bbb6c3f9c64bb147dbfab9e9eb09dd2241e3",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoInliningOfDefaultInterfaceMethodsTest.java"
    },
    {
      "type": "modify",
      "old_id": "d39b03824034cc1726042ed05ca9b6010b4dfcdf",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoInliningOfHigherApiLevelInterfaceTest.java",
      "new_id": "22a732169b029a2b070e145d45358af101d9a7d8",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoInliningOfHigherApiLevelInterfaceTest.java"
    },
    {
      "type": "modify",
      "old_id": "98aa2407ce7158e24a4ce20e1bc3f21d71459770",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoInliningOfHigherApiLevelIntoLowerDirectTest.java",
      "new_id": "84ce1680119bd1f4a50b9b24626cbe38b947cf6d",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoInliningOfHigherApiLevelIntoLowerDirectTest.java"
    },
    {
      "type": "modify",
      "old_id": "16f24fa4ce9503f8ef1184b659e29cf86e75f7a9",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoInliningOfHigherApiLevelStaticTest.java",
      "new_id": "1b7713db387a961eb7a39bf2c800ceed5a27d630",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoInliningOfHigherApiLevelStaticTest.java"
    },
    {
      "type": "modify",
      "old_id": "2311f1279ae4c332eaafbdaaff150c53e30c6bc0",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoInliningOfHigherApiLevelVirtualTest.java",
      "new_id": "c4a6c580ad75f1625ee834061737d649dd71976a",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoInliningOfHigherApiLevelVirtualTest.java"
    },
    {
      "type": "modify",
      "old_id": "498ef4ced38a755faf2bd9fe0b6aff569e89f94a",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoInliningOfStaticInterfaceMethodsTest.java",
      "new_id": "22714a31e0722cef995fda1270e5070f1ae294dc",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoInliningOfStaticInterfaceMethodsTest.java"
    },
    {
      "type": "delete",
      "old_id": "a4cbd4b1995b89ce74a39b43a97f900a290576f3",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoMockForOutlineTest.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "98b4e92b4320f0910e9ee5a2a0395b35d4d32395",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoVerticalMergingSubReferenceApiTest.java",
      "new_id": "da967e8d4139c8ec0d24fa6c5f75794365737e14",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoVerticalMergingSubReferenceApiTest.java"
    },
    {
      "type": "modify",
      "old_id": "b7cd0b132db76b74dad35bea7a79f25d93fc5211",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoVerticalMergingTest.java",
      "new_id": "7276937e203f31010b68e21f4b2dfd61a3ee9f7c",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelNoVerticalMergingTest.java"
    },
    {
      "type": "modify",
      "old_id": "0760cadb61a5cdf9ee67efe5974a2cbdae2d1d48",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelOutlineDuplicateMethodTest.java",
      "new_id": "c4dcd4297c51309d0213b6fdeaa7fae5ff8eaf27",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelOutlineDuplicateMethodTest.java"
    },
    {
      "type": "modify",
      "old_id": "2426afb89debe42d0fb30330945e2effb2993670",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelOutlineHorizontalMergingTest.java",
      "new_id": "ce21ee4c0c71365ea571682699bcdeb67c6f94ea",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelOutlineHorizontalMergingTest.java"
    },
    {
      "type": "modify",
      "old_id": "77558229625b93efdc33367909c2ceee716ee937",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelOutlineMethodMissingClassTest.java",
      "new_id": "8531ceb5b721be8db1ae2ee96042102d07782616",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelOutlineMethodMissingClassTest.java"
    },
    {
      "type": "modify",
      "old_id": "25f0c3a573104a2bb5a559bb34b349b5acbf05f2",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelTypeReferenceInvokeTest.java",
      "new_id": "79df3a4af8b97c27738c9f505bb9e170f7008a52",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelTypeReferenceInvokeTest.java"
    },
    {
      "type": "modify",
      "old_id": "d4127e80373400e11c47ce1e7bf20adcd5bd8914",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelVirtualDispatchLinkInterfaceTest.java",
      "new_id": "f28c3c6016233e019e3cbc47d856dc088a6ecbf6",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelVirtualDispatchLinkInterfaceTest.java"
    },
    {
      "type": "modify",
      "old_id": "7077a21a54820d89f4abbf59c7ae3407483e8c6c",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelingTestHelper.java",
      "new_id": "b9cf537e8bd4fdc3e75b7ff011587a5ff1c9b4af",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/apimodel/ApiModelingTestHelper.java"
    },
    {
      "type": "modify",
      "old_id": "407165cd41b65fda029c5de4c6bf5c62556ea6e8",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/classmerging/vertical/VerticalClassMergerTest.java",
      "new_id": "3f95a852671b65fd1b0843092a0b7185a5b86cc2",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/classmerging/vertical/VerticalClassMergerTest.java"
    },
    {
      "type": "modify",
      "old_id": "61b0fd7e5b2dfc724e304e29f03b6f921b55480b",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/dexsplitter/SyntheticDistributionTest.java",
      "new_id": "3e86cc90c9d03010077a2305180c777a6598badb",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/dexsplitter/SyntheticDistributionTest.java"
    },
    {
      "type": "modify",
      "old_id": "1183c1fb8a7e98d048696a31f3668eb42cb20f40",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/repackage/RepackageWithFeatureSplitTest.java",
      "new_id": "87fe5f001a74bf15def8165be6b7378dc48af00a",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/repackage/RepackageWithFeatureSplitTest.java"
    }
  ]
}
