)]}'
{
  "log": [
    {
      "commit": "00391824f4ee89f9fbed178a1ee32bc29fa77b3b",
      "tree": "aea6bc5e49801c5b4816257ab16a97181ef0d911",
      "parents": [
        "001e5b33ba7065dde0b85450830b605733ae1685"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 10 10:17:23 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 18 06:50:39 2019 +0000"
      },
      "message": "Add an implementation of Nterp for x64.\n\nAnd enable it on x64 when runtime and ArtMethod requirements are met\n(see nterp.cc).\n\nTest: test.py\nBug: 112676029\nChange-Id: I772cd20a20fdc0ff99529df7495801d773091584\n"
    },
    {
      "commit": "2808be84a8f86542450670acdb5e6b55498ff5f0",
      "tree": "f41b63e3109a6a6a9bd534f32b8d92f20eb9ef35",
      "parents": [
        "460f05480379d5c75555d06c4938bc990ce6ff83"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Dec 20 19:15:11 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 15 09:30:36 2019 +0000"
      },
      "message": "ART: Introduce stackmap with no DexRegInfo.\n\nSome of safepoints don\u0027t need to have DexRegisterMap info;\nthis will decrease the stackmap size.\n\n.oat file size reduction:\n - boot.oat:           -233 kb (-5.4%)\n - boot-framework.oat: -704 kb (-4.9%)\n\nTest: 461-get-reference-vreg, 466-get-live-vreg.\nTest: 543-env-long-ref, 616-cha*.\nTest: test-art-target, +gc-stress.\n\nChange-Id: Idbad355770e30a30dcf14127642e03ee666878b8\n"
    },
    {
      "commit": "e5d2398fa5be5effbc552b244387119dc53a9671",
      "tree": "f32b3f3d67c469d9bdc83961ef9c4d863c351f0a",
      "parents": [
        "639b2b1f3a675135d443fc380323fbc48639a7eb"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 08 10:34:26 2019 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 09 12:38:30 2019 -0800"
      },
      "message": "ART: Forward-declare Context\n\nMove deletion to thread.cc, which allows to forward-declare\nContext.\n\nBug: 119869270\nTest: mmma art\nChange-Id: Ifd9006cd3457d4ab708a289a7f6e1cdf2591c596\n"
    },
    {
      "commit": "c7d878d4be3f0971d4b86266308c7540a26c2856",
      "tree": "041a6d897df81ae64f25c211f16e8640959a35f5",
      "parents": [
        "d295a75d952742604eaae0530daea19dd6fd782c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 19 18:42:06 2018 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 19 17:09:07 2018 -0800"
      },
      "message": "Revert^4 \"ART: Add StackVisitor accepting a lambda\"\n\nThis reverts commit ec43a01e0ac948c59d5b1f9c3812f2901b48942a.\n\nReason for revert: Added missing code.\n\nBug: 115837065\nTest: m test-art-host\nChange-Id: Id30ccdf9aa9a6e56a914254793e399f2712c882d\n"
    },
    {
      "commit": "ec43a01e0ac948c59d5b1f9c3812f2901b48942a",
      "tree": "57e1a23dcc0beba8e98841b8cf063f6153b08c9b",
      "parents": [
        "3d477f3a3eea757a49ca621cc579f711f22fccdd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Nov 17 13:10:40 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Nov 17 13:10:40 2018 +0000"
      },
      "message": "Revert \"Revert^2 \"ART: Add StackVisitor accepting a lambda\"\"\n\nThis reverts commit 3d477f3a3eea757a49ca621cc579f711f22fccdd.\n\nBug: 115837065\n\nReason for revert: Breaks jdwp tests.\n\nChange-Id: I09249331798970751a20c6b41675c3efef72adfb\n"
    },
    {
      "commit": "3d477f3a3eea757a49ca621cc579f711f22fccdd",
      "tree": "b4b402d0181610c62062c8c597ef30ee2840b6b1",
      "parents": [
        "54c7da9c50ee85ade636605cd6ea18b4c2bc69fa"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 16 16:40:45 2018 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 16 10:13:38 2018 -0800"
      },
      "message": "Revert^2 \"ART: Add StackVisitor accepting a lambda\"\n\nThis reverts commit 8248490f24e8582ce2ead8cd878d8a2c38310a48.\n\nReason for revert: Fixed instrumentation.cc\n\nBug: 115837065\nTest: m test-art-host\nChange-Id: I484833f4712c835fcaf3452dca4cae5b031d5a7d\n"
    },
    {
      "commit": "8248490f24e8582ce2ead8cd878d8a2c38310a48",
      "tree": "f542af6560561526fc413e361e3323a615b5429c",
      "parents": [
        "36f8d22c672498753b9edc66ba11acc9816b2a17"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 16 00:47:49 2018 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 16 00:47:49 2018 +0000"
      },
      "message": "Revert \"ART: Add StackVisitor accepting a lambda\"\n\nThis reverts commit 36f8d22c672498753b9edc66ba11acc9816b2a17.\n\nReason for revert: Seems to be breaking test 687\n\nBug: 115837065\nChange-Id: I83bb1a9d76cc701c3d582778e5047ebd5dab5d29\nTest: TreeHugger\n"
    },
    {
      "commit": "36f8d22c672498753b9edc66ba11acc9816b2a17",
      "tree": "7a7195bf16db14d7f56f94a4d6421f6837b2f686",
      "parents": [
        "a53da8f8170ddaff3e4160641938ba1b7806202c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 08 08:13:42 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 02 16:01:30 2018 -0700"
      },
      "message": "ART: Add StackVisitor accepting a lambda\n\nTo simplify implementation of visitors. Rewrite some\nvisitors.\n\nBug: 115837065\nTest: mmma art\nTest: m test-art-host\nChange-Id: I04172d7626b702c1d69c63eba65526378935a25d\n"
    },
    {
      "commit": "4cbfadc29b4ba89b32fa6eb55a287db78d12a45c",
      "tree": "70cd681c4326ab8cf034da6c0fb0fef222cd67b1",
      "parents": [
        "a48eb7e0690187618d2824a7d9b5601e7f5cdf80"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 10 16:09:43 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 12 10:07:41 2018 +0100"
      },
      "message": "Remove CHECK that GetThis() must always work.\n\nEnsures GetVReg of a reference on compiled code checks that the\nvalue is indeed a reference from the stack maps.\n\nbug: 116683601\nbug: 117452149\nTest: 686-get-this\nChange-Id: I3a370c45786a4892c7888491bec6d5ae64672f6c\n"
    },
    {
      "commit": "f73cacaae3d8f89327d8886b37792a849cabd9ac",
      "tree": "79047e31d512d065db47af7e68fa155c1f638f11",
      "parents": [
        "bbc6e7edb5fca4a61ac53dd9bce79cb4f0bb3403"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Aug 24 17:19:07 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Aug 28 11:09:40 2018 +0100"
      },
      "message": "Remove superfluous \u0027virtual\u0027 specifiers in ART.\n\nRemove \u0027virtual\u0027 specifier on methods already bearing the \u0027override\u0027\nspecifier.\n\nTest: mmma art\nChange-Id: I114930969a5ca048d88de9ecd18e2c6403593e31\n"
    },
    {
      "commit": "bbc6e7edb5fca4a61ac53dd9bce79cb4f0bb3403",
      "tree": "0fbce767bc383358cf4cd65aafc74140e1850982",
      "parents": [
        "19379b58bd433da91230e4fe6cd96e7416d16adc"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Aug 24 16:58:47 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Aug 28 11:06:07 2018 +0100"
      },
      "message": "Use \u0027final\u0027 and \u0027override\u0027 specifiers directly in ART.\n\nRemove all uses of macros \u0027FINAL\u0027 and \u0027OVERRIDE\u0027 and replace them with\n\u0027final\u0027 and \u0027override\u0027 specifiers. Remove all definitions of these\nmacros as well, which were located in these files:\n- libartbase/base/macros.h\n- test/913-heaps/heaps.cc\n- test/ti-agent/ti_macros.h\n\nART is now using C++14; the \u0027final\u0027 and \u0027override\u0027 specifiers have\nbeen introduced in C++11.\n\nTest: mmma art\nChange-Id: I256c7758155a71a2940ef2574925a44076feeebf\n"
    },
    {
      "commit": "a3ad0cdd711857f04f477e2cdc5b56a2c74a3018",
      "tree": "7e0e4c7888c2497d86ce96c9574d7c9886721ccf",
      "parents": [
        "abd9e1515bc6be88372c61071971c5432a51553d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 04 10:06:38 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 09 11:11:09 2018 +0100"
      },
      "message": "ART: Move JNI files to runtime/jni/ .\n\nTest: Rely on TreeHugger.\nChange-Id: I9cae11191ef1567ae9453be498882a7767285140\n"
    },
    {
      "commit": "9e734c7ab4599d7747a05db0dc73c7b668cb6683",
      "tree": "dce1d1993734a947fb2e6f626eb1b425cb72143b",
      "parents": [
        "b496af808eaf3af5ebac50aef4fbec33323b5016"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Jan 04 17:56:19 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Jan 05 11:07:19 2018 -0800"
      },
      "message": "Create dex subdirectory\n\nMove all the DexFile related source to a common subdirectory dex/ of\nruntime.\n\nBug: 71361973\nTest: make -j 50 test-art-host\nChange-Id: I59e984ed660b93e0776556308be3d653722f5223\n"
    },
    {
      "commit": "57943810cfc789da890d73621741729da5feaaf8",
      "tree": "367677a982a45af98ffe3e79543615875e8550b4",
      "parents": [
        "d5153627778e71ef68b510ce03c77467fa4d85bd"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 06 21:39:13 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 07 16:26:11 2017 -0800"
      },
      "message": "ART: Replace base/logging with android-base/logging\n\nReplace wherever possible. ART\u0027s base/logging is now mainly VLOG\nand initialization code that is unnecessary to pull in and makes\nchanges to verbose logging more painful than they have to be.\n\nTest: m test-art-host\nChange-Id: I3e3a4672ba5b621e57590a526c7d1c8b749e4f6e\n"
    },
    {
      "commit": "1949baf64471241cb9bd59ca2b61be24b4320528",
      "tree": "cdfb4fcf6b9ad60d441a4def9b505d355ffbacce",
      "parents": [
        "c2176669b4c8ee7622609d07ccca0524e6628471"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 17 12:14:53 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 17 12:14:53 2017 +0000"
      },
      "message": "Revert \"Force OSR compilation on all compilations.\"\n\nChange was temporary.\n\nThis reverts commit c2176669b4c8ee7622609d07ccca0524e6628471.\n\nChange-Id: Iaa039c166827da983f757acc168e0c0f49daec4e\n"
    },
    {
      "commit": "c2176669b4c8ee7622609d07ccca0524e6628471",
      "tree": "1bcc30e005054118c5d37b2cb792b39038afa34b",
      "parents": [
        "b73cc5dece8bf95935e03ff86b9a314872886299"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 12 11:11:01 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 17 10:00:35 2017 +0000"
      },
      "message": "Force OSR compilation on all compilations.\n\nTemporary change to trigger tests. Will revert once enough\nbuilds have been triggered.\n\nAlso disable checker tests and $noinline$ checks.\n\nbug: b/66752868\nTest: test.py\nChange-Id: Idee456fea4c9e43dfc52e766bbd98408e0bbd4e8\n"
    },
    {
      "commit": "b486a98aadc95d80548953410cf23edba62259fa",
      "tree": "b113b7d50a4a015502873b7742c9ece00d293e84",
      "parents": [
        "1656ca9e6996cb555b4463e5efd4bd7e3f4fb816"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 01 13:45:54 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 02 08:24:02 2017 -0700"
      },
      "message": "ART: Introduce thread-current-inl.h\n\nFactor out Thread::Current() code into its own -inl file to remove\ntransitive includes.\n\nThis requires at the same time correcting mutex.h, i.e., moving\nsome functions into mutex-inl.h.\n\nTest: m test-art-host\nChange-Id: I88f888b604e0897368d9b483edce6ce4332dd9c9\n"
    },
    {
      "commit": "a1e036782a4154d5fa5481cc3fc17bc58a9b4520",
      "tree": "8cf6731a2f6ad57eb5eb34303319a459f97e2e81",
      "parents": [
        "7f734d414abd28b7f874a19bf776f4e9eb1a3121"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Apr 12 15:39:54 2017 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Apr 12 15:43:45 2017 -0700"
      },
      "message": "Fix CHA test failures under some configurations.\n\nSome checks in IsManaged() are outdated.\n\nBug: 36344221\nTest: m -j20 test-art-host-run-test\nTest: test-art-host-run-test-debug-no-dex2oat-jit-no-relocate-ntrace-cms-checkjni-picimage-npictest-ndebuggable-616-cha-abstract64\nChange-Id: Iec248cddf08b0a4ebce5f8fbca75d8d280797640\n"
    },
    {
      "commit": "dba61481035b7944173181ec9ee02aea41dd0e29",
      "tree": "8629775e657cc8968e2f8fa2af6256c7a58c7dd4",
      "parents": [
        "cb2ce333ee2d1053919fe0acc390369bea3ad77e"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 21 08:20:29 2016 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 21 11:43:14 2016 -0800"
      },
      "message": "Revert \"Revert \"Revert \"Revert \"Basic obsolete methods support\"\"\"\"\n\nA GetDeclaringClass()-\u003eGetDexCache() got inserted during the\nmerge/review process meaning that we would try to access incorrect\ndex-cache in obsolete methods in some situations.\n\nAlso when using tracing we would loop forever (or at least until an\nOOM error) in test 916 due to tracing forcing InterpretOnly mode\nmeaning methods would never be jitted.\n\nBug: 32369913\nBug: 33630159\n\nTest: ART_TEST_TRACE\u003dtrue \\\n      ART_TEST_JIT\u003dtrue   \\\n      ART_TEST_INTERPRETER\u003dtrue mma -j40 test-art-host\n\nThis reverts commit f6abcda293b115a9d7d8a26376ea2dcf2d1dc510.\n\nChange-Id: I0773bfcba52e3cd51a83be815c6a50c189558f48\n"
    },
    {
      "commit": "f6abcda293b115a9d7d8a26376ea2dcf2d1dc510",
      "tree": "a30ce596848d14c95a73449dbf2bfccf26a510b9",
      "parents": [
        "ce77fc0e7f60a15354bb20c356537cbf8b53b722"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 21 09:26:18 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 21 09:26:18 2016 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Basic obsolete methods support\"\"\"\n\nFails in tracing mode\n\nBug: 32369913\nBug: 33630159\n\nThis reverts commit ce77fc0e7f60a15354bb20c356537cbf8b53b722.\n\nChange-Id: I1bdcf6ad467f2e31f9c5d0c3c987b90a4f5efc69\n"
    },
    {
      "commit": "ce77fc0e7f60a15354bb20c356537cbf8b53b722",
      "tree": "b4301967c423ab190a4274409d99a3d6e23f0e8a",
      "parents": [
        "d54f43ca39dfa92f08c2d760123f185f0f65fb86"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 15 01:05:52 2016 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Dec 19 14:26:18 2016 -0800"
      },
      "message": "Revert \"Revert \"Basic obsolete methods support\"\"\n\nThis reverts commit b81a9840b44480bfeacd74b8d9f51e06f295411d.\n\nThere were 2 issues with the original CL\u0027s test 916-obsolete-jit that\ncaused it to sporadically fail.\n\nFirst, when checking if we had jitted the function under test in\n916-obsolete-jit we failed to check to see if the function \u0027doCall\u0027,\nwhich is used to work-around bugs in our deoptimization \u0026 compilation\nsystems, had also been jitted.\n\nIn the case where the \u0027sayHi\u0027 function had been jitted but the\n\u0027doCall\u0027 function had not we would (correctly) fail to redefine the\n\u0027Transform\u0027 class since we would not be able to deoptimize the \u0027sayHi\u0027\nfunction since it is under a quick_to_interpreter_bridge (runtime)\nframe.\n\nSecondly, the function Main.isInterpretedFunction was incorrect and\nwould always return false, regardless of the actual state of the\nfunction. This would cause the test to fail as the\nquick_to_interpreter_bridge frame prevented deoptimization of the\nobsoleted function. Usually the warm-up period was enough to make sure\nthe methods were jitted anyway but this was not guaranteed.\n\nBoth of these problems become more likely to occur on systems with\nmore cpu contention such as the buildbots.\n\nTest: stress --cpu 60 \u0026; while ./test/run-test --host --jit 916; do ; done\n\nReason for revert: Fixed bug in test that was causing failures.\n\nOriginal Tests:\n\nTest: ./test/run-test --host 914\nTest: ./test/run-test --host 915\nTest: ./test/run-test --host 916\nTest: mma -j40 test-art-host\nTest: ART_TEST_JIT\u003dtrue \\\n      ART_TEST_INTERPRETER\u003dtrue mma -j40 test-art-host\nTest: ./art/tools/run-jdwp-tests.sh --mode\u003dhost --variant\u003dX64\nTest: ./art/tools/run-jdwp-tests.sh --mode\u003dhost --variant\u003dX64 --no-jit\n\nBug: 32369913\nBug: 33630159\n\nChange-Id: If1a92e47b90965a7dc21c5826185debe62bd1554\n"
    },
    {
      "commit": "b81a9840b44480bfeacd74b8d9f51e06f295411d",
      "tree": "d79a3567b272b6eb4fb94d66a537cf92bef455db",
      "parents": [
        "d8936da27b792d1ca02e59c92456a1a53c7b9905"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 15 00:59:05 2016 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 15 00:59:05 2016 +0000"
      },
      "message": "Revert \"Basic obsolete methods support\"\n\nThis reverts commit d8936da27b792d1ca02e59c92456a1a53c7b9905.\n\nReason for revert: Some sort of race in JIT\n\nChange-Id: Ibb4e520bb0721d6d7aa2c841a52eb5baff07740e\n"
    },
    {
      "commit": "d8936da27b792d1ca02e59c92456a1a53c7b9905",
      "tree": "6a593dd426e7f4a15c651dd3b872f22fb64f09ce",
      "parents": [
        "7c73bf3518eea7544406eadfed6946411c54a267"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Nov 28 16:24:32 2016 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 14 13:01:27 2016 -0800"
      },
      "message": "Basic obsolete methods support\n\nAdd support for executing obsolete methods following redefinitions.\nThis support includes methods that have been jitted. This does not add\nany additional validity checks to our redefinition functions.\n\nNote using work-arounds to ensure 916 works pending some fixes to the\ncompiler, deoptimizer, or both.\n\nTest: ./test/run-test --host 914\nTest: ./test/run-test --host 915\nTest: ./test/run-test --host 916\nTest: mma -j40 test-art-host\nTest: ART_TEST_JIT\u003dtrue \\\n      ART_TEST_INTERPRETER\u003dtrue mma -j40 test-art-host\nTest: ./art/tools/run-jdwp-tests.sh --mode\u003dhost --variant\u003dX64\nTest: ./art/tools/run-jdwp-tests.sh --mode\u003dhost --variant\u003dX64 --no-jit\n\nBug: 32369913\nBug: 33630159\n\nChange-Id: I78ef95f484146f1fb93c37fc50f56575bdab2432\n"
    },
    {
      "commit": "97d7e1cd7f733cb33a0e238bec6d7ed525638cd1",
      "tree": "d2f02420f82d76d10dc0d80f431c9f4aba03ac82",
      "parents": [
        "eebe142e935e9444c7c947d02246e7fbe88b2cc4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 04 14:44:28 2016 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 05 13:21:44 2016 +0100"
      },
      "message": "Remove #include \"oat_file.h\" from class_linker.h .\n\nRefactor the OatClass and OatMethod related functions from\nClassLinker to OatFile and ArtMethod, respectively. Refactor\nthe remaining ClassLinker dependencies on OatFile to break\nthe #include dependency and reduce incremental build times.\n\nTest: m test-art-host\nChange-Id: Iebc5b9f81b48fbcf79821cc827a5d7c4a0261bf6\n"
    },
    {
      "commit": "0795f23920ee9aabf28e45c63cd592dcccf00216",
      "tree": "ff3f880c5e84f3316532b47d0e9a7729ade848ac",
      "parents": [
        "d1224dce59eb0019507e41da5e10f12dda66bee4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 27 18:43:30 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Sep 29 17:31:09 2016 -0700"
      },
      "message": "Clean up ScopedThreadStateChange to use ObjPtr\n\nAlso fixed inclusion of -inl.h files in .h files by adding\nscoped_object_access-inl.h and scoped_fast_natvie_object_access-inl.h\n\nChanged AddLocalReference / Decode to use ObjPtr.\n\nChanged libartbenchmark to be debug to avoid linkage errors.\n\nBug: 31113334\n\nTest: test-art-host\n\nChange-Id: I4d2e160483a29d21e1e0e440585ed328b9811483\n"
    },
    {
      "commit": "f711f2cf3c28dfe865e36f17419a16f06a0ebb5a",
      "tree": "3657d68b2a2fb67f4919cb97ca279cf9310224e9",
      "parents": [
        "bbfa42aa4c4b5cbc2ed2d8bdea6ff76da615a8aa"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon May 23 12:29:39 2016 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu May 26 13:24:54 2016 -0700"
      },
      "message": "Partial fragment deoptimization\n\nWe used to do either single frame deoptimization, or full fragment\ndeoptimization which deoptimizes all the frames in a fragment.\nThis change allows some methods to be not deoptimizeable, likely due\nto some kind of optimization. So we need another deoptimization mode\nthat unwinds partial fragment. Deoptimizations are now generalized into\neither full or partial fragment. A full fragment deoptimization will\ndeopt all frames in the fragment, and then returns from the invoke stub\nto enter interpreter. A partial fragment deoptimization will deopt a\nsingle frame, or all frames up to the method that\u0027s not deoptimizeable,\nand then jumps to the interpreter bridge.\n\nCurrently code not deoptimizeable is the code in boot image since the\ncode may not be compiled with debuggable flag.\n\nBug: 28769520\nChange-Id: I875c694791cc8ebd5121abcd92ce7b0db95aca38\n"
    },
    {
      "commit": "0dfc9bc0cca3ae15dc75bbea3ca9b6d7508ce893",
      "tree": "abdc76069da7142d899eb776a0d82bdbbe316c94",
      "parents": [
        "1aba494df441c31836e5b7d4d8e408420a93cb8d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 30 17:13:59 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 05 08:57:04 2015 -0700"
      },
      "message": "ART: Add more deopt tests\n\nExtend libarttest with the ability to turn off asserts for method\nstate. Use this to put asserts into test functions, but turn them\noff if the test wouldn\u0027t react as we want, e.g., when we\u0027re in\ninterpreter mode.\n\nExtend run-test 449 by adding asserts for the method state for the\nexpected deopt cases. This tests both standard behavior, as well\nas single-frame deoptimization.\n\nBug: 21611912\nChange-Id: I27fa5e3e44d8c5eab57962d144c6aec96587bf45\n"
    },
    {
      "commit": "89df7bfc41a4de9685f84e7db07f77db3fd485fc",
      "tree": "f1a266870d0020b9b814022698569affc90e3844",
      "parents": [
        "931e26843bbb688eacfa67b40414c6b8f221a56a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 30 13:13:21 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 30 13:13:21 2015 -0700"
      },
      "message": "ART: Refactor libarttest C++ code\n\nRefactor some libarttest JNI functions into a common directory, so\nthey can be easily used by multiple tests without code duplication.\nThis is preparation for better deoptimization state testing.\n\nChange-Id: I43f7340b699b26930aabfd665c707e0485b17fc8\n"
    },
    {
      "commit": "a727e372d8f6929cd30b983f6969c7a50fc83bb6",
      "tree": "f71b33bf46053e0ccbd191ac74a850e87145eb98",
      "parents": [
        "706ea6a0294ef8bc3def050142c548c082fa8e30"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 25 09:22:37 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 27 10:53:12 2015 -0700"
      },
      "message": "ART: Balanced locking\n\nChange the verifier to check for balanced locking. When balanced\nlocking can\u0027t be guaranteed, use a new failure kind to punt to\nthe interpreter.\n\nAdd smali tests, with JNI code to check the balanced-locking result.\n\nBug: 23502994\nChange-Id: Icd7db0be20ef2f69f0ac784de43dcba990035cd8\n"
    }
  ]
}
