)]}'
{
  "log": [
    {
      "commit": "d726cb1f9c607fc2f640ec595286cadd155af68e",
      "tree": "0242b98413e81ad06591a160099e58185dad83df",
      "parents": [
        "145f96954680bd24f2c8bbc63b9e199343ba0401"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 21 17:20:14 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 22 09:44:00 2021 +0000"
      },
      "message": "Fix missing suspend check in nterp for goto32 +0\n\nTest: 830-goto-zero\nBug: 200660605\nChange-Id: I2267fa3d2842cc84e2e5b3ee8cf04989cd423a50\n"
    },
    {
      "commit": "39e2979b92c25fc825944bda346216395d326395",
      "tree": "76ebdb27bce5ab57139b3e805f2f9119eda068f2",
      "parents": [
        "816b0da3ef7a2fffeda087917353646b3d48fd62"
      ],
      "author": {
        "name": "Usama Arif",
        "email": "usama.arif@linaro.org",
        "time": "Fri Nov 15 10:53:29 2019 +0000"
      },
      "committer": {
        "name": "Joel Goddard",
        "email": "joel.goddard@linaro.org",
        "time": "Mon Sep 20 15:13:57 2021 +0100"
      },
      "message": "ARM64: FP16 min and max intrinsic for ARMv8\n\nThis CL implements intrinsics for min and max method with\nARMv8.2 FP16 instructions.\n\nAlso refactors the location builders for FP16 Compare\noperations to use new helper FP16ComparisonLocations.\n\nThe performance improvements using timeMinFP16 FP16Intrinsic\nmicro intrinsic benchmark on pixel4:\n- Java implementation libcore.util.FP16.min:\n    - big cluster only: 935\n    - little cluster only: 2373\n- arm64 min Intrinisic implementation:\n    - big cluster only: 495 (~47% faster)\n    - little cluster only: 1521 (~36% faster)\n\nThe performance improvements using timeMaxFP16 FP16Intrinsic\nmicro intrinsic benchmark on pixel4:\n- Java implementation libcore.util.FP16.max():\n    - big cluster only: 1067\n    - little cluster only: 2383\n- arm64 max Intrinisic implementation:\n    - big cluster only: 496 (~53% faster)\n    - little cluster only: 1508 (~37% faster)\n\nTest: 580-checker-fp16\nTest: art/test/testrunner/run_build_test_target.py -j80 art-test-javac\nChange-Id: I6ecbc96ef7fa7fcb67f5855de3a6f551c247566e\n"
    },
    {
      "commit": "236f7bf20509e82e33404932689ef4feaf73e762",
      "tree": "92332d9af7c7149e82ba9e555a490857dce015fe",
      "parents": [
        "073885cca8f9c52cc11629f9933ef97b6686bcfa"
      ],
      "author": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Wed Sep 15 17:36:39 2021 +0100"
      },
      "committer": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Sun Sep 19 14:46:19 2021 +0000"
      },
      "message": "OpenJDK 11: replace Thread#init() with constructors\n\nUpdate expected stack trace for UnstartedRuntime tests as\njava.lang.Thread was refactored from using internal init() function to\nconstructors.\n\nBug: 199751232\nTest: art/test.py --host -g\nChange-Id: I4973457cce96ab2e8684198c486e70a63fd24ddb\n"
    },
    {
      "commit": "b05bf89967e904fcde3da871704b0bed3a012958",
      "tree": "b535087be5ce6c080803c358c33f7ed8134484ea",
      "parents": [
        "d8c0ac264f606bf0c69781388ca6048eb0a4b55f"
      ],
      "author": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Mon Sep 06 23:48:36 2021 +0100"
      },
      "committer": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Tue Sep 07 14:22:49 2021 +0000"
      },
      "message": "OpenJDK 11: Move math classes from sun.misc.* to jdk.internal.math\n\nThis is part of merging upstream changes from OpenJDK 11.28. This CL\nupdates tests for FloatingDecimal that was moved from sun.misc to\njdk.internal.math.\n\nBug: 199067710\nTest: m droid\nChange-Id: Ic5d0888029fbdd0e4b3605fa8a99f7f674d204a1\n"
    },
    {
      "commit": "ecbdc07474cf8be4837f40a12a5b6b82579df99a",
      "tree": "f09293f8d14dc4ee655710d21fbd305d14b97805",
      "parents": [
        "3676b36e832961426b285ec6a58e2b4c5a4b7816"
      ],
      "author": {
        "name": "Usama Arif",
        "email": "usama.arif@linaro.org",
        "time": "Wed Nov 13 13:32:54 2019 +0000"
      },
      "committer": {
        "name": "Joel Goddard",
        "email": "joel.goddard@linaro.org",
        "time": "Fri Sep 03 15:29:45 2021 +0100"
      },
      "message": "ARM64: FP16.compare() intrinsic for ARMv8\n\nThis CL implements an intrinsic for compare() method with\nARMv8.2 FP16 instructions.\n\nThe performance improvements using timeCompareFP16 FP16Intrinsic\nmicro intrinsic benchmark on pixel4:\n- Java implementation libcore.util.FP16.compare:\n    - big cluster only: 742\n    - little cluster only: 2286\n- arm64 compare Intrinisic implementation:\n    - big cluster only: 492 (~34% faster)\n    - little cluster only: 1535 (~33% faster)\nThe benchmark can be found in the following patch:\nhttps://android-review.linaro.org/c/linaro/art-testing/+/21039\n\nAuthors: Usama Arif, Edward Pickup, Joel Goddard\n\nTest: 580-checker-fp16\nTest: art/test/testrunner/run_build_test_target.py -j80 art-test-javac\n\nChange-Id: Idbe9f56f964f044e6d725bd696459fb04d2ac76c\n"
    },
    {
      "commit": "611d71c6710613a69698a80d60de9725a513703d",
      "tree": "080fec2740d793fc8cf61a5607c31ed51cec1b97",
      "parents": [
        "98f01d1deac3a938e49f0725c58798e38ef59277"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Aug 27 17:00:10 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Aug 31 18:00:18 2021 +0000"
      },
      "message": "Fix a few non-inclusive terms\n\nLargely based on go/hiddenapi-list-renaming\n\nBug: 161336379\nTest: TH\nChange-Id: Iaa06eed26ab0cb9bb4e2995a148f3251386ad33d\n"
    },
    {
      "commit": "a6f8a6a7a1e4e639b393261fc46abe046cd59b63",
      "tree": "910fbc17a780b894cb116aee0200369941469183",
      "parents": [
        "244f22bf574f8c1656e668e77e4636f442d1a214"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 21 12:29:04 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 22 09:35:51 2021 +0000"
      },
      "message": "Initialize intrinsics for UnstartedRuntimeTest.\n\nThis is needed for implementing Java Atomic* classes\nwith `VarHandle` as two of the unstarted runtime tests\nshall then exercise code paths with invoke-polymorphic\nwhere we need to know the intrinsic for dispatch.\n\nTest: m test-art-host-gtest\nBug: 188889082\nChange-Id: Idf01066af68edb2db0be8954a4440d53e95ecbc8\n"
    },
    {
      "commit": "4f990714b13e0b4446305a5411648a1a9ae42a7a",
      "tree": "4568386e3e6f3c98c819851f6573e2c7cbc184fb",
      "parents": [
        "7744b69abf073101b09b9043f0f0eb109768fcfe"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 14 12:45:13 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 14 15:18:36 2021 +0000"
      },
      "message": "Modernize typedefs with `using`.\n\nReplace many occurences of `typedef` with `using`. For now,\ndo not update typedefs for function types and aligned types\nand do not touch some parts such as jvmti or dmtracedump.\n\nTest: m\nChange-Id: Ie97ecbc5abf7e7109ef4b01f208752e2dc26c36d\n"
    },
    {
      "commit": "47349d2d27b9ee57896e03841032a3057fc9d838",
      "tree": "ca2f9a616d6668f797a933778bc3bcdfd14907d9",
      "parents": [
        "85430bb410c432ac40d950cfa494b0f9cc4f33ac"
      ],
      "author": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Wed Jun 16 13:45:49 2021 +0000"
      },
      "committer": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Tue Jul 13 14:30:10 2021 +0000"
      },
      "message": "Adding unstarted JNI implementation needed by VarHandle\n\nThe creation of a FieldVarHandle depends on Field.getArtField() and\nField.getNameInternal() which are native methods. As\nAtomicInteger (and other java.util.concurrent.atomic classes) are\ngoing to use VarHandle, these methods need to be available in\nunstarted non-transaction runtime.\n\nThis change adds these methods to unstarted runtime.\n\nTest: m\nBug: 188889082\nChange-Id: I7d9a05aef1bbad05594b9bb326a741cf1485b744\n"
    },
    {
      "commit": "e4f983c808b0b7d2d9c39f34f67971bba1354b08",
      "tree": "80dd518ac4e7ea00670f2ebdb70efbe8b1f577cd",
      "parents": [
        "5f2f289b64f163e491b9b53364ce04874f82b4e3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 12 15:53:27 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 13 12:14:13 2021 +0000"
      },
      "message": "Remove mterp.\n\nTest: test.py\nChange-Id: Id800bcf86965ab19cf1e79ecbfa8996a6a6c335e\n"
    },
    {
      "commit": "24c080f628e7df51460332374f4ebcae2762d155",
      "tree": "cbb0231518ce4afc94310b13edb1b87e5f14600b",
      "parents": [
        "4dc6589f392d46800a3b64625245bdfe4bbbfc2f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jul 06 14:04:30 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 07 08:01:57 2021 +0000"
      },
      "message": "Remove locking from `Transaction`.\n\nMulti-threaded execution of transaction has never been fully\nsupported, so remove the unnecessary locking as it is pure\noverhead. (And implementing it would require a lot of effort\non transactions interfering with each other.)\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 181943478\nChange-Id: Ibdbc335738d34ea1398f50f0cc763f3b3f5838b9\n"
    },
    {
      "commit": "f5958f8881e299c42ac923e4751f8f34d72db7f0",
      "tree": "db15e90ad9152c5cbd9515209841c7e71764a67f",
      "parents": [
        "1282f3805b1b6f50761f3e136d569e85dbda7090"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 02 14:48:14 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 24 07:54:05 2021 +0000"
      },
      "message": "Add x86 implementation for nterp.\n\nBug: 112676029\nTest: test.py, run-libcore-tests, run-libjdwp-tests\nChange-Id: I06bd2c9dde6834f371f042fadda2ced23e02b7ed\n"
    },
    {
      "commit": "ecaf7d1657d8e92697775d3979ff42c59e5cfc89",
      "tree": "e6bd3743161e513234b08cecf78531e2fe6ec372",
      "parents": [
        "7f21ebe84b726081874cd2bd3fc8dd1ea39aa2d8"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Mon Jun 14 11:09:21 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 15 16:17:49 2021 +0000"
      },
      "message": "Fix double close in dex2oat when BCP is passed as FDs\n\nBug: 191052821\nTest: Modify odrefresh to pass BCP as FDs to dex2oat. Run w/ --force-compile.\n      # With thix fix, no longer seeing \"fdsan: double-close of file\n      descriptor 24 detected\"\n\nChange-Id: Iac09b06c8e7aa93114896632cdea6c610662455b\n"
    },
    {
      "commit": "a09d8b7d4cb6f35f12f2bd2ed4e04a0eb129eeea",
      "tree": "79587d30dda7acb00545333067596dfcfa11bdb6",
      "parents": [
        "e300c4e4eabe3388b730efe35561e54f1c306710"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Mon May 24 14:21:55 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 10 15:22:02 2021 +0000"
      },
      "message": "Add runtime option -Xbootclasspathfds: for pre-opened fds\n\nThe new option allows the client to pass a pre-opened fds to the\nruntime. The number of elements must match the number of BCP jars\nspecified in -Xbootclasspath. An fd of negative number is a valid\noption, in such case the runtime will still open the jar in the\ncorresponding path in -Xbootclasspath.\n\nExample: -Xbootclasspathfds:10:11:-1:12\n\nThe option is currently only used in \"unstarted runtime\", but will also\nbe used elsewhere in the follow-up changes.\n\nBug: 187327262\nTest: patch odrefresh to use the option, no longer seeing such openat(2)\nTest: m test-art-host-gtest\n\nChange-Id: I1bebbd80136419c03ac1309a8cb8229a0fd69838\n"
    },
    {
      "commit": "e8efdaa09b7ff36d5a986f0320f29ac4a7563896",
      "tree": "5066cecab43006a7bf23f793aa911f74559c8017",
      "parents": [
        "ae553e0e1b26d95006aa27df4675104bfb55d49d"
      ],
      "author": {
        "name": "Christian Wailes",
        "email": "chriswailes@google.com",
        "time": "Wed May 26 17:33:54 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 27 19:28:16 2021 +0000"
      },
      "message": "Revert \"Remove stack protector from some interpreter functions\"\n\nA performance regression was noticed in go/lem banchmarks for ART.  This\nis likely caused by the no_stack_protector attribute preventing inlining\ninto hot functions.\n\nReason for revert: performance regression\nReverted Changes:\nIe0c81f97f:Remove stack protector from some interpreter funct...\nIaf565a374:Reset stack guard after fork from Zygote\n\nBug: 168258494\nChange-Id: I018d58759c3a5bb624ea8e7fe09b6b49c9b19b6a\n"
    },
    {
      "commit": "abe7c69edb5ff8f9a4b8019d475caa2f35085aa7",
      "tree": "d8d86bf8c2264897eb9f7cf35be7c523f611688e",
      "parents": [
        "571a6bea24452e9b288106f379c7510c380a7f61"
      ],
      "author": {
        "name": "Chris Wailes",
        "email": "chriswailes@google.com",
        "time": "Wed May 12 17:16:50 2021 -0700"
      },
      "committer": {
        "name": "Christian Wailes",
        "email": "chriswailes@google.com",
        "time": "Tue May 25 17:47:38 2021 +0000"
      },
      "message": "Remove stack protector from some interpreter functions\n\nThis CL removes stack protection from several functions in the\ninterpreter to allow us to re-set the stack protector cookie when new\nprocesses fork from any of the zygotes.\n\nTest: boot\nTest: atest KeyboardVisibilityControlTest\nBug: 168258494\nChange-Id: Ie0c81f97fedfcdde7afc1b6b4befa65524724194\n"
    },
    {
      "commit": "3606cc69f5975d7ae81044a51706a6896d148781",
      "tree": "6cb682d7bb8ec086c43caf873b3c854181806be9",
      "parents": [
        "0da7dfc71506d1f6bfa93f0c5fdb33df49dea0e7"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 13 10:29:22 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 13 14:25:56 2021 +0000"
      },
      "message": "Do not try to do OSR in transactional interpreter.\n\nTest: testrunner.py --host --optimizing --jit\nBug: 175869411\nBug: 181943478\nChange-Id: I005c532c23d34c16a8b6bd2f7dd464f9ef2a2b75\n"
    },
    {
      "commit": "61c624239ced1203d1c77cbeb5a57f9ad2c5c73d",
      "tree": "63e392ba73e02ddb7fb8fc73ca87bf47d6452332",
      "parents": [
        "1dab575cd635706f03d510763cb4ea1b115a2cee"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Apr 27 16:22:48 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Apr 28 10:44:11 2021 +0000"
      },
      "message": "Remove RETURN_VOID_NO_BARRIER byte-code.\n\nUnused and obsolete quickened byte-code.\n\nBug: 170086509\nTest: test.py -b --host --64\nChange-Id: I1e917c189da7bf64418412522676dc6b081d5c0b\n"
    },
    {
      "commit": "33022905107f22aeb26b9bd04e3cc896a7772c3b",
      "tree": "8e3371c8d5796ca32e2fcdae73b8afc9104a8e17",
      "parents": [
        "738060c9c5e3c58bf5270fd03361183163c4fc1d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Apr 12 16:17:00 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 13 08:10:38 2021 +0000"
      },
      "message": "Switch mterp to python3.\n\nTest: buildbot-build.sh --target\nChange-Id: I887caf29b109457c4fdef267d468dedebd9f7430\n"
    },
    {
      "commit": "0685b981042acb57355e6742cf0ab18fbcfc4e25",
      "tree": "b9af226c72e2f173943c96c95a04349fe63134bb",
      "parents": [
        "579db19af4f718c1aac5ca95c180a70c5114c6bd"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 25 11:59:22 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 30 14:39:19 2021 +0000"
      },
      "message": "Abort transaction when Class.forName() fails.\n\nAnd update VmClassLoader.findLoadedClass implementation in\nUnstartedRuntime which has erroneously diverged since\n    https://android-review.googlesource.com/145075 .\nAlso prevent transactional interpreter from transfering\ncontrol to a catch handler for aborted transactions.\n\nAlso clean up Transaction::kAbortExceptionDescriptor naming\nand some unused parameters.\n\nTest: TransactionTest.CatchClassForNameAbortClass\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: Ibfc544283f5434efbaab238d11a6152ed2578050\n"
    },
    {
      "commit": "c5cd58914325c7fcfd89b1a5bf4daa475c2d83ef",
      "tree": "847a50eaa8331baf617f0fc3161cf36b7fc28680",
      "parents": [
        "b3f5c5008770d22a24db6a66bf97bd5a9d32b4ff"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 23 08:09:15 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat Mar 27 13:19:58 2021 +0000"
      },
      "message": "Remove QUICK bytecodes.\n\nRemove the deprecated unofficial (not part of the spec) bytecodes.\nThis frees the 16 bytecodes for future use.\n\nBug: 170086509\nTest: m test-art-host-gtest\nTest: test.py -r -b --host\nChange-Id: I9f6d8a2c21b88f883c8fdc1eb67b24620f313d56\n"
    },
    {
      "commit": "ec7b19485ba4af8b0fd0804389c470b556322d13",
      "tree": "7a67a529921b0bc39d7eed82fb6103dfbb390cc5",
      "parents": [
        "25e60fc34a1a746c377c80cf36284cd60d4204c8"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Mar 24 15:46:11 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 25 01:56:20 2021 +0000"
      },
      "message": "Fix UnstartedRunime leaking local reference.\n\nAnd assert that class initialization in CompilerDriver\ndoes not leave any local references alive.\n\nTest: m test-art-host-gtest\nChange-Id: Icd6a141da340d21d0103308a9e056009eb86f485\n"
    },
    {
      "commit": "43c9cd7938a53265ea9899a604b409ce070cc2c5",
      "tree": "db084fcc115d6a68de25662bf1a5fae030bcf152",
      "parents": [
        "443fc8962db219177c34cd047d2071b5ee775468"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 10 15:09:19 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 24 16:47:38 2021 +0000"
      },
      "message": "Improve nterp -\u003e compiled code transitions.\n\nUse an unused bit in the access flags of an ArtMethod (0x00200000) to store\nthe information a method only takes ints or references and returns an\nint, a reference, or a long. This avoids the need to fetch the shorty in nterp\nwhen doing a call.\n\nTest: test.py\nTest: 821-many-args\nBug: 112676029\n\nChange-Id: Ie657ccf69c17c1097dc2a97f18e3093ef3be391b\n"
    },
    {
      "commit": "40cd07c3e6717b28c0137e8d72a067a9f8663ec6",
      "tree": "45cced150c54d6798805882c10607f11b1be9b36",
      "parents": [
        "4924ea9ad98832f0ec7db841defca82331ee1b13"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 15 18:33:23 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 23 15:31:45 2021 +0000"
      },
      "message": "Add a fast path for nterp entrypoint to avoid fetching the shorty.\n\nWhen all parameters are references, we don\u0027t need to look at the shorty.\nUse the 0x00100000 flag in the modifiers which is free for non-native\nmethods.\n\nTest: test.py\nBug: 112676029\nChange-Id: Ied9a253f7f7230045dd13188a5b806fb1d6d019d\n"
    },
    {
      "commit": "dfe55446a5298f5563a53846310d54fef4e6051a",
      "tree": "555c708e676f35879691ff7c6faaa0149f40394d",
      "parents": [
        "98aa748731f0954b1e660c52b2f77fec1367a62b"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Mar 18 11:46:27 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat Mar 20 20:33:45 2021 +0000"
      },
      "message": "Remove quickened bytecode support from interpreters.\n\nWe no longer generate them, so mark them as unused.\n\nBug: 170086509\nTest: m test-art-host-gtest\nTest: test.py -r -b --host\nChange-Id: I71f81e5923f745b8f6efa80db16e978635ed65c4\n"
    },
    {
      "commit": "98fa40a492c85fad5f4f60d2904a1451ee35d543",
      "tree": "9a8f7bc73a8acac01953c3e83d709b3f9d55e775",
      "parents": [
        "a2e2eb187e0355314e59608dc204f68571e14069"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 15 14:04:43 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Mar 17 10:25:17 2021 +0000"
      },
      "message": "nterp/arm64: Clean up branch PC calculation.\n\nFuse two instructions into one. The new calculation is also\ntechnically more correct, even though we should never see\nbranch offsets over 2^30 where the result would differ.\n\nTest: testrunner.py --target --64 --interpreter\nBug: 112676029\nChange-Id: Ib6db93ad90ee1b4bcb68839c64ded9dca101352e\n"
    },
    {
      "commit": "14a814bd94b7502dc2699a99cea0b7c07f184743",
      "tree": "c17f1a59fcd54a430f2d39b2801c8702c43f5242",
      "parents": [
        "aded139c23d67181c4df6f6dd08663461b106ba3"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 12 13:33:29 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Mar 15 17:35:43 2021 +0000"
      },
      "message": "Enclose nterp helper code in symbol.\n\nWe need a symbol to describe the code in backtraces.\n\nBug: 163783132\nTest: test.py -r -b --host -t 137-cfi\nChange-Id: I2920e24fcac36edcfc28d56a9e976d85d1ecf691\n"
    },
    {
      "commit": "5c7cddf60940727748fb02fa1d884c1ba2ffd1fd",
      "tree": "c2a20989eb4b6a566d23477dc6046a37d9587c23",
      "parents": [
        "4dd1bf43e0bd1a3583683626230796ce3c77a367"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 08 20:06:58 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 10 09:20:30 2021 +0000"
      },
      "message": "Fast path for some calls in nterp.\n\nWhen we call into compiled code and:\n- the method is static and has \u003c\u003d 1 argument, or the method\n  is instance and has \u003c\u003d 2 arguments,\n- the instruction following the call is not move-result or\n  move-result-wide\n\nAvoid fetching the shorty.\n\nOptimization suggested by vmarko@\n\nTest: test.py\nBug: 112676029\nChange-Id: If0cab86948df28490d77b2a9c441b4d6880dfacd\n"
    },
    {
      "commit": "113d6ea4c5182bac718a0350e858b420d1bac9e2",
      "tree": "9189f60176478265c9bbc888d72e35fcb29c96da",
      "parents": [
        "bc1748f825aed2a59a9bfbb087ab6e29e875d2d1"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 02 22:49:46 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 09 15:00:30 2021 +0000"
      },
      "message": "Move code size from OatQuickMethodHeader to CodeInfo.\n\nThis saves 0.5% of oat file size.\n(0.8% saving from this CL minus 0.3% due to go/aog/1614482)\n\nBug: 123510633\nTest: m dump-oat\nTest: m test-art-host-gtest\nTest: ./art/test.py -b -r --host\nChange-Id: I035b54a47b300a5808aa8c2992f87eae009fd245\n"
    },
    {
      "commit": "b9b7d91f5ceb0b738e1774992fd6fe205c6091e9",
      "tree": "06210044d3f66a0eb72e491ba9effc13bb827ced",
      "parents": [
        "4c3ade67c470543562a0029e39b576954a807321"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Feb 24 09:24:47 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 25 12:12:16 2021 +0000"
      },
      "message": "Revert \"Lazily allocate DexCache arrays.\"\n\nThis reverts commit 1214319d27e7fb4c4ff00b39799df6f15288098a.\n\nReason for revert: Post-submit fails\nBug: b/181097963\nTest: TH\n\nChange-Id: I9fd21140f1703d0020458b786f48bd39889a9948\n"
    },
    {
      "commit": "1214319d27e7fb4c4ff00b39799df6f15288098a",
      "tree": "8708943822a634322bd9790c4d008210e44b3ddb",
      "parents": [
        "b7cb691fb8da124e8a6276a5a7fee47dd0aaa338"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Feb 16 14:06:31 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Feb 23 15:24:27 2021 +0000"
      },
      "message": "Lazily allocate DexCache arrays.\n\nWe rarely need the DexCache for compiled code.\nDelay the allocation in hope we never need it.\n\nThis reduces DexCache memory usage by ~25% at startup.\n\nTest: m test-art-host-gtest\nTest: test.py -r -b --host\nChange-Id: I680a59c905c2b821ee954e4b32abd5d24876bd11\n"
    },
    {
      "commit": "5de5efef38f52f248d1e1c88fdcf3d211aabe712",
      "tree": "fb991b4dbee4d9afecad141bc75dab14893633a1",
      "parents": [
        "18af6447e5963265f6e7e61d6630064f66891f94"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Feb 15 21:23:00 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 18 16:51:21 2021 +0000"
      },
      "message": "Remove pointer-size arguments from DexCache.\n\nThe DexCache is always allocated at runtime now and thus\nit always has runtime pointer-size. Remove the dead code.\n\nTest: m test-art-host-gtest\nChange-Id: Ic21dc20649e1fd70f8981602d75b5690065aec20\n"
    },
    {
      "commit": "745da80dbf169d83e2acb847b0c9c07985d51bdf",
      "tree": "a01990e419ee49fe255a6df108027a89b568975a",
      "parents": [
        "16f7f8e384f0ae13c53525ff12affbc00605b0ec"
      ],
      "author": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Wed Jan 20 21:52:54 2021 +0000"
      },
      "committer": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Wed Feb 10 12:33:48 2021 +0000"
      },
      "message": "Add Math.multiplyHigh intrinsic\n\nTest: ./art/test/testrunner/testrunner.py --target  --optimizing --64 -t 082-inline-execute\nTest: ./art/test/testrunner/testrunner.py --host --optimizing --64 -t 082-inline-execute\nChange-Id: I4b6cafa8b9e513eca7c5c139440024d87a7ef758\n"
    },
    {
      "commit": "ac27ac01490f53f9e2413dc9b66fbb2880904c96",
      "tree": "271018e1ef33667bee8d57c40ffa3f4d9f8cf930",
      "parents": [
        "26bf47a60064fcc42e1b5e7b4b41deb8312d7330"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 01 09:31:02 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 05 10:48:17 2021 +0000"
      },
      "message": "Implement Reference.refersTo() intrinsic.\n\nTest: Added tests to 122-npe and 160-read-barrier-stress\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing\nBug: 172573708\nChange-Id: I8342510565289058df218d3249ffac1eb993ca4f\n"
    },
    {
      "commit": "35a37200c6819015a5a66ec0bfdfb9d6ab3f2e0e",
      "tree": "0c0a2eb79b258bc9d024ab6d682320f9ee6d1d77",
      "parents": [
        "3a1ca400758302f44a95ae8255ca7c012d651d73"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 29 17:53:32 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 01 09:57:26 2021 +0000"
      },
      "message": "Reland \"Remove obsolete code in the verifier.\"\n\nThis reverts commit 7572e76a368e56da139648a5f2e0a92b25a581e2.\n\nBug: 176960283\nBug: 178731135\n\nReason for revert: Fixed access checks of mterp on array allocations\n\nChange-Id: I5c2e321e392714bb6921f3b02e32a79ebfd4e22a\n"
    },
    {
      "commit": "c39af9409ed4c8dd711be606f758a9b378cd0ee3",
      "tree": "43f8cc23a07a41fb8fc03be77a15fa203e27194d",
      "parents": [
        "3a73ffb70151dbc99fa41f300a237f8c29783e0e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 25 08:43:57 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 27 08:29:40 2021 +0000"
      },
      "message": "Add a nterp trampoline in the oat file, replaced at runtime.\n\nTo avoid checking whether an ArtMethod can run nterp when loading an\nimage, record that information directly in the image, and patch the\nentrypoint so nterp can do direct pointer checks when calling an\nArtMethod.\n\nTest: test.py\nBug: 177444058\nChange-Id: Ia87367c37848e1efe33336b3677490c07d7e1767\n"
    },
    {
      "commit": "e585964df42e9fd2fab6f209810cb03e1b261ab1",
      "tree": "35edc923e92389e4fcb0518289aacb72339f1247",
      "parents": [
        "1bcd7cd823826e95827ea2d666291f56fcccb368"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 08 18:09:36 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 25 09:22:46 2021 +0000"
      },
      "message": "When entering nterp, take a fast path for instance calls with 1 argument.\n\nSuch methods only take \u0027this\u0027 as an argument and we don\u0027t need to fetch\nthe shorty.\n\nWe can make this optimization when doing nterp-\u003ecompiled as a follow-up,\nby checking that the next instruction after the invoke is not\nmove-result(-wide).\n\nTest: test.py\nBug: 112676029\nChange-Id: Ibc7b4d4ca1c636f4ad6572484e0990ccdbd63293\n"
    },
    {
      "commit": "d5a8695394f8f6e8f9a66752441623dc31b97660",
      "tree": "591ac4892304365282a57262c91e1945ac94c6a9",
      "parents": [
        "2fb37411e42455a00fdad90f0e612c3214e5bd1a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 19 10:35:54 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 21 14:07:57 2021 +0000"
      },
      "message": "Reland \"Improve invokeinterface for nterp.\"\n\nThis reverts commit f1d06474baa2f7c00761db39099b89ddab71bbe4.\n\nBug: 177554973\nBug: 112676029\n\nTest: test.py\nTest: 815-invokeinterface-default\nTest: enable text-to-speech on device, no crash\n\nReason for revert: Fixed issue with recursive default methods\n\nChange-Id: I2fb9336adb6c4fc920f39aa19bfe7f0a92ce059a\n"
    },
    {
      "commit": "2fb37411e42455a00fdad90f0e612c3214e5bd1a",
      "tree": "dfa5d667c45f2ec5b16875e4362f26fc6676ed33",
      "parents": [
        "2c2724cb36cd5a9cec6c852c681efc3b7c6b86ea"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 20 14:16:24 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 21 08:14:54 2021 +0000"
      },
      "message": "Fix moving GC bugs introduced in latest nterp change.\n\nIn:\nhttps://android-review.googlesource.com/c/platform/art/+/1554054\n\nWe are now loading the value (and sometimes instance) that will be\nstored from a sput/iput opcode. Because the slow path can be suspended,\nwe need to reload that value after calling the runtime.\n\nTest: test.py\nTest: art/test/run-test  --dex2oat-jobs 4 --host --prebuild --compact-dex-level fast --random-profile --no-relocate --gcstress --runtime-option -Xcheck:jni --64  476-checker-ctor-fence-redun-elim\nBug: 177627911\nBug: 79751666\nBug: 112676029\nBug: 176960283\nBug: 177810406\nChange-Id: If45962386d62defe44e52f8b0a38d2f045e0b5ce\n"
    },
    {
      "commit": "6d951ca478be8948fd0cf135accbc948f564c15a",
      "tree": "669bdfb25237c6dd8d2a3060ff5404da1205ccf4",
      "parents": [
        "e3c1ede68006c8c695ff5b7f6383d6aaef49f932"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Jan 19 12:32:27 2021 -0800"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 20 13:56:12 2021 +0000"
      },
      "message": "Use correct modifiers on LDR instructions.\n\nUXTW is not a valid modifier for LDR on 32-bit ARM. Compilers built\nwithout assertions incorrectly accept the modifier, while compilers\nbuilt with assertions crash (see llvm.org/pr48805).\n\nThe intent appears to be to use the LSL modifier (and that is how the\ninstruction is assembled with the no-assertions compiler) so change\nthe code to use it.\n\nChange-Id: Icc0ec955486fe5c78e88604e9d8e3b3a9b4f7b62\n"
    },
    {
      "commit": "808c556b1f4b936b8e9010ed1a6d8313dd862983",
      "tree": "022e9123c589d79233116bae1ad59f4a4319ad14",
      "parents": [
        "caac87ab74fbf5463e58f1addf3f8f5080080b6e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 18 14:19:21 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 19 09:45:45 2021 +0000"
      },
      "message": "Reland \"Refactor code in mterp and nterp to handle all cases of missing class.\"\"\n\nThis reverts commit 748e9564c5334834aee0050533e6f1d24557f8c9.\n\nBug: 177627911\nBug: 79751666\nBug: 112676029\nBug: 176960283\n\nReason for revert: fixed mterp braino\n\nTest: 173, 814\n\nChange-Id: Ic853eb344562be0207ce6e9bfd41d74e795561d7\n"
    },
    {
      "commit": "748e9564c5334834aee0050533e6f1d24557f8c9",
      "tree": "5c481f0c872a81024a24cdca5daf831a40dcab8a",
      "parents": [
        "09e2337f8a971c318c560444912d50b06d723e35"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 14 22:43:34 2021 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jan 15 21:15:19 2021 +0000"
      },
      "message": "Revert \"Refactor code in mterp and nterp to handle all cases of missing class.\"\n\nThis reverts commit 3f2980f1b0fc22f3566e6759141994a8269912ba.\n\nBug: 177627911\nReason for revert: Fixes b/177627911 crash in photos\n\nChange-Id: I614df98b15168d8fe94e09e5db1ab81001018dd2\n"
    },
    {
      "commit": "f1d06474baa2f7c00761db39099b89ddab71bbe4",
      "tree": "9924ce87e34d1058a0d12e963e3a94fbd3d1539d",
      "parents": [
        "4c176b9de6c430422395017910633bcb001b2e84"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 14 23:40:53 2021 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jan 15 00:36:13 2021 +0000"
      },
      "message": "Revert \"Improve invokeinterface for nterp.\"\n\nThis reverts commit c0d392be9172c4c60b3e81b0123489ec3036c401.\n\nBug: 177554973\nReason for revert: Fix crash when enabling \u0027Select to Speak\u0027\n\nChange-Id: If2865cc1dfc11e6bd27ed533da10f53521e3e613\n"
    },
    {
      "commit": "ec389671c661ea1cb73490a2896d6519f299dea2",
      "tree": "29e03b8419409835c15dde59ef8f5ffdc12d1f51",
      "parents": [
        "365f94f828ebd8aa5f55e3a3882f847960ed6bb5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jan 14 10:58:31 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jan 14 17:44:05 2021 +0000"
      },
      "message": "Implement Reference.refersTo() in UnstartedRuntime.\n\nComplement the Reference.get() implementation with the\nReference.refersTo(). This may prevent initialization\nregressions for some classes as we replace Reference.get()\nuses with Reference.refersTo() in the future.\n\nTest: m\nBug: 172573708\nChange-Id: I03b6ba9b06f8da0f38761f21c21ef15e7517c47d\n"
    },
    {
      "commit": "3f2980f1b0fc22f3566e6759141994a8269912ba",
      "tree": "85d72d4efa66f81f725daf324ad7fd54d5f37135",
      "parents": [
        "c26c640db1911d2fcab7c2b4830993bc254011aa"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 12 10:45:06 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 14 08:50:59 2021 +0000"
      },
      "message": "Refactor code in mterp and nterp to handle all cases of missing class.\n\nThis is to handle the case the type of a field is missing, and where we\nonly throw an exception when we assign a non-null value.\n\nBug: 79751666\nBug: 112676029\nBug: 176960283\nTest: test.py\nChange-Id: I9c233f271eea7ae4a8028fb727d5c49c7c45feac\n"
    },
    {
      "commit": "c0d392be9172c4c60b3e81b0123489ec3036c401",
      "tree": "13b77bab3a3a8a1acf26dc02d2ee09bcd3a51c36",
      "parents": [
        "c38d94449a0ccfefd396d2e01b571f3e804d9e48"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 29 20:41:43 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 12 09:39:41 2021 +0000"
      },
      "message": "Improve invokeinterface for nterp.\n\n- Remove bitwise negation of imt_index: the class linker already always\n  initializes the imt_index.\n- Special case the imt index of default methods: to simplify invocation\n  in nterp, mask the method_index to create the imt index.\n- Add arm64, arm, x64 support in nterp.\n\nTest: test.py\nBug: 112676029\nChange-Id: I815a4a4ec5c219921ab4ed1a20b02586aab19a46\n"
    },
    {
      "commit": "83881483515aec1dfaa0c848f1ce876c3f966b43",
      "tree": "01bfa31dbdef146ec88505378e4829f133a5ab91",
      "parents": [
        "7d4a71ee0ecab7bf65086c786fb5358444dd2a8f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jan 07 10:59:54 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jan 11 13:53:33 2021 +0000"
      },
      "message": "Rewrite method matching in UnstartedRuntime.\n\nUse the `ArtMethod*` as the key in the maps to avoid\nthe `PrettyMethod()` overhead.\n\nRemove ByteOrder.isLittleEndian() implementation from\nUnstartedRuntime. The Java method has been removed by\n    https://android-review.googlesource.com/151062 .\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: boots.\nBug: 175869411\nChange-Id: I97cf91a0abf2b28f83562d8764d28edafa1a09e2\n"
    },
    {
      "commit": "fff1d8f9f3881d223f3d068f974da14f3d80de88",
      "tree": "6aed4bd680f0fac601660af750895f8fac3d7e3d",
      "parents": [
        "51a9283984b05511bd98f9bcbd1f2f18900239cc"
      ],
      "author": {
        "name": "liulvping",
        "email": "liulvping@xiaomi.com",
        "time": "Mon Dec 21 09:43:37 2020 +0800"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 22 13:27:22 2020 +0000"
      },
      "message": "Fix incorrect image pointer size for unstarted runtime\n\nIn unstarted runtime, we should use image pointer\nsize from current runtime, not kRuntimePointerSize\nfor invoke method. Because in host dex2oat, the\nkRuntimePointerSize is always k64, and then invoke\nmethod could get a null ArtMethod object in compiling\nboot image for arch 32, such cause a native crash issue.\n\nBug: 176012754\nTest: m test-art-host-gtest-unstarted_runtime_test\n\nSigned-off-by: liulvping \u003cliulvping@xiaomi.com\u003e\nChange-Id: I8ff4cf013cbe94114c38edfdf30ff509a047a761\n"
    },
    {
      "commit": "50bbbf1ae5ee1c22d8f31e5f5dc14eab0258303e",
      "tree": "566cfc9e69d9e543cf652b00d36db214dfb2efe8",
      "parents": [
        "4bf753dc70407589e0f0b5bccb0a88c276488058"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 11 14:07:46 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Dec 16 14:06:19 2020 +0000"
      },
      "message": "arm/nterp: Refactor {i,s}{get,put} operations.\n\nMove the fast-path code to instruction handlers and use\n`add_helper` for slow paths. Do a few small improvements for\ncode reuse and instruction scheduling.\n\nRemove unnecessary `dmb ish` instructions. We do not need\nthe barrier before a volatile load and the arm32 Optimizing\ncode generator does not emit such barrier either. And the\niget-wide opcode also had an odd barrier after setting vregs.\n\nAlso move the code for check-cast, instance-of and\nnew-instance to instruction handlers with no changes\nother than indentation.\n\nAlso update some labels and a comment in arm64 nterp to\nalign with the arm changes.\n\nTest: testrunner.py --target --32 --interpreter --optimizing\nBug: 112676029\nChange-Id: I4133b3d362e1c9610558cba76f067d8923234c62\n"
    },
    {
      "commit": "955f40f336c201a93832081d2070d66a15521fa4",
      "tree": "1f7e09f798cab0930e3cf39ffdb6ea389fa2ae33",
      "parents": [
        "10bb9c5cff67f7fa205187edfb513022423542d1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 03 14:53:29 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 10 14:46:51 2020 +0000"
      },
      "message": "arm64/nterp: Refactor {i,s}{get,put} operations.\n\nMove the fast-path code to instruction handlers and use\n`add_helper` for slow paths. Do a few small improvements\nfor code reuse and instruction scheduling.\n\nAlso move the code for check-cast, instance-of and\nnew-instance to instruction handlers with no changes\nother than indentation.\n\nTest: testrunner.py --target --64 --interpreter\nTest: testrunner.py --target --64 --interpreter --gcstress\nBug: 112676029\nChange-Id: Ife358adb39153d6dbb595ee8072ebcafe364fad4\n"
    },
    {
      "commit": "e8cdb0bb53e42316e8c7379d41a647ca672c4bee",
      "tree": "673a1de6475b31d219f92d6ca9abc1e605ee4eae",
      "parents": [
        "73556f3fcb65a9adc81ddfce076b8e658161ea4d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 02 13:43:46 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 02 17:08:07 2020 +0000"
      },
      "message": "[arm nterp] Fix stack offset when calling range String.\u003cinit\u003e.\n\nThere was a off-by-one error in the stack offset.\n\nBug: 174634082\nTest: 723-string-init-range\nChange-Id: Ibf982642b9b46fa4a44422f5ee5b7af2c3b07204\n"
    },
    {
      "commit": "01ee0f9e9b7852a51d362718080648a0847edaf7",
      "tree": "288955c7f5830d5e1895f1a17207dd32dc1932cd",
      "parents": [
        "74f1b07cb49c2b4dc49b6414b14ae8547a5191e6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 01 08:55:54 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 01 12:13:57 2020 +0000"
      },
      "message": "nterp: only do string.\u003cinit\u003e check on invokedirect.\n\nTest: test.py\nChange-Id: Ifbfdbfd5cbff6ccdeee10ce869e7d6cc54d7f295\n"
    },
    {
      "commit": "dd406c3da681ad716a23890e8a95a82fef26e5b2",
      "tree": "509a0e90cf7a9a301a30eb09dfd42275040a395f",
      "parents": [
        "d6bd107ed83502eb0bbaf66911ab036ecf74612d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Nov 22 22:53:18 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 01 10:00:07 2020 +0000"
      },
      "message": "Add an arm32 port of nterp.\n\nCurrently using arm32, will try thumb once this CL lands to compare\nperformance.\n\nTest: test.py, run-libcore-tests, device boots\nBug: 112676029\n\nChange-Id: I6535e2982a3ceed83eba6664fc8ba8609974bc08\n"
    },
    {
      "commit": "6af553d1f411926acdb96d6fa85fb126b761eada",
      "tree": "1d1e8c39f732d7a44d29ac2d7bc9eb74846b8378",
      "parents": [
        "9705c5dc5a1c8f6df6887bc97232e2dcac1fc499"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 17 13:07:31 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 24 13:16:02 2020 +0000"
      },
      "message": "Fix another typo in nterp.\n\nTest: test.py\nChange-Id: Ib58880b1e462e9c47a7b55663f39fd29894d2c7c\n"
    },
    {
      "commit": "4483d2a4ed7e6c018e304c234484940ec0476039",
      "tree": "fffe451ea356b6961c4734b743e5b7d2c2585565",
      "parents": [
        "52e1b92ca37d7bc850339ea3fb769501ae4f3fa8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 16 09:42:20 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 16 13:29:36 2020 +0000"
      },
      "message": "Fix typo in nterp.\n\nTypo was benign as the logic between the non-range and range variants\nare the same.\n\nTest: test.py\nBug: 112676029\nChange-Id: I67388ea207de7938e5f0a232886475e8b90a54cd\n"
    },
    {
      "commit": "aeb7f9f8fe718219cfb04e0da5df62683250477d",
      "tree": "4507c5ba17ca166302a5c10b25f12080fc635125",
      "parents": [
        "b6837f0350ff66c13582b0e94178dd5ca283ff0a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 11 13:39:18 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 13 14:15:59 2020 +0000"
      },
      "message": "Few cleanups in nterp.\n\n- No need to manually save the ArtMethod, it\u0027s already saved in\nSPILL_ALL_ARGUMENTS\n- Remove unused parameter to SET_VREG_OBJECT\n- Fix comment on common_errArrayIndex\n\nTest: test.py\nBug: 112676029\nChange-Id: I012a2ccac96c175be6107e762c620b7d5eba8f1c\n"
    },
    {
      "commit": "384dae4c7e51c34e1fd047c6f58dde63e08ab6a3",
      "tree": "03303fdae65bbdfe5cab7fe9b2b8a650e7ceb144",
      "parents": [
        "4d23e51e67a419291598af3cb308aadaed1afd62"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 09 10:24:15 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Oct 11 14:41:19 2020 +0000"
      },
      "message": "Support access checks in mterp.\n\nThis is to start not treating access checks failure as soft failures.\n\nTest: test.py\nBug: 112676029\nChange-Id: I9cde52e5a2f6e00450616403ce6d9aa822a8380e\n"
    },
    {
      "commit": "eeff8fc4586b4dd2dd62ba1c1e0d361dd448a88b",
      "tree": "0f23c8d1a5d8592eaf1cd9a7b903732154744212",
      "parents": [
        "fd061070700817add2c15149e4098bab4eb8ccdd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 07 15:29:14 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 09 13:16:11 2020 +0000"
      },
      "message": "Support access checks in nterp.\n\nBug: 112676029\nTest: test.py\nChange-Id: I0b1dcec7984d6ee91e08a86471e32ea05560ce49\n"
    },
    {
      "commit": "8d34a182fea1b24f7b8361b55e930cb953cf3fb2",
      "tree": "4f5ed9d9ac417dfd69fd18f64412b2272c448e05",
      "parents": [
        "8ecbc4e844fc3b73e6a5c5151eda914d53297180"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 16 09:46:58 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 07 08:32:52 2020 +0000"
      },
      "message": "Change interface conflict stub to take the interface method.\n\nTo avoid doing dex cache lookup, pass the interface method instead. This\ncosts a few hundred KBs on speed compiled APKs (\u003c 0.5% code size), but\nimproves performance when hitting a conflict (as seen on dogfood data).\n\nFor nterp, we currently pass the conflict method instead of the\ninterface method. We need to handle default methods before optimizing\nit.\n\nThis removes our last use of dex cache in compiled code. A follow-up CL\nwill remove the NeedsDexCacheOfDeclaringClass from HInvokeInterface.\n\nTest: test.py\n\nChange-Id: I3cdd4543ad7d904b3e81950af46a48a48af6991a\n"
    },
    {
      "commit": "d0d73c69bfd3ad2cbfb2a4b1de8651d87e870ad9",
      "tree": "ab8ea7aeda76c58aa881f460968449499b12ea43",
      "parents": [
        "d5e776c070750161edd4a22e3e72bb004877a41c"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Sep 18 13:50:36 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Sep 29 11:19:41 2020 +0000"
      },
      "message": "Switch-interpreter: Add trivial helpers.\n\nMake further refactoring easier.\n\nTest: ./art/test.py -b -r --host --interpreter --64\nChange-Id: Ib6a7bee314907524910dee4766d4c73a0b85aafc\n"
    },
    {
      "commit": "a3bd4ec050e10fbfb6df0fe024bc6f3851bcc326",
      "tree": "8a373f87b05b3580f564bd8561bf0dd4ebb9161e",
      "parents": [
        "b0f405e1482df602fc57ee2ed4434456c4dc2555"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Aug 27 16:26:17 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 25 09:16:33 2020 +0000"
      },
      "message": "Introduce Long.divideUnsigned() intrinsic on ARM64.\n\nExtends the 082-inline-execute test and reorders\ndivideUnsigned intrinsic code before VarHandle code.\n\nTest: 082-inline-execute.\nTest: testrunner.py --target --optimizing --64\nBug: 156736938\nChange-Id: I8acf3db184da30640aff36cf02570ae0c6d2b88c\n"
    },
    {
      "commit": "e1d2dce0cda2d223ac9c4e48958b9d5810e3e987",
      "tree": "3b9a664710cad714ad2ee1f9fec60908408aa23f",
      "parents": [
        "9dfb1a9d642b9eb627895ef3364736fc839b4fe4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 21 10:06:31 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 23 08:12:33 2020 +0000"
      },
      "message": "Add support for compact dex files in nterp.\n\nTest: test.py\nBug: 112676029\nChange-Id: I604af166dab0647037bf675cabc6ce433053a83c\n"
    },
    {
      "commit": "6a99ae6cced8052550ea3acd8247c98a464c2ebd",
      "tree": "52bf98b113a4ebc7789ef2268d6d10d1e99eea4a",
      "parents": [
        "00381bf2b88a6cb980c2f882c6eb8fdc70ea6168"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Sep 09 14:42:51 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Sep 15 09:41:05 2020 +0000"
      },
      "message": "Switch-interpreter: Inline several trivial methods.\n\nAfter several rounds of clean-up, it turns out that many of the\ntrivial helpers are used only once.\n\nTest: test.py -b -r --host --interpreter\nChange-Id: I5e9e1499d48355e71c61d291272ccbb485367063\n"
    },
    {
      "commit": "12891f9756eb0a6f08564d4c8df21ee1803c5f79",
      "tree": "3ef595129b6576873c941b23d692e0dca01ca661",
      "parents": [
        "6b0b2e711fdb9a1852705318dda2b5139d30f7a5"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Sep 08 16:54:48 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Sep 09 10:25:36 2020 +0000"
      },
      "message": "Switch-interpreter: Small refactoring.\n\nSimplify unnecessarily indented else-blocks.\n\nRemove redundant vreg-clears (the clear is always done as part of set).\n\nInline some expressions (since they easily fit one line now).\n\nTest: ./art/test.py -b -r --host --interpreter\nChange-Id: Ic0aaf142350bd35f3f9fc73b669febcf98a21839\n"
    },
    {
      "commit": "6f0c8b976ac84215129fe7cca0b0ef26d9af0554",
      "tree": "97872cd87c060c8680240610bfab61a757d699cc",
      "parents": [
        "1263402b99713aab1cd18303c41a3f3b17aa1f0f"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Sep 08 15:16:29 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Sep 09 10:20:18 2020 +0000"
      },
      "message": "Switch-interpreter: Rename fields to match ART conventions.\n\nThe names are left-over from times when the file was one\ngiant macro-based method.\n\nTest: test.py -b -r --host --interpreter\nChange-Id: I4f9dcb43b876284136d41e2b054a879e46df539c\n"
    },
    {
      "commit": "4717175e40a19e79af904dfb7b7dd13f046debd7",
      "tree": "426f040eacf5a8305f8bb8d504bd509824d984c8",
      "parents": [
        "1faacf59b9f74e9d2de4e0331ef0cdfcf132225d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Aug 31 15:03:20 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 07 07:29:59 2020 +0000"
      },
      "message": "Move code item to the data pointer and remove code_item_offset.\n\nThis saves 4 bytes on 32bit and 8 bytes on 64bit on ArtMethod.\n\nAlso update nterp to directly fetch the code item from the data pointer.\n\nTest: test.py\nBug: 112676029\n\nChange-Id: Ic01f43c7ccf2cbce1ec517478e81362232d36371\n"
    },
    {
      "commit": "4313ccb65b6d77821b1fb976d76a90f1000adaea",
      "tree": "d083f10b003e4e377927af876aedef3375a464ca",
      "parents": [
        "2ff0cb1d29989f1a92824d225de76037ff31cec4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 26 17:01:15 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Aug 27 13:39:54 2020 +0000"
      },
      "message": "Introduce a kTieredHotnessMask.\n\nTo be used by the baseline compiler for when to trigger optimized\ncompilation. Before we were using the nterp threshold, but there may be\na need to have different ones.\n\nTest: test.py\nBug: 112676029\nChange-Id: I98e97ad8cfa50a6546c927960fad1567263a7354\n"
    },
    {
      "commit": "3d52363c5780f37d6f9bbd8e476f3c360d22b833",
      "tree": "39eee117d5b8782448a952164d55e749631d0eae",
      "parents": [
        "9e5ad47aeae004c45f434301e5bb3cb5ba43755c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 26 15:10:48 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 26 15:56:22 2020 +0000"
      },
      "message": "Change detection of counter overflow in nterp x64.\n\nTo better play with different thresholds (currently changing the counter\nin the source, but soon through command line), \u0027and\u0027 the counter with the\nhotness before comparing to zero.\n\nTest: test.py\nBug: 112676029\nChange-Id: I1f85a3dbd7423b08f69839301465e1ebbcc8d69a\n"
    },
    {
      "commit": "1a277a6e5d5152b4fe4dd5717432ecf8941ec820",
      "tree": "1b7846a0ef94062ce9883a36104f32f829f0a735",
      "parents": [
        "89992b8bbdf2d6d3c3da6a029e184c5d59eb505c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 31 16:07:17 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Aug 03 09:58:44 2020 +0000"
      },
      "message": "Move mterp and switch interpreter to tiered JIT.\n\nThis is an intermediate step to move ProfilingInfo usage only within the\nbaseline compiler.\n\nIt also makes the system consistent with all intepreters now going to\nbaseline compilation before optimized.\n\nBug: 112676029\nTest: test.py\nChange-Id: I8505ca46ede9095683ac3f5f86f0c70335bed633\n"
    },
    {
      "commit": "faf5f3fed7e25b701720b39647911645a27994b4",
      "tree": "d3fcaacc2bfe343a16bae4270e2eb55c638a7940",
      "parents": [
        "60d4abc813b209c309d00ae2334e6a57e1297b28"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 03 18:36:45 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 30 15:08:09 2020 +0000"
      },
      "message": "Fix stack unwinding for nterp on arm64.\n\nThe callee save sizes (160) requires two bytes for uleb128 encoding.\n\nTest: 137-cfi\nBug: 112676029\nChange-Id: Ia5cb5f6622dd527f212ecb97da2c0fa23b7a3ff6\n"
    },
    {
      "commit": "60d4abc813b209c309d00ae2334e6a57e1297b28",
      "tree": "fa6b6b365e12dac727679b36c02216320b403a37",
      "parents": [
        "ab7eccef71be2f88a99e71b240bdd98e34357b7c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 27 13:58:51 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 30 14:17:15 2020 +0000"
      },
      "message": "Reland^2 \"Cover more cases in nterp.\"\n\nThis reverts commit dd5db458831cf74ae5813d2278fbd599145c4522.\n\nBug: 112676029\nBug: 157658616\nBug: 160543640\n\nReason for revert: Fixed missed class initialization.\nTest: wifi tests, run-tests\n\nChange-Id: Ie0a8ae0e92587b5c86203228615534526df640fb\n"
    },
    {
      "commit": "ab7eccef71be2f88a99e71b240bdd98e34357b7c",
      "tree": "9579c320db71ca2a16c58f7134c084618afed5b8",
      "parents": [
        "1525960736d4d8fd6d18195097e45145d2177d2c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 29 13:30:24 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 30 13:48:49 2020 +0000"
      },
      "message": "Disable support for proxy method in nterp.\n\nThey do not fall into the regular baseline JIT path (ie they cannot have\nprofiling info), so just bail on them for now.\n\nTest: 044-proxy, wifi-tests\nBug: 112676029\nBug: 157658616\nBug: 160543640\nChange-Id: I292d85f5d6bfd0edaad1d26e53f85f3780254fd7\n"
    },
    {
      "commit": "5439f051a950f0281eeafb8e8064839f2aea6e38",
      "tree": "889efef779fa462357f77cb2166c600cb0d60679",
      "parents": [
        "483bf78ae61ab43a3d513cef0de0072e86d0b0b1"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Jul 29 10:03:46 2020 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Jul 29 13:58:15 2020 +0000"
      },
      "message": "Revert^3 \"VIXL simulator for ART (Stage1)\"\n\nThis reverts commit e886d68b9c40c941d8966b9c90d0e265c75fb19e.\n\nReason for revert: simulator implemention is not ready yet.\n\nTest: lunch aosp_cf_x86_phone-userdebug \u0026\u0026 m\nTest: art/test.py --run-test --optimizing --host\nChange-Id: I03c8c09ea348205b0238d7a26caef3477cd6ae3b\n"
    },
    {
      "commit": "098faa82913d24a0c71b5debc164ea717fac2b3e",
      "tree": "2610be2974f13b4def0f235b6d7f9fe05208a7dd",
      "parents": [
        "3c359ee6c49d0899934dabd0bb7ee07a1bd85489"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Jul 27 21:25:17 2020 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Jul 28 13:17:59 2020 +0000"
      },
      "message": "Update ResolveMethod argument for invoke-polymorphic\n\nInvoke-type should be kPolymorphic.\n\nBug: 154693569\nTest: art/test.py --host -r\nChange-Id: Ie982d34869f7db1e158eed3e31323d33e45663f3\n"
    },
    {
      "commit": "b8552725fda0bb65fc2100df12d10821f178dc4d",
      "tree": "a425b55aaca296ab4208027d0623ace7a3d22816",
      "parents": [
        "050d17faca4f95befcf625f2d9406ddf50785690"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Jul 27 17:05:26 2020 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Jul 27 19:03:49 2020 +0000"
      },
      "message": "runtime/interpreter:  inclusive language fixes\n\nBased on:\n  https://source.android.com/setup/contribute/respectful-code\n\nBug: 161896447\nBug: 161850439\nBug: 161336379\nTest: m (comment updates only).\nChange-Id: I37233bef946a231f176db82462d41f6f69b9c6de\n"
    },
    {
      "commit": "d1fab543eaec0fdebfcea86f80c2f256594a8075",
      "tree": "93c2fb6474051ffaa9f2434baea0f88911f0c23b",
      "parents": [
        "8ebd86ea2ea9eac96d48db88c65364d56ff3b8ab"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Jul 27 15:07:41 2020 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Jul 27 17:05:42 2020 +0000"
      },
      "message": "A couple of updates for Android\u0027s inclusive language guidance\n\nBased on:\n  https://source.android.com/setup/contribute/respectful-code\n\nBug: 161896447\nBug: 161850439\nBug: 161336379\nTest: Comment updates, no tests.\nChange-Id: I535b0e10b0c4cdb712c17d1fda91461018d5c8f2\n"
    },
    {
      "commit": "aacf977a3b3af644a7e2eb58d8e56a23d1f3d215",
      "tree": "6a595bf88f3124e61c826bcd72520dd406664f1e",
      "parents": [
        "4ef451aecd4008ccee2ebf6136a70ed6a5c14717"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jul 22 21:51:00 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 23 13:18:06 2020 +0000"
      },
      "message": "Reword some comments to be more inclusive\n\nAlso corrects a typo s/He/We/.\n\nBug: 161336379\nBug: 161850439\nBug: 161896447\nTest: m\nChange-Id: Ie8e37310eb777b7ee41a13f8894e99795c29a98a\n"
    },
    {
      "commit": "e886d68b9c40c941d8966b9c90d0e265c75fb19e",
      "tree": "ad78c4e375c95a96e200baa2786e748505ab928b",
      "parents": [
        "f12dd5861e0eaf1822c12137fd353b5e79761a6c"
      ],
      "author": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Jul 16 15:09:38 2020 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Jul 17 11:04:27 2020 +0000"
      },
      "message": "Revert^2 \"VIXL simulator for ART (Stage1)\"\n\nThis reverts commit 3060bb919cd2f37c6a97e87c1581ac5294af72b3.\n\nReason for revert: relanding original change. The fix is setting\n`device_supported: false` for libart(d)-simulator module in the .bp\nfile (`m checkbuild` attempted to build it for arm32 and failed).\nOriginal commit message:\n\nVIXL simulator for ART (Stage1)\n\nQuick User Guide: test/README.simulator.md\n\nThis CL enables running ART run-tests in a simulator on host machine.\nSome benefits of using this simulator approach:\n- No need to use a target device at all.\n  Save developers from solving the device troubles: build, flash, usb,\n  adb, etc.\n- Speed up development/debug/test cycle.\n- Allows easy debugging/testing new instruction features without real\n  hardware.\n- Allows using a smaller AOSP Android manifest master-art.\n\nThe Stage1 CL provides support for running 30% of current run-tests.\nThe rest unsupported test cases are kept in knownfailures.json.\n\nFuture work will be supporting proper stack frame layout between\nsimulator and quick entrypoints, so that stack walk,\nQuickArgumentVisitor, deoptimization, etc can be supported.\n\nThis CL adds libart(d)-simulator-container library to the ART APEX. It\nhas caused the following increase of the APEX size (small, about 0.13%\nfor release APEX, measured for target aosp_arm64-userdebug):\n Before:\n   88992 com.android.art.debug.apex\n   51612 com.android.art.release.apex\n  112352 com.android.art.testing.apex\n After:\n   89124 com.android.art.debug.apex\n   51680 com.android.art.release.apex\n  112468 com.android.art.testing.apex\n\nChange-Id: I461c80aa9c4ce0673eef1c0254d2c539f2b6a8d5\nTest: art/test.py --run-test --optimizing --simulate-arm64\nTest: art/test.py --run-test --optimizing --host\nTest: m test-art-host-gtest\n"
    },
    {
      "commit": "3060bb919cd2f37c6a97e87c1581ac5294af72b3",
      "tree": "6a2b517812ff83cd10cc3b055635d0746157b345",
      "parents": [
        "48ca6a681efe1fa1cf82d8af918bf9bbfd35ae96"
      ],
      "author": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Jul 16 14:17:11 2020 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Jul 16 14:17:11 2020 +0000"
      },
      "message": "Revert \"VIXL simulator for ART (Stage1)\"\n\nThis reverts commit 48ca6a681efe1fa1cf82d8af918bf9bbfd35ae96.\n\nReason for revert: broken build 6685551 on aosp-master on full-eng\nBug: 161440641\n\nChange-Id: I849fe53f56c4786f0f2a1605cbfd215559f11072\n"
    },
    {
      "commit": "48ca6a681efe1fa1cf82d8af918bf9bbfd35ae96",
      "tree": "87ff5251f8f843e64e3f3632c423856ba14ceadf",
      "parents": [
        "cfea667ed9bfbdd21bf9812d1598603fc359d2e1"
      ],
      "author": {
        "name": "Xueliang Zhong",
        "email": "xueliang.zhong@linaro.org",
        "time": "Thu Mar 07 14:48:55 2019 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Jul 16 13:31:48 2020 +0000"
      },
      "message": "VIXL simulator for ART (Stage1)\n\nQuick User Guide: test/README.simulator.md\n\nThis CL enables running ART run-tests in a simulator on host machine.\nSome benefits of using this simulator approach:\n- No need to use a target device at all.\n  Save developers from solving the device troubles: build, flash, usb,\n  adb, etc.\n- Speed up development/debug/test cycle.\n- Allows easy debugging/testing new instruction features without real\n  hardware.\n- Allows using a smaller AOSP Android manifest master-art.\n\nThe Stage1 CL provides support for running 30% of current run-tests.\nThe rest unsupported test cases are kept in knownfailures.json.\n\nFuture work will be supporting proper stack frame layout between\nsimulator and quick entrypoints, so that stack walk,\nQuickArgumentVisitor, deoptimization, etc can be supported.\n\nThis CL adds libart(d)-simulator-container library to the ART APEX. It\nhas cause the following increase of the APEX size (small, about 0.13% for\nrelease APEX, measured for target aosp_arm64-userdebug):\n Before:\n   88992 com.android.art.debug.apex\n   51612 com.android.art.release.apex\n  112352 com.android.art.testing.apex\n After:\n   89124 com.android.art.debug.apex\n   51680 com.android.art.release.apex\n  112468 com.android.art.testing.apex\n\nTest: art/test.py --run-test --optimizing --simulate-arm64\nTest: art/test.py --run-test --optimizing --host\nTest: m test-art-host-gtest\n\nChange-Id: I078812dde9aaf7128d9f262b2102251927596b7f\n"
    },
    {
      "commit": "dc787f488ce151478af1149c04a10b21b2b9fc6e",
      "tree": "38d402813c9c3f541630255e9f9890a9c6842c45",
      "parents": [
        "9a09e7cf11b2653e6da2b179ac03bc6bb71c81e3"
      ],
      "author": {
        "name": "Andra Danciu",
        "email": "andradanciu@google.com",
        "time": "Tue Jul 07 14:28:56 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 09 09:44:58 2020 +0000"
      },
      "message": "Make Integer.divideUnsigned intrinsic for x86.\n\nBug: 156736938\nTest: Added a test to 082-inline-execute.\nTest: art/test.py --host --32 -r -t 082-inline-execute\nChange-Id: Id516126fce10f2fa52b95c1b2b107ca7bf45e347\n"
    },
    {
      "commit": "dd5db458831cf74ae5813d2278fbd599145c4522",
      "tree": "9d470a5ada7c9d7af70d2a6bc36d3d49fccc870d",
      "parents": [
        "28d0a1dd26bad8a0542d167d148a7f4c9fe66c21"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 07 15:14:06 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 07 17:56:38 2020 +0000"
      },
      "message": "Revert \"Reland \"Cover more cases in nterp.\"\"\n\nThis reverts commit f375e929ade0898a6d7d8f6b2071805808c4357a.\n\nBug: 112676029\nBug: 157658616\nBug: 160543640\n\nReason for revert: Breaks wifi tests.\n\nChange-Id: I261b11ef59c22581b1be17e2c09a113adc2f0f5d\n"
    },
    {
      "commit": "f375e929ade0898a6d7d8f6b2071805808c4357a",
      "tree": "0a255415c0db1b405dde72605cf3358ebf99760c",
      "parents": [
        "671d34d917aae4f9dd402f71a2632556f53d9e13"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 02 14:46:19 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 03 09:45:17 2020 +0000"
      },
      "message": "Reland \"Cover more cases in nterp.\"\n\nThis reverts commit 62d33f78909f86b7eea22b9e982a93709c2b2c92.\n\n- Remove Runtime::IsStarted check which was too conservative\n- Explicitly don\u0027t support lock counting and not invokable.\n\nBug: 112676029\nBug: 157658616\nChange-Id: Id2fb439bbd3aef7dd0bb2a97aa63a8af26ccbbd2\n"
    },
    {
      "commit": "b7f4d0f15f02224ce5048ba566b2dce193ee103a",
      "tree": "175a8709446f4e9775c91886dd32ce3e24571b96",
      "parents": [
        "65e2140ea2bd79367f15a9edf2d2a6bd70ad394e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 30 13:54:29 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 01 08:59:11 2020 +0000"
      },
      "message": "[nterp] Export PC before overwiting it in op_aput_object.\n\nTest: run cts -m vm-tests-tf -t dot.junit.opcodes.Test_aput_object#testN4\nBug: 160182704\nChange-Id: Ifa3d29024085d8f33ae466453f298fa709c41e93\n"
    },
    {
      "commit": "3caa05d71d590dab1436c20424b4d4ac4f0cde34",
      "tree": "972f0bfb3890f0edc5b4882cef4f6f3b724f3028",
      "parents": [
        "fa88d5228d0cafda62d94d989542801f19ac8573"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 30 11:09:44 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 30 16:20:19 2020 +0000"
      },
      "message": "Reduce the hotness on lookups.\n\nThe Contacts app regressed in app startup and CpuCycles with a value of\n0xff, so reduce it down to 0xf.\n\nhttps://blackbox.googleplex.com/dashboard/art-perf/target/git_master/blueline-userdebug/6/AppLaunch%2523Contactsfirst-boot-dropcache-cyclic-compile-lock/15?pagination\u003dtrue\n\nTest: test.py\nTest: google/perf/app-transition/app-transition-to-recents\nTest: Contacts doesn\u0027t regress in CpuCycles and app startup for \"verify\"\n      and \"quicken\"\nBug: 112676029\nBug: 157402634\n\nChange-Id: Ieb6f3307d87a896968a2aea76ce0f75ff5b66686\n"
    },
    {
      "commit": "53b17f94405b42dc4ab4a128176af68cad39b1e9",
      "tree": "f2add9752a6ab1bb59c55e1c1ab754ce969a2587",
      "parents": [
        "c69b3f84623458fb59fa63002f515bc062d7adad"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Jun 28 15:01:29 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 29 08:39:40 2020 +0000"
      },
      "message": "Fix brainos in UpdateHotness.\n\n- Use \u0027\u003e\u0027 instead of \u0027\u0026\u0027 as we increment by more than 1.\n- Set the counter to the maximum hotness, to actually get nterp\n  execution to ask for JIT compilation (otherwise UpdateHotness and\n  nterp execution keep on stepping on each other).\n\nTest: 1935-get-set-current-frame-jit\nBug: 112676029\nChange-Id: I2bba923e8c594543778520fbd5d28f2866afe619\n"
    },
    {
      "commit": "f394400974b52a5c0c60c9bfb2391b7e57cceb8e",
      "tree": "3de27e14d2d133c88a971a52ace04e898e0e496d",
      "parents": [
        "0315efa800072aa324fb967aeb5af51f6421e328"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 26 13:33:15 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 26 16:09:28 2020 +0000"
      },
      "message": "Revert \"Only enable nterp on x64.\"\n\nThis reverts commit 65c0768f3011e4b3e65fc7a2e4e898f16a6fd343.\n\nReason for revert: Fix is in:\nhttps://android-review.googlesource.com/c/platform/art/+/1351542\n\nChange-Id: Ice8e3ef2087fb85fcd7bb6a9ee55c0b34cc76350\nTest: test.py\nTest: google/perf/app-transition/app-transition-to-recents\nBug: 112676029\nBug: 157402634\n"
    },
    {
      "commit": "0315efa800072aa324fb967aeb5af51f6421e328",
      "tree": "a74688042819459de47d079dc7c3d9ea5d3307dd",
      "parents": [
        "fda2a4d1cc84a12b5a5cd9f0c27e4fef8c0da0ba"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 26 11:42:39 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 26 16:08:54 2020 +0000"
      },
      "message": "Increment hotness in nterp when doing lookups.\n\nTest: test.py\nTest: google/perf/app-transition/app-transition-to-recents\nBug: 112676029\nBug: 157402634\nChange-Id: Ibe08720b442c5050062db1104be2d3a62641e629\n"
    },
    {
      "commit": "86c8752f64629325026945cd4eabd1dcea224acb",
      "tree": "9dc2be978f9e784a3ce16fa29d46941a94ac1c94",
      "parents": [
        "f97a859e85f703644d897f0e3e1bc54315557aaa"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon May 11 16:55:55 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 19 08:26:46 2020 +0000"
      },
      "message": "Direct calls to @CriticalNative methods.\n\nEmit direct calls from compiled managed code to the native\ncode registered with the method, avoiding the JNI stub.\n\nGolem results:\nart-opt-cc                       x86 x86-64    arm  arm64\nNativeDowncallStaticCritical  +12.5% +62.5% +75.9% +41.7%\nNativeDowncallStaticCritical6 +55.6% +87.5% +72.1% +35.3%\nart-opt                          x86 x86-64    arm  arm64\nNativeDowncallStaticCritical  +28.6% +85.6% +76.4% +38.4%\nNativeDowncallStaticCritical6 +44.6% +44.6% +74.6% +32.2%\n\nTest: Covered by 178-app-image-native-method.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --debuggable --ndebuggable \\\n          --optimizing --jit --jit-on-first-use\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing\nTest: testrunner.py --target --debuggable --ndebuggable \\\n          --optimizing --jit --jit-on-first-use -t 178\nTest: aosp_cf_x86_phone-userdebug boots.\nTest: aosp_cf_x86_phone-userdebug/jitzygote boots.\nBug: 112189621\nChange-Id: I8b37da51e8fe0b7bc513bb81b127fe0416068866\n"
    },
    {
      "commit": "65c0768f3011e4b3e65fc7a2e4e898f16a6fd343",
      "tree": "e11fdabe3b686274518757f748eadc3fba0e99ed",
      "parents": [
        "128f14b83004ce86ad388c6c472e660be92868d3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 01 14:50:19 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 02 16:49:02 2020 +0000"
      },
      "message": "Only enable nterp on x64.\n\nWhile investigating b/157402634\n\nBug: 157402634\nTest: m\n\nChange-Id: I346f427a6946ae928cc150b8654052a35c4b0b17\n"
    },
    {
      "commit": "62d33f78909f86b7eea22b9e982a93709c2b2c92",
      "tree": "50630d90e9dd76372b0f3f601d4b7911e03c7e48",
      "parents": [
        "eb1fece2e49980f91bd31b5a8ef7f78c5f410c50"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 28 18:16:28 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 28 18:16:28 2020 +0000"
      },
      "message": "Revert \"Cover more cases in nterp.\"\n\nThis reverts commit eb1fece2e49980f91bd31b5a8ef7f78c5f410c50.\n\nBug: 112676029\nBug: 157658616\n\nReason for revert: b/157658616\n\nChange-Id: Ic4dd6b1aa7c30c99d8bc2eb0c9f6ee5e3dc471ee\n"
    },
    {
      "commit": "eb1fece2e49980f91bd31b5a8ef7f78c5f410c50",
      "tree": "8d455c7ec92793b4c6ac967d0ee5b9865d873c5e",
      "parents": [
        "211f9d32587deb46c36b52862ea6d5ff9e97cb3f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 28 10:00:05 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 28 13:37:20 2020 +0000"
      },
      "message": "Cover more cases in nterp.\n\n- Remove Runtime::IsStarted check which was too conservative\n- Support running with access checks.\n- Explicitly don\u0027t support lock counting and not invokable.\n\nBug: 112676029\nTest: test.py\nChange-Id: Ie3b45007cb887e5f3af7d4468484a423d9b83f65\n"
    },
    {
      "commit": "4fc75697d88550df7dd2e3799ced2f01df60772b",
      "tree": "bf84a362512d6d663ac55a6d847c359895db73fe",
      "parents": [
        "d1a421ff5cf2ffae07cd6b892dd31d51b09d3e71"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 13 21:49:22 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 21 08:54:55 2020 +0000"
      },
      "message": "[nterp] Add arm64 implementation.\n\nBug: 112676029\nTest: test.py\n\nChange-Id: Ie693b1bb7b1f6b8a52818db964422d40ff818fbb\n"
    },
    {
      "commit": "d1a421ff5cf2ffae07cd6b892dd31d51b09d3e71",
      "tree": "ffe0d5d36c44de34ae1648b8af15d99d1622dcc9",
      "parents": [
        "2acd1ec12ab6b81a7e870ab11085c24ae51faf6d"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue May 19 19:30:35 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed May 20 19:21:31 2020 +0100"
      },
      "message": "Re-enable asan tests which we disabled due to huge stack frames.\n\nThe interpreter refactoring reduced the stack frames from\nmassive to just slightly bigger (mostly thanks to NO_INLINE).\n\nBug: 117341496\nTest: art/test.py -r -t 059 -t 074 -t 911 -t 913 -t 980\nChange-Id: Ic116019944c99eba81843936a5126b9a61f4b423\n"
    },
    {
      "commit": "2acd1ec12ab6b81a7e870ab11085c24ae51faf6d",
      "tree": "ae9f2fc872cc3ca9ae456df13e7d5057e6fc1254",
      "parents": [
        "4d55215d8b4bd0efb65b3a84a7dd041a6b097a96"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat May 16 01:38:49 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed May 20 13:24:47 2020 +0000"
      },
      "message": "HWASan fixes for ART tests\n\nBug: 156593692\nTest: SANITIZE_TARGET\u003dhwaddress art/tools/run-gtests.sh\nTest: SANITIZE_TARGET\u003dhwaddress art/test.py -r --target --64\nChange-Id: I24c5afdb4fed5ac94ce3a7b54a10c592f529191f\n"
    },
    {
      "commit": "0a6063a07edf210979de199aecead92647b8752c",
      "tree": "03e427837b0c248700ac0ea7f42e91fa9a9cf53b",
      "parents": [
        "ecb984ddbd830e6eb3f339b9bd4c7c90eac2438b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 14 16:39:14 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 15 14:10:47 2020 +0000"
      },
      "message": "Clean up Field::CreateFromArtField().\n\nRemove code dealing with the DexCache. This was obsolete\nsince switching to hash-based DexCache arrays. This makes\nthe last remaining template parameter unused, so remove it\nand move the implementation to the .cc file.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optmizing\nTest: aost_taimen-userdebug boots.\nChange-Id: Ib2077028f45792e4357d9c57280ece70a22e47a2\n"
    },
    {
      "commit": "5868adaefe72cc8bcdcd8325c40f712375a506d1",
      "tree": "a1d4328902c4e860fe69c4e4bb34052de2530df3",
      "parents": [
        "5a62af5dc9e9bafeffcac7820e1a5b7586e58477"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 12 11:50:34 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 13 08:00:22 2020 +0000"
      },
      "message": "Move implementations from class_root.h to -inl.h .\n\nMake it possible to include the definition of enum ClassRoot\nwithout pulling in a lot of other headers.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots.\nChange-Id: Ic90fdd70bfe0c5428a5c9a0d7901ea7e15b03488\n"
    },
    {
      "commit": "85af16e673c58cef1eb6d764468b7218bc343dae",
      "tree": "ef52df17437ac4db52b450199d6406e9875f1987",
      "parents": [
        "5b0bbf33180bbf9e7fbe8c952eda16096c637f8c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 12 15:36:52 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 12 16:54:30 2020 +0000"
      },
      "message": "Fix two bugs around aput-object.\n\n- Fix LSE by not removing stores that may throw.\n- Fix nterp to export the PC before calling the aput-object helper.\n\nTest: 726-array-store\nChange-Id: I4fa6c608fc657433dc62ef72a4e94260281db660\n"
    },
    {
      "commit": "d34b73b4ac478462acc03c4cd42ae7568c832eb8",
      "tree": "27f1c4599178ba57451c29d0156c232768711b6d",
      "parents": [
        "4a48775376a4c0b180a7d32ad2cdf00bd0dca140"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 05 10:07:59 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 05 13:34:31 2020 +0000"
      },
      "message": "Clean up internal stack trace construction.\n\nSimplify the code by ignoring active transactions. Writing\nto fields of a newly allocated object does not need to be\nrecorded as aborting the transaction removes all references\nto the new object and it\u0027s unnecessary to roll back writes\nto unreachable object\u0027s fields.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots.\nChange-Id: Ia91d3274398b0ca0f5b0040dcf323921d915b657\n"
    },
    {
      "commit": "b6f4c79b06bb97651a7be1ac828d18ed18356603",
      "tree": "ef0bbb1281f6d4785e60f26cb420646c83eb6f6d",
      "parents": [
        "3971661c74a9b4635d9744f72f3b053c820067c9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon May 04 15:37:29 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 05 08:05:24 2020 +0000"
      },
      "message": "Clean up Constructor/Method/Field construction.\n\nSimplify the code by ignoring active transactions. Writing\nto fields of a newly allocated object does not need to be\nrecorded as aborting the transaction removes all references\nto the new object and it\u0027s unnecessary to roll back writes\nto unreachable object\u0027s fields.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots.\nChange-Id: Ib5cd60c003d2ad3e6a246ff86d6b9288428c60ee\n"
    }
  ],
  "next": "3bae04718647f92d40e8b4c75fb71195a51fa4bd"
}
