)]}'
{
  "commit": "d95a1f2ecf322d21ae98bfb7affe0070ddb9bc08",
  "tree": "8fc5fe8370ec051289a34cde7bf3dc5fc7a1ca7f",
  "parents": [
    "507a729e51588f7fa4eac7579d54ce7c96804349"
  ],
  "author": {
    "name": "Vladimir Marko",
    "email": "vmarko@google.com",
    "time": "Tue Mar 23 16:32:52 2021 +0000"
  },
  "committer": {
    "name": "Vladimir Marko",
    "email": "vmarko@google.com",
    "time": "Mon Oct 11 11:56:59 2021 +0000"
  },
  "message": "Inline IRT frame push/pop into JNI stubs.\n\nGolem results for art-opt-cc (higher is better):\nlinux-ia32                       before after\nNativeDowncallStaticNormal       25.704 26.839 (+4.414%)\nNativeDowncallStaticNormal6      23.857 25.086 (+5.152%)\nNativeDowncallStaticNormalRefs6  23.704 25.248 (+6.513%)\nNativeDowncallVirtualNormal      25.578 27.000 (+5.560%)\nNativeDowncallVirtualNormal6     23.704 24.925 (+5.153%)\nNativeDowncallVirtualNormalRefs6 23.704 25.074 (+5.870%)\nNativeDowncallStaticFast         100.65 149.13 (+48.17%)\nNativeDowncallStaticFast6        78.304 107.39 (+37.71%)\nNativeDowncallStaticFastRefs6    76.962 104.45 (+35.71%)\nNativeDowncallVirtualFast        100.40 147.28 (+46.69%)\nNativeDowncallVirtualFast6       79.302 106.34 (+34.10%)\nNativeDowncallVirtualFastRef26   76.617 103.29 (+34.82%)\nlinux-x64                        before after\nNativeDowncallStaticNormal       26.083 26.987 (+3.465%)\nNativeDowncallStaticNormal6      24.606 25.411 (+3.271%)\nNativeDowncallStaticNormalRefs6  24.150 25.086 (+3.877%)\nNativeDowncallVirtualNormal      25.743 26.812 (+4.156%)\nNativeDowncallVirtualNormal6     24.294 25.248 (+3.927%)\nNativeDowncallVirtualNormalRefs6 23.857 25.086 (+5.152%)\nNativeDowncallStaticFast         109.95 133.10 (+21.06%)\nNativeDowncallStaticFast6        90.274 109.12 (+20.87%)\nNativeDowncallStaticFastRefs6    87.282 105.29 (+20.63%)\nNativeDowncallVirtualFast        104.00 127.55 (+22.65%)\nNativeDowncallVirtualFast6       88.191 106.73 (+21.02%)\nNativeDowncallVirtualFastRef26   85.530 102.09 (+19.36%)\nlinux-armv7                      before after\nNativeDowncallStaticNormal       6.1148 6.3694 (+4.316%)\nNativeDowncallStaticNormal6      5.6845 5.9026 (+3.837%)\nNativeDowncallStaticNormalRefs6  5.4054 5.6022 (+3.641%)\nNativeDowncallVirtualNormal      5.4726 5.7088 (+4.316%)\nNativeDowncallVirtualNormal6     5.1789 5.3685 (+3.660%)\nNativeDowncallVirtualNormalRefs6 4.9140 5.0902 (+3.586%)\nNativeDowncallStaticFast         16.683 18.058 (+8.239%)\nNativeDowncallStaticFast6        13.951 14.896 (+6.770%)\nNativeDowncallStaticFastRefs6    12.279 13.006 (+5.919%)\nNativeDowncallVirtualFast        16.161 17.848 (+10.44%)\nNativeDowncallVirtualFast6       14.085 15.196 (+7.892%)\nNativeDowncallVirtualFastRef26   12.089 12.897 (+6.683%)\nlinux-armv8                      before after\nNativeDowncallStaticNormal       6.0663 6.4229 (+5.879%)\nNativeDowncallStaticNormal6      5.7252 6.0437 (+5.563%)\nNativeDowncallStaticNormalRefs6  5.3114 5.5814 (+5.082%)\nNativeDowncallVirtualNormal      5.8795 6.2651 (+6.558%)\nNativeDowncallVirtualNormal6     5.6232 5.9494 (+5.801%)\nNativeDowncallVirtualNormalRefs6 5.1862 5.4429 (+4.948%)\nNativeDowncallStaticFast         17.638 19.183 (+8.760%)\nNativeDowncallStaticFast6        14.903 16.161 (+8.438%)\nNativeDowncallStaticFastRefs6    12.475 13.235 (+6.094%)\nNativeDowncallVirtualFast        15.826 17.848 (+12.78%)\nNativeDowncallVirtualFast6       14.064 15.504 (+10.24%)\nNativeDowncallVirtualFastRef26   11.628 12.475 (+7.285%)\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing\nBug: 172332525\nChange-Id: I5ecfa7a661f08ab63dd2a75d666e1c1b9121935f\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dc5304ccf08b37479cdc39bf3729de1e003cd8b2",
      "old_mode": 33188,
      "old_path": "compiler/jni/jni_compiler_test.cc",
      "new_id": "e3d0abb7d33b85910855b5a0a49223e68d4af28d",
      "new_mode": 33188,
      "new_path": "compiler/jni/jni_compiler_test.cc"
    },
    {
      "type": "modify",
      "old_id": "d849c28a2d51b520db4e47e6fe4948f3b913ade7",
      "old_mode": 33188,
      "old_path": "compiler/jni/quick/arm/calling_convention_arm.cc",
      "new_id": "4d0d81318610b8f20f1a93f320fc53ab49de3a63",
      "new_mode": 33188,
      "new_path": "compiler/jni/quick/arm/calling_convention_arm.cc"
    },
    {
      "type": "modify",
      "old_id": "985d971418e30876172bec4f514c67d63f587be8",
      "old_mode": 33188,
      "old_path": "compiler/jni/quick/arm/calling_convention_arm.h",
      "new_id": "fad60c8429fdfbc4054342c43f8abdfe3eca6ad4",
      "new_mode": 33188,
      "new_path": "compiler/jni/quick/arm/calling_convention_arm.h"
    },
    {
      "type": "modify",
      "old_id": "1a136890331344505d6580a12cfd263f3ba2489f",
      "old_mode": 33188,
      "old_path": "compiler/jni/quick/arm64/calling_convention_arm64.cc",
      "new_id": "83b936a0b40dd077438f0df8dcdd7a7ecd697c69",
      "new_mode": 33188,
      "new_path": "compiler/jni/quick/arm64/calling_convention_arm64.cc"
    },
    {
      "type": "modify",
      "old_id": "e1e9407663b653b805a3e796cd44be78b4351295",
      "old_mode": 33188,
      "old_path": "compiler/jni/quick/arm64/calling_convention_arm64.h",
      "new_id": "0836160c0f5a118634d816a3d76891776aaecc5a",
      "new_mode": 33188,
      "new_path": "compiler/jni/quick/arm64/calling_convention_arm64.h"
    },
    {
      "type": "modify",
      "old_id": "c11e09dc60f6962d16474ab464c3f641350e2d46",
      "old_mode": 33188,
      "old_path": "compiler/jni/quick/calling_convention.h",
      "new_id": "e62fc33a85410a34704ae52cf05298262eacfeb2",
      "new_mode": 33188,
      "new_path": "compiler/jni/quick/calling_convention.h"
    },
    {
      "type": "modify",
      "old_id": "cdd0263729bad7ffb699dcffd21bc2fb654929f8",
      "old_mode": 33188,
      "old_path": "compiler/jni/quick/jni_compiler.cc",
      "new_id": "25eb919c536c5f21f78ee13ed7ed985dc2b04532",
      "new_mode": 33188,
      "new_path": "compiler/jni/quick/jni_compiler.cc"
    },
    {
      "type": "modify",
      "old_id": "1baffc57daeaf7f0aacdf56428f4560257e5c138",
      "old_mode": 33188,
      "old_path": "compiler/jni/quick/x86/calling_convention_x86.cc",
      "new_id": "e45a211e05525f05b956b951ef627c37aca2cc31",
      "new_mode": 33188,
      "new_path": "compiler/jni/quick/x86/calling_convention_x86.cc"
    },
    {
      "type": "modify",
      "old_id": "cbb362c774df53e600ffac269e987c57b3c59cb2",
      "old_mode": 33188,
      "old_path": "compiler/jni/quick/x86/calling_convention_x86.h",
      "new_id": "d589dbdba005355eec5c38ccc75ef196d2620643",
      "new_mode": 33188,
      "new_path": "compiler/jni/quick/x86/calling_convention_x86.h"
    },
    {
      "type": "modify",
      "old_id": "33a921b79b4cccabd3e6cc08bce1252ea3721e33",
      "old_mode": 33188,
      "old_path": "compiler/jni/quick/x86_64/calling_convention_x86_64.cc",
      "new_id": "ed40c5f37acdda96d3f7851d9bde462c1f5537ad",
      "new_mode": 33188,
      "new_path": "compiler/jni/quick/x86_64/calling_convention_x86_64.cc"
    },
    {
      "type": "modify",
      "old_id": "f9d6fc00e423659d5bed5ab519f3865ddf822694",
      "old_mode": 33188,
      "old_path": "compiler/jni/quick/x86_64/calling_convention_x86_64.h",
      "new_id": "80453c3edb0760cb39758375666f4b6e2ce221e4",
      "new_mode": 33188,
      "new_path": "compiler/jni/quick/x86_64/calling_convention_x86_64.h"
    },
    {
      "type": "modify",
      "old_id": "70a1939b59240169a38c467e93c70816f0e8b6c8",
      "old_mode": 33188,
      "old_path": "compiler/utils/arm/jni_macro_assembler_arm_vixl.cc",
      "new_id": "c23d6822751b1a1db0440df00b57379b7ff827fd",
      "new_mode": 33188,
      "new_path": "compiler/utils/arm/jni_macro_assembler_arm_vixl.cc"
    },
    {
      "type": "modify",
      "old_id": "248fc67dc62e09ec564281bc7a69738660265e74",
      "old_mode": 33188,
      "old_path": "compiler/utils/arm/jni_macro_assembler_arm_vixl.h",
      "new_id": "d98f688c66a79b05014519883e9066fee74d5ca5",
      "new_mode": 33188,
      "new_path": "compiler/utils/arm/jni_macro_assembler_arm_vixl.h"
    },
    {
      "type": "modify",
      "old_id": "c4dbd3f48c6a503a55c95922e11f95bafc3dd8f8",
      "old_mode": 33188,
      "old_path": "compiler/utils/arm64/jni_macro_assembler_arm64.cc",
      "new_id": "33fff55cb62b8d87a3c672f007b9d4458ac76798",
      "new_mode": 33188,
      "new_path": "compiler/utils/arm64/jni_macro_assembler_arm64.cc"
    },
    {
      "type": "modify",
      "old_id": "ad027d330f353bcd1d60f612fe6ec6b4a61d3a70",
      "old_mode": 33188,
      "old_path": "compiler/utils/arm64/jni_macro_assembler_arm64.h",
      "new_id": "2c4b25256a9dbcc9e305862d22f58dd3fc742983",
      "new_mode": 33188,
      "new_path": "compiler/utils/arm64/jni_macro_assembler_arm64.h"
    },
    {
      "type": "modify",
      "old_id": "d62112211bd2c06451256a3621fd5b67e277d26a",
      "old_mode": 33188,
      "old_path": "compiler/utils/jni_macro_assembler.h",
      "new_id": "a9d9f546e9325e36a47e6d7932fd942740465b44",
      "new_mode": 33188,
      "new_path": "compiler/utils/jni_macro_assembler.h"
    },
    {
      "type": "modify",
      "old_id": "2710eb191299d37f8c846cb2d77da9542b948fc4",
      "old_mode": 33188,
      "old_path": "compiler/utils/x86/jni_macro_assembler_x86.cc",
      "new_id": "3c8844723dcab7851eb4634a6591a927e0bc316d",
      "new_mode": 33188,
      "new_path": "compiler/utils/x86/jni_macro_assembler_x86.cc"
    },
    {
      "type": "modify",
      "old_id": "448a7f4abd9055a45b1eb2943eed2ba5e648faac",
      "old_mode": 33188,
      "old_path": "compiler/utils/x86/jni_macro_assembler_x86.h",
      "new_id": "1f9355a69be98b42a3af4252ecf3d7720158922c",
      "new_mode": 33188,
      "new_path": "compiler/utils/x86/jni_macro_assembler_x86.h"
    },
    {
      "type": "modify",
      "old_id": "b5e17d16bc711151a374f08e4775a4ed015ed8fa",
      "old_mode": 33188,
      "old_path": "compiler/utils/x86_64/jni_macro_assembler_x86_64.cc",
      "new_id": "d9f05dfe8b12eedc1f0191d1ce3a82242d104e93",
      "new_mode": 33188,
      "new_path": "compiler/utils/x86_64/jni_macro_assembler_x86_64.cc"
    },
    {
      "type": "modify",
      "old_id": "a5f7bbb05fbbf96b3cd7dff14149adfedb1c9ec5",
      "old_mode": 33188,
      "old_path": "compiler/utils/x86_64/jni_macro_assembler_x86_64.h",
      "new_id": "f1ec74fe736ae759d4ae78389de56733f36e45c7",
      "new_mode": 33188,
      "new_path": "compiler/utils/x86_64/jni_macro_assembler_x86_64.h"
    },
    {
      "type": "modify",
      "old_id": "2263873ff241b793df005c7a9dcf7473075b7cdb",
      "old_mode": 33188,
      "old_path": "runtime/arch/arm/jni_frame_arm.h",
      "new_id": "8c56af18d11f183c4dfbb743aa4737ec9e808e14",
      "new_mode": 33188,
      "new_path": "runtime/arch/arm/jni_frame_arm.h"
    },
    {
      "type": "modify",
      "old_id": "17e7434af368f666b279d325f8cfd215d6fb16d5",
      "old_mode": 33188,
      "old_path": "runtime/arch/arm64/jni_frame_arm64.h",
      "new_id": "9f691d06f246bfc5e88a3b1723e4e4caa85ab8e7",
      "new_mode": 33188,
      "new_path": "runtime/arch/arm64/jni_frame_arm64.h"
    },
    {
      "type": "modify",
      "old_id": "d41a2763256a7ba8fa17e69affe0e84dc79c8fb7",
      "old_mode": 33188,
      "old_path": "runtime/entrypoints/quick/quick_entrypoints.h",
      "new_id": "3f7c2302f245837f0317ef7c4d683211436305f2",
      "new_mode": 33188,
      "new_path": "runtime/entrypoints/quick/quick_entrypoints.h"
    },
    {
      "type": "modify",
      "old_id": "78e4dbc13100f1735a672e62455e7b082beb1885",
      "old_mode": 33188,
      "old_path": "runtime/entrypoints/quick/quick_entrypoints_list.h",
      "new_id": "5deb55752fd33150a43016c2138b5d025549feeb",
      "new_mode": 33188,
      "new_path": "runtime/entrypoints/quick/quick_entrypoints_list.h"
    },
    {
      "type": "modify",
      "old_id": "3ac7ecae73ac0924c301bd9f9e641f180c22ad6b",
      "old_mode": 33188,
      "old_path": "runtime/entrypoints/quick/quick_jni_entrypoints.cc",
      "new_id": "d09e21dbdfa9af8c65fa5f0c3760337d3445722b",
      "new_mode": 33188,
      "new_path": "runtime/entrypoints/quick/quick_jni_entrypoints.cc"
    },
    {
      "type": "modify",
      "old_id": "dad2ff17c311fe2f416f11ea255b85e132c24333",
      "old_mode": 33188,
      "old_path": "runtime/entrypoints/quick/quick_trampoline_entrypoints.cc",
      "new_id": "3279f7d7383b927e55548d44c22fa9a6cd9c5773",
      "new_mode": 33188,
      "new_path": "runtime/entrypoints/quick/quick_trampoline_entrypoints.cc"
    },
    {
      "type": "modify",
      "old_id": "6e46c2474428b37697630fc22a110a7781625e90",
      "old_mode": 33188,
      "old_path": "runtime/jni/jni_env_ext.cc",
      "new_id": "4b77145aa6d009bd4272f4bd83dbe9d2abe5ebed",
      "new_mode": 33188,
      "new_path": "runtime/jni/jni_env_ext.cc"
    },
    {
      "type": "modify",
      "old_id": "2fae8d286d11585f14ca46240105671f7d33146c",
      "old_mode": 33188,
      "old_path": "runtime/jni/jni_env_ext.h",
      "new_id": "4abb454187dadb0bbf331f3525059dfe57ebb5bc",
      "new_mode": 33188,
      "new_path": "runtime/jni/jni_env_ext.h"
    },
    {
      "type": "modify",
      "old_id": "88af8ee25e41a75e726ac9e18d358186702f463d",
      "old_mode": 33188,
      "old_path": "runtime/oat.h",
      "new_id": "95eb0e14ed0d4c2faa6fb2fd5e70be2c38a89a4a",
      "new_mode": 33188,
      "new_path": "runtime/oat.h"
    }
  ]
}
