)]}'
{
  "log": [
    {
      "commit": "8a5ab9102fe705b63eda6e6bcfe98ee1c03e5a6c",
      "tree": "5c1065aa6949b12b11fd659755ea97b654474e54",
      "parents": [
        "64e50021845b1ad9d8851596e8aaddf18be217c2"
      ],
      "author": {
        "name": "Shukang Zhou",
        "email": "shukang@google.com",
        "time": "Fri Jan 20 11:40:16 2017 -0800"
      },
      "committer": {
        "name": "Shukang Zhou",
        "email": "shukang@google.com",
        "time": "Fri Jan 20 17:38:55 2017 -0800"
      },
      "message": "[ART] Prepare streaming output of method tracing for developer use.\n\nChanges include:\n\n* Flush the buffer to file when tracing ends, so every record is\n  preserved.\n\n* At the end of the streaming output, add what\u0027s the header when the\n  output mode is not strreaming (called \u0027trace summary\u0027 in code).\n  * A new special token (kOpTraceSummary) is added for this purpose.\n  * The summary used to be written to a .sec file, which has\n    permission issues with non-rooted devices.\n\n* Update the streaming output converter (stream-trace-converter.py)\n  to handle the updated format. When the trace summary is present,\n  it is used to populate the output header, which provides more\n  complete info than existing implementation where some info is\n  inferred from the records.\n\nThe changes to trace.h/cc impact streaming output mode only.\n\nThe updated stream-trace-converter.py works with or without the\ntrace summary at the file end, so pulling the file in the middle\nis still supported.\n\nBug: b/33300765\n\nTest: m -j48 ART_TEST_TRACE\u003dtrue ART_TEST_TRACE_STREAM\u003dtrue test-art-host\nI also tested manually: flashed a Nexus 6P, collected traces, and\nparsed them in Studio.\n\nChange-Id: I697d2ec09bed56033cfce9a8f27dc4710d8b0798\n"
    },
    {
      "commit": "64e50021845b1ad9d8851596e8aaddf18be217c2",
      "tree": "938e0d31ec0860443803414a9eb08bc2b9dbfd96",
      "parents": [
        "05778764cb11162b6f3ff72386135ed45a07af33",
        "626aa2c27db883c35affa732e768b208da910eba"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 20 19:10:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 19:10:33 2017 +0000"
      },
      "message": "Merge \"Dexfuzz: Added --divergence-retry option.\""
    },
    {
      "commit": "05778764cb11162b6f3ff72386135ed45a07af33",
      "tree": "95ed335e2a60b4c236677b99aa8a74de6f9aaf6a",
      "parents": [
        "7c3de08e2fb20e90c01389b44d0e6e6e8248ecfd",
        "8ebc8bf055e8bd8f6f167e65a69cf4dae136db55"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 20 18:34:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 18:34:33 2017 +0000"
      },
      "message": "Merge \"Revert \"CHA for abstract methods.\"\""
    },
    {
      "commit": "8ebc8bf055e8bd8f6f167e65a69cf4dae136db55",
      "tree": "4cc89efe98ddc6ef0421405affafce95c5aabae2",
      "parents": [
        "ae6c189b9d63ca4c2ae0e952187819c5e442e3c9"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 20 17:37:02 2017 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 20 17:37:50 2017 +0000"
      },
      "message": "Revert \"CHA for abstract methods.\"\n\nThis reverts commit ae6c189b9d63ca4c2ae0e952187819c5e442e3c9.\n\nThis is causing sporadic build failures with:\ndex2oatd F 01-20 15:05:33 8343 10164 cha.cc:292] Check failed: method_in_super-\u003eHasSingleImplementation() \n\nChange-Id: I4435ab028d3f7893e18b44347f294326c573a255\n"
    },
    {
      "commit": "7c3de08e2fb20e90c01389b44d0e6e6e8248ecfd",
      "tree": "6f731ee998ba11fa5892a0c840f392a1cd673d1b",
      "parents": [
        "6cbb3c89c8a9a7e2c5c635f88ba95e1abe653468",
        "812a244ff413a46ded2b87568fa88fc94561ea94"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 20 17:06:30 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 17:06:31 2017 +0000"
      },
      "message": "Merge \"ART: Add GetClassVersionNumbers.\""
    },
    {
      "commit": "6cbb3c89c8a9a7e2c5c635f88ba95e1abe653468",
      "tree": "9a9cabed776fd395bad4d344c2687afd499dc83c",
      "parents": [
        "7709f7bec864120d8eb4180720ebdd16e0c99c2a",
        "7b3b326158676a89bc27639b829a3e1746f8c988"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 20 17:05:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 17:05:24 2017 +0000"
      },
      "message": "Merge \"ART: Add tests for TLS\""
    },
    {
      "commit": "7709f7bec864120d8eb4180720ebdd16e0c99c2a",
      "tree": "702905fde7c2f3188eb27837a58c6903b5c6de79",
      "parents": [
        "6611d2733ca8896a45067b7d57ae1e7e32336556",
        "3a7eb1482b495110a28ac996706f4bda41114147"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 20 17:04:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 17:04:29 2017 +0000"
      },
      "message": "Merge changes I914dfac9,I33b1934a\n\n* changes:\n  ART: Add phase events\n  ART: Add GetPhase\n"
    },
    {
      "commit": "6611d2733ca8896a45067b7d57ae1e7e32336556",
      "tree": "08775ae5af40f6fb8282e39cf6a3f7d5add3b167",
      "parents": [
        "fff9d4474a60030b443b7f2fed0d61e228718491",
        "ae6c189b9d63ca4c2ae0e952187819c5e442e3c9"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Jan 20 14:23:39 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 14:23:40 2017 +0000"
      },
      "message": "Merge \"CHA for abstract methods.\""
    },
    {
      "commit": "626aa2c27db883c35affa732e768b208da910eba",
      "tree": "1440471233218bbd695ead4f01a5303eb5ff7870",
      "parents": [
        "fff9d4474a60030b443b7f2fed0d61e228718491"
      ],
      "author": {
        "name": "Branislav Rankov",
        "email": "branislav.rankov@linaro.org",
        "time": "Fri Dec 23 16:19:09 2016 +0000"
      },
      "committer": {
        "name": "Branislav Rankov",
        "email": "branislav.rankov@linaro.org",
        "time": "Fri Jan 20 11:50:46 2017 +0000"
      },
      "message": "Dexfuzz: Added --divergence-retry option.\n\nThis option controls the number of retries done when checking for self-divergence.\n\nTest: dexfuzz --inputs\u003dseeds --execute --arm --optimizing --interpreter --repeat\u003d100 --divergence-retry\u003d20\n\nChange-Id: I90e2705e40c6f23d47ddbb856828147c4f6a4157\n"
    },
    {
      "commit": "fff9d4474a60030b443b7f2fed0d61e228718491",
      "tree": "983cc7088d39b3c2d10e7f60b3f9452b84709885",
      "parents": [
        "3eede0720f784b7e8a12cbf0bd8626c0e819a96d",
        "8631a46d6d93d739428873b9b4053d228b9b5cfa"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 20 10:57:28 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 10:57:29 2017 +0000"
      },
      "message": "Merge \"Fix polymorphic invokes (one more round).\""
    },
    {
      "commit": "3eede0720f784b7e8a12cbf0bd8626c0e819a96d",
      "tree": "0df4180ec2cfb2ae06078d2d26abed91c00b519f",
      "parents": [
        "5e821602426718bf971c3d693c3f8ff15d85017d",
        "865cf901e9f16680ca3594a5ab8d8e17b0b6f9d4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 20 10:29:59 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 10:30:00 2017 +0000"
      },
      "message": "Merge \"vdex optimization: avoid doing application type resolution.\""
    },
    {
      "commit": "5e821602426718bf971c3d693c3f8ff15d85017d",
      "tree": "2adc44a687f7fd9ef6591fea990a328e72eb65ca",
      "parents": [
        "2c532ed685b2fa2ceb6868ff1aafc3e9a64554de",
        "532cc7b197ce836486863030d57d5732f4ba07f3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 20 09:08:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 09:08:47 2017 +0000"
      },
      "message": "Merge \"ART: Add valgrind suppression\""
    },
    {
      "commit": "2c532ed685b2fa2ceb6868ff1aafc3e9a64554de",
      "tree": "c963a197b9c311e7dce1643ceef851d45a53d8c1",
      "parents": [
        "c93d203b5d9d6e5672ebfdc87f2b72ef99ae8c09",
        "cdcbddf7efe4d731f03b17efd088fbb653a1aed1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 20 08:47:51 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 08:47:51 2017 +0000"
      },
      "message": "Merge \"Do not use npic image for oat file assistant tests.\""
    },
    {
      "commit": "812a244ff413a46ded2b87568fa88fc94561ea94",
      "tree": "a0261658d45ca6db00a26d7de8a85fea33ec9de4",
      "parents": [
        "c93d203b5d9d6e5672ebfdc87f2b72ef99ae8c09"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 22:04:46 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jan 20 00:07:19 2017 -0800"
      },
      "message": "ART: Add GetClassVersionNumbers.\n\nAdd support for GetClassVersionNumbers. Return the dex file version\nas major, zero as minor. Add test.\n\nBug: 31684578\nTest: m test-art-host-run-test-912-classes\nChange-Id: Ib5082cd58b27a9183d8f19d42d4d8af46a6bb9c9\n"
    },
    {
      "commit": "3a7eb1482b495110a28ac996706f4bda41114147",
      "tree": "119d607dce4506d1340339d145e85a14522934a8",
      "parents": [
        "96eca7895813ec70bbbbdb2aff7a3a03dcd3b21e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 21:59:22 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 23:52:24 2017 -0800"
      },
      "message": "ART: Add phase events\n\nAdd VMStart, VMInit and VMDeath event support. Add removal of\njvmtiEnv from the event handler. Add and extend tests.\n\nBug: 31684920\nTest: m test-art-host-901-hello-ti-agent\nChange-Id: I914dfac98c2fb7b59efdfde69597a7fcd20fd486\n"
    },
    {
      "commit": "532cc7b197ce836486863030d57d5732f4ba07f3",
      "tree": "0a1c162785590f5aaf0ec41111c78d98e2054ac3",
      "parents": [
        "c93d203b5d9d6e5672ebfdc87f2b72ef99ae8c09"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 23:30:41 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 23:30:41 2017 -0800"
      },
      "message": "ART: Add valgrind suppression\n\nSuppress libunwind/libbacktrace reading arbitrary memory. Triggered\nby SIGQUIT behavior in runtime_callbacks_test.\n\nBug: 31684920\nTest: m valgrind-test-art-host-gtest-runtime_callbacks_test\nChange-Id: Ifba237027b5e029b0e4f98264bd5c9eafa243beb\n"
    },
    {
      "commit": "96eca7895813ec70bbbbdb2aff7a3a03dcd3b21e",
      "tree": "153890b5de0ff2278011fd2ef89b3896be78a55b",
      "parents": [
        "c93d203b5d9d6e5672ebfdc87f2b72ef99ae8c09"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 19:45:30 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 23:15:31 2017 -0800"
      },
      "message": "ART: Add GetPhase\n\nExtend RuntimePhaseCallback. Add support for GetPhase.\nAdd tests.\n\nBug: 31455788\nTest: m test-art-host-run-test-901-hello-ti-agent\nChange-Id: I33b1934a0789bc713675f21c2c9f676c9d3a1ed1\n"
    },
    {
      "commit": "8631a46d6d93d739428873b9b4053d228b9b5cfa",
      "tree": "aef39e578a857c49817398f567bb2508839e942b",
      "parents": [
        "dedb22a0e099c81435a764881bdfa8bb050c3d3f"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Thu Jan 19 19:07:37 2017 -0800"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Thu Jan 19 21:20:45 2017 -0800"
      },
      "message": "Fix polymorphic invokes (one more round).\n\nmemcpy() exhibits undefined behavior when the source and the\ndestination overlap. Use memmove() instead.\n\nThis fixes test failures when running the below tests on MIPS.\n\nTest: booted MIPS32R2 in QEMU\nTest: ./run-test --interpreter 953-invoke-polymorphic-compiler\nTest: ./run-test --interpreter 955-methodhandles-smali\nTest: ./run-test --interpreter 956-methodhandles\nTest: ./run-test --interpreter 957-methodhandle-transforms\nTest: ./run-test --interpreter 958-methodhandle-emulated-stackframe\nTest: ./run-test --interpreter 959-invoke-polymorphic-accessors\n\nChange-Id: Ia17ff25001faa7d91ce1178ab35313c36e75aa07\n"
    },
    {
      "commit": "c93d203b5d9d6e5672ebfdc87f2b72ef99ae8c09",
      "tree": "6babbce490958f360a8d3c8e69989dbe1ce6c9f1",
      "parents": [
        "dedb22a0e099c81435a764881bdfa8bb050c3d3f",
        "4886411a81077e893a6e38c56938a252888ddd0e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 20 05:13:17 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 05:13:17 2017 +0000"
      },
      "message": "Merge \"ART: Add runtime phase callback\""
    },
    {
      "commit": "7b3b326158676a89bc27639b829a3e1746f8c988",
      "tree": "009db3e2e6377e6018a40a8935a518ddfc3e3bdd",
      "parents": [
        "2c19ea93088d7cd187524f49137417279e99096d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 20:40:42 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 20:46:54 2017 -0800"
      },
      "message": "ART: Add tests for TLS\n\nWire up the functions. Actually add tests to 924-threads.\n\nBug: 31684593\nTest: m test-art-host-run-test-924-threads\nChange-Id: Ie4966a57633188fb75278d6bf4bdeb0ff2cd25aa\n"
    },
    {
      "commit": "4886411a81077e893a6e38c56938a252888ddd0e",
      "tree": "62f6effd04ae42206c76510ab64b5000b9c45a96",
      "parents": [
        "2c19ea93088d7cd187524f49137417279e99096d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 17:23:17 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 19:35:49 2017 -0800"
      },
      "message": "ART: Add runtime phase callback\n\nAdd callback that describes the current runtime phase, one of\nstarting, initialized and death. Add test.\n\nBug: 31684920\nTest: m test-art-host-gtest-runtime_callbacks_test\nChange-Id: I08ae7c45851572f8b3e446c07f0498f66bb032d3\n"
    },
    {
      "commit": "dedb22a0e099c81435a764881bdfa8bb050c3d3f",
      "tree": "6435efdec2e5f68e9d8c5034892a5b68567515e2",
      "parents": [
        "2c19ea93088d7cd187524f49137417279e99096d",
        "fd3161acfbe82c54ef49958f0ccc62511f224f91"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 20 03:14:44 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 03:14:45 2017 +0000"
      },
      "message": "Merge \"Enable CC (ART_USE_READ_BARRIER) by default.\""
    },
    {
      "commit": "2c19ea93088d7cd187524f49137417279e99096d",
      "tree": "917f631e734ea25758179c2861323681fd0a736f",
      "parents": [
        "7cd7b964e28ba9985565e7c3154357ed7d153fdf",
        "a5814f9de6009cc1763523109f50aae6bd1ff99e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 20 01:52:53 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 01:52:54 2017 +0000"
      },
      "message": "Merge \"ART: Add SigQuit Callback\""
    },
    {
      "commit": "7cd7b964e28ba9985565e7c3154357ed7d153fdf",
      "tree": "f1dbee29af9bde819b913f52d63b69ef5b10165c",
      "parents": [
        "03042d54563657ca4904cb35a6cd8092b37b2001",
        "ac30fa2151095d2b5fe42f169a02ed09fea312b4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 20 01:49:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 01:49:01 2017 +0000"
      },
      "message": "Merge changes Ib5a3632c,I871f6b3c,I6ce0f71d\n\n* changes:\n  ART: Make RuntimeCallbacks unique_ptr\n  ART: Add ClassLoadCallback\n  Revert \"Revert \"ART: Start RuntimeCallbacks\"\"\n"
    },
    {
      "commit": "03042d54563657ca4904cb35a6cd8092b37b2001",
      "tree": "ee3b509a39400af3cac5be5f6a8974290374123d",
      "parents": [
        "07e56f3e1d1d6d7cca3a8819cb8429a65f0507f2",
        "732b0aca4fb8e5ffbd518ca913cb82810b6b2061"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 20 01:14:42 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 01:14:42 2017 +0000"
      },
      "message": "Merge \"ART: Add Agent Thread API\""
    },
    {
      "commit": "732b0aca4fb8e5ffbd518ca913cb82810b6b2061",
      "tree": "ee3b509a39400af3cac5be5f6a8974290374123d",
      "parents": [
        "07e56f3e1d1d6d7cca3a8819cb8429a65f0507f2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 18 15:23:39 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 17:13:21 2017 -0800"
      },
      "message": "ART: Add Agent Thread API\n\nAdd support for RunAgentThread. Add test.\n\nBug: 31684593\nTest: m test-art-host-run-test-931-agent-thread\nChange-Id: I5deb213fb06eedc5ee78a340458cf0dff615d0ac\n"
    },
    {
      "commit": "07e56f3e1d1d6d7cca3a8819cb8429a65f0507f2",
      "tree": "b4e73fa53001a99f687663e10f4edb9e7cce0b99",
      "parents": [
        "152b9567d0c2382464c844c91c2108608a1bc06f",
        "6ac5750807e0df930bb3791a9d5a8d8d5b5c45c4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 20 01:08:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 01:08:56 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Implement RetransformClasses\"\"\""
    },
    {
      "commit": "a5814f9de6009cc1763523109f50aae6bd1ff99e",
      "tree": "4b09ef54cd9db04dbf87ec8374d5cfc336f9c6ef",
      "parents": [
        "ac30fa2151095d2b5fe42f169a02ed09fea312b4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 18 21:43:16 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 16:09:02 2017 -0800"
      },
      "message": "ART: Add SigQuit Callback\n\nAdd callback being triggered when the runtime handles SigQuit.\n\nBug: 31684920\nTest: m test-art-host-gtest-runtime_callbacks_test\nChange-Id: I23e3b256c654b6078c79b3897439d893ea79d96e\n"
    },
    {
      "commit": "6ac5750807e0df930bb3791a9d5a8d8d5b5c45c4",
      "tree": "b4e73fa53001a99f687663e10f4edb9e7cce0b99",
      "parents": [
        "152b9567d0c2382464c844c91c2108608a1bc06f"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 19 15:05:06 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 19 15:16:53 2017 -0800"
      },
      "message": "Revert \"Revert \"Implement RetransformClasses\"\"\n\nThis reverts commit 52a2db50b76f2b981d21d5508c3d9e8ab4c5fe93.\n\nReason for revert: Issue with RedefineClasses was resolved.\n\nTest: ART_TEST_JNI_FORCECOPY\u003dtrue mma -j40 test-art-host\n\nChange-Id: I06f198df4fb40c48647b358d241710329e0812e9\n"
    },
    {
      "commit": "ac30fa2151095d2b5fe42f169a02ed09fea312b4",
      "tree": "e8ec1355dd7a307c696c1d38775aba5656ac33c6",
      "parents": [
        "0f01b583c3952d0219696480654a0db8fac4b661"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 18 21:02:36 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 15:14:19 2017 -0800"
      },
      "message": "ART: Make RuntimeCallbacks unique_ptr\n\nReduce the transitive closure of headers on runtime.h\n\nTest: m\nChange-Id: Ib5a3632c28b08bf07773f217a7ad711c1f12af6b\n"
    },
    {
      "commit": "0f01b583c3952d0219696480654a0db8fac4b661",
      "tree": "33184022e0c9bc0a6af4d89b21864fd460f32df4",
      "parents": [
        "04bbb5be5b9c0f0b3a72116353d23ea63c8bc5e9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 18 15:22:37 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 15:12:12 2017 -0800"
      },
      "message": "ART: Add ClassLoadCallback\n\nAdd callback for class-load and class-prepare events. Move Dbg\nover. Add tests.\n\nBug: 31684920\nTest: m test-art-host-gtest-runtime_callbacks_test\nTest: art/tools/run-jdwp-tests.sh --mode\u003dhost\nChange-Id: I871f6b3c54448fd6ece8d9a7571b2042be50d525\n"
    },
    {
      "commit": "04bbb5be5b9c0f0b3a72116353d23ea63c8bc5e9",
      "tree": "51ee41e14d6bfccc88ccde91938cac901c0e39a9",
      "parents": [
        "a58bc2e74441ac89cb706b49c5a6d096df97080b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 17:49:03 2017 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 15:12:06 2017 -0800"
      },
      "message": "Revert \"Revert \"ART: Start RuntimeCallbacks\"\"\n\nThis reverts commit bf6331a45f730e1f1044af2ce43bceda660ae6fc.\n\nSwitch to using the mutator lock.\n\nBug: 31684920\nTest: m test-art-host-gtest-runtime_callbacks_test\nTest: art/tools/run-jdwp-tests.sh --mode\u003dhost --debug\nChange-Id: I6ce0f71de2aa9f90cd23cfca7723a793b560b16b\n"
    },
    {
      "commit": "152b9567d0c2382464c844c91c2108608a1bc06f",
      "tree": "912cd5f22202c595c901447353e63c9af0fc2fbc",
      "parents": [
        "a8acb1274c22a6931a542e2fb7960ec82f29da0b",
        "52a2db50b76f2b981d21d5508c3d9e8ab4c5fe93"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 19 23:01:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 19 23:01:27 2017 +0000"
      },
      "message": "Merge \"Revert \"Implement RetransformClasses\"\""
    },
    {
      "commit": "52a2db50b76f2b981d21d5508c3d9e8ab4c5fe93",
      "tree": "4cc89efe98ddc6ef0421405affafce95c5aabae2",
      "parents": [
        "a6c5e97a4395352bc8684e6af9cecb62b80c316c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 19 23:00:21 2017 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 19 23:00:21 2017 +0000"
      },
      "message": "Revert \"Implement RetransformClasses\"\n\nThis reverts commit a6c5e97a4395352bc8684e6af9cecb62b80c316c.\n\nReason for revert: Accidently introduces double-free bug in RedefineClasses.\n\nChange-Id: I021336c4fcf0cfb304915b0ffc5eaba5f91fdd5e\n"
    },
    {
      "commit": "a8acb1274c22a6931a542e2fb7960ec82f29da0b",
      "tree": "ab542b8ea44c8c0060fc1048e730da9feb4ebb17",
      "parents": [
        "a58bc2e74441ac89cb706b49c5a6d096df97080b",
        "8069a0a015905459d1b80520486fd15b915d8ca9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jan 19 22:21:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 19 22:21:32 2017 +0000"
      },
      "message": "Merge \"Delete deadlocking DCHECK for LOS allocation\""
    },
    {
      "commit": "a58bc2e74441ac89cb706b49c5a6d096df97080b",
      "tree": "81855258b002402d77644377688849e734d79095",
      "parents": [
        "7af8c6a499927fbd5fdd74527ee5d3cc84b438ca",
        "a6c5e97a4395352bc8684e6af9cecb62b80c316c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 19 21:09:19 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 19 21:09:20 2017 +0000"
      },
      "message": "Merge \"Implement RetransformClasses\""
    },
    {
      "commit": "8069a0a015905459d1b80520486fd15b915d8ca9",
      "tree": "82f0fae929f547055204c42a0887ae4d2a213dc9",
      "parents": [
        "a8b4390a3b817a455b0abdf575922fea6182170d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jan 19 11:37:22 2017 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jan 19 20:41:25 2017 +0000"
      },
      "message": "Delete deadlocking DCHECK for LOS allocation\n\nThe DCHECK required acquiring the heap bitmap lock. This lock\nmay be held by the GC during checkpoint marking. If the GC was\nblocked waiting for the allocating thread to run its checkpoint, the\nallocating thread would deadlock trying to acquire the heap bitmap\nlock.\n\nBug: 34386492\n\nTest: test-art-host\n\nChange-Id: Idc0bf43cba726c690e578c15bd6373ba0a2c1ecb\n"
    },
    {
      "commit": "7af8c6a499927fbd5fdd74527ee5d3cc84b438ca",
      "tree": "c9bed177c07d4775f7d02dd7f9a40c5c454da320",
      "parents": [
        "f78f64b2bef1646a87f011b3b146d705aedb0bde",
        "33083d626dbf2c8b06badfd73f50e98114483059"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Jan 19 19:42:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 19 19:42:25 2017 +0000"
      },
      "message": "Merge \"Rename offline_profiling_info to profile_compilation_info\""
    },
    {
      "commit": "a6c5e97a4395352bc8684e6af9cecb62b80c316c",
      "tree": "eb16d801ff605ac9e0cbc8512c22cf38668554a1",
      "parents": [
        "a8b4390a3b817a455b0abdf575922fea6182170d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jan 13 14:15:41 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 19 11:29:41 2017 -0800"
      },
      "message": "Implement RetransformClasses\n\nThis CL implements basic support for the RetransformClasses function\nand callbacks of the ClassFileLoadHook.\n\nWe do not yet support calling the ClassFileLoadHook events on first\nload of class.\n\nBug: 32369913\nBug: 31684920\n\nTest: mma -j40 test-art-host\n\nChange-Id: I7959474f03f9903cc6f10ae3c06d9fd531ec7957\n"
    },
    {
      "commit": "fd3161acfbe82c54ef49958f0ccc62511f224f91",
      "tree": "f0a000daa1240058af17cc87b4e82bbb239e8804",
      "parents": [
        "f78f64b2bef1646a87f011b3b146d705aedb0bde"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Jan 18 14:47:25 2017 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Jan 19 11:08:05 2017 -0800"
      },
      "message": "Enable CC (ART_USE_READ_BARRIER) by default.\n\nBug: 34084559\nBug: 12687968\nTest: boot on angler\nTest: test-art-host\nChange-Id: I0287b813335b472dd59aa6b94aeeab2da60b9c99\n"
    },
    {
      "commit": "f78f64b2bef1646a87f011b3b146d705aedb0bde",
      "tree": "70eb3e608346c1b5f718cf80cb2a335d2343eb9d",
      "parents": [
        "a8b4390a3b817a455b0abdf575922fea6182170d",
        "4c04117b42f743cdd63ce8107720c8de8103da5e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 19 19:02:07 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 19 19:02:08 2017 +0000"
      },
      "message": "Merge \"Partial revert of \"Reduce using ArtMethod\u0027s dex_cache_resolved_types_.\"\""
    },
    {
      "commit": "ae6c189b9d63ca4c2ae0e952187819c5e442e3c9",
      "tree": "beb13f852a0e1b3a7867dfd9d64e962d3cb403fb",
      "parents": [
        "a8b4390a3b817a455b0abdf575922fea6182170d"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Jan 05 13:46:36 2017 -0800"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Jan 19 10:49:08 2017 -0800"
      },
      "message": "CHA for abstract methods.\n\nAdd the ability to devirtualize abstract method invocation if\nan abstract method has only one implementation. Only support in JIT\nmode currently.\n\nTest: new testcase and ART_TEST_JIT\u003dtrue m -j20 test-art-host-run-test\nChange-Id: I43da03a9fa9a73840f5eaf207c6611e0913a7f66\n"
    },
    {
      "commit": "4c04117b42f743cdd63ce8107720c8de8103da5e",
      "tree": "70eb3e608346c1b5f718cf80cb2a335d2343eb9d",
      "parents": [
        "a8b4390a3b817a455b0abdf575922fea6182170d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 19 16:25:06 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 19 17:34:26 2017 +0000"
      },
      "message": "Partial revert of \"Reduce using ArtMethod\u0027s dex_cache_resolved_types_.\"\n\nChange Ic45a5ff8c66b79429e440cbc08d67bf22a083682 made the resolution\nfrom true to false, assuming we could only enter that specific code\nwith a resolved type. Unfortunately b/34440020 shows we still\nneed to resolve.\n\nAlso move arg to a Handle, now that we are resolving, which could\nlead to thread suspension.\n\nbug:34440020\nbug:34452336\nTest: test-art-host test-art-target\nChange-Id: I98c834158733a46cf896e7dfa7ce226c53e2d949\n"
    },
    {
      "commit": "cdcbddf7efe4d731f03b17efd088fbb653a1aed1",
      "tree": "5f2161e271be9a7ed1a3e3faa3ec8d6242658b07",
      "parents": [
        "a8b4390a3b817a455b0abdf575922fea6182170d"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jan 19 16:58:39 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jan 19 16:58:39 2017 +0000"
      },
      "message": "Do not use npic image for oat file assistant tests.\n\nBecause patchoat will no longer support relocating npic images.\nAll that matters for the oat file assistant test is that the secondary\nboot image has a different checksum than the primary one.\n\nBug: 33192586\nTest: oat_file_assistant_test\nChange-Id: I7ece86337221a9d0c56534b2045026ba5d3d7d89\n"
    },
    {
      "commit": "a8b4390a3b817a455b0abdf575922fea6182170d",
      "tree": "4cc89efe98ddc6ef0421405affafce95c5aabae2",
      "parents": [
        "c9569731061e560cb56116255b00a49d6a5daeb8",
        "ccfa88550333980efd5991602c9557b363474a39"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Jan 19 14:24:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 19 14:24:55 2017 +0000"
      },
      "message": "Merge \"Always inline some methods related to StackMap.\""
    },
    {
      "commit": "c9569731061e560cb56116255b00a49d6a5daeb8",
      "tree": "ad922c0aed731171209cb5d80d3aa947f1cf8be8",
      "parents": [
        "308fa4d9044f2f67c2a7569660fcdb3f01ec8c37",
        "8d91ac31ccb92557e434d89ffade3372466e1af5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 19 14:11:35 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 19 14:11:36 2017 +0000"
      },
      "message": "Merge \"Remove unused array entrypoints.\""
    },
    {
      "commit": "308fa4d9044f2f67c2a7569660fcdb3f01ec8c37",
      "tree": "ccd6bdd48cf702474f4d0708181e71a3ec439230",
      "parents": [
        "6141e156f7a62646f0350c6f0b368b591fb1211d",
        "9cd522b50a5f0209e97a2e6bcf8c9c350d3f3f83"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 19 13:20:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 19 13:20:59 2017 +0000"
      },
      "message": "Merge \"Remove now unused dex_cache_resolved_types_ from ArtMethod.\""
    },
    {
      "commit": "6141e156f7a62646f0350c6f0b368b591fb1211d",
      "tree": "4a58e57aca07649b696be47df911d9675451e157",
      "parents": [
        "2f670ccba022fe557c637571ac781519f0e84463",
        "9a506613529a17b7372a3abb02b9ffee8ea507d7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 19 13:09:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 19 13:09:11 2017 +0000"
      },
      "message": "Merge \"ART: Remove unused runtime.h include\""
    },
    {
      "commit": "8d91ac31ccb92557e434d89ffade3372466e1af5",
      "tree": "37fd364ba6c9a6cf5e6a60a00c2542c5ffb12528",
      "parents": [
        "2f670ccba022fe557c637571ac781519f0e84463"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 18 18:07:15 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 19 11:56:43 2017 +0000"
      },
      "message": "Remove unused array entrypoints.\n\nTest: test-art-host test-art-target\nChange-Id: I910d1c912c7c9056ecea0e1e7da7afb2a7220dfa\n"
    },
    {
      "commit": "865cf901e9f16680ca3594a5ab8d8e17b0b6f9d4",
      "tree": "db540e1ed15f55491344c7399fbe46b13a21eb9a",
      "parents": [
        "4507fdcb70bd570d5f3968061bf991f0a1233a93"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 18 14:34:48 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 19 11:34:51 2017 +0000"
      },
      "message": "vdex optimization: avoid doing application type resolution.\n\nWhen looking up for methods/fields, we can take the class\nthat was originally found as holding the method. If a subclass\nof that class ends up redefining it after an OTA, it cannot\nalter the expected flags anyways (eg a public method cannot be\noverridden with a non-public method).\n\nbug: 30937355\ntest: test-art-host\nChange-Id: Ie3fbe0e829a27db61c534c4a49e945cc1afed9b9\n"
    },
    {
      "commit": "2f670ccba022fe557c637571ac781519f0e84463",
      "tree": "f7194f40c238eaff73e47844c8c9ab54fc967f5d",
      "parents": [
        "fcb6e39157aa5e01dd61f7147a94f740201f89c0",
        "e761bccf9f0d884cc4d4ec104568cef968296492"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 19 11:15:05 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 19 11:15:06 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Load the array class in the compiler for allocations.\"\"\""
    },
    {
      "commit": "fcb6e39157aa5e01dd61f7147a94f740201f89c0",
      "tree": "04eae7e3d144e277a24078c9dc22996b610808fe",
      "parents": [
        "9e8c8ca2d4c73d16d58d2375421d30a47df2f81c",
        "cb6a5916cce4f18c7183fa8731446a084fb28fe5"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jan 19 10:57:52 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 19 10:57:53 2017 +0000"
      },
      "message": "Merge \"Revert^3 \"Remove unused code for patching oat files.\"\""
    },
    {
      "commit": "cb6a5916cce4f18c7183fa8731446a084fb28fe5",
      "tree": "ee5dc4db783f67fa83e0ba36fc84f052ac6b8d60",
      "parents": [
        "e7ec8b25dd6ac1b8ad8a68f808048bd6a61138f0"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jan 19 10:53:59 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jan 19 10:56:22 2017 +0000"
      },
      "message": "Revert^3 \"Remove unused code for patching oat files.\"\n\nThis reverts commit e7ec8b25dd6ac1b8ad8a68f808048bd6a61138f0.\nBecause tests are failing.\n\nBug: 33192586\n\nChange-Id: I3e575c6c037873195c2177241153e3646d58e8a6\n"
    },
    {
      "commit": "9e8c8ca2d4c73d16d58d2375421d30a47df2f81c",
      "tree": "5a8700a97ebc348050822fd2a67c3966af39600c",
      "parents": [
        "ee64b4d83aca1874f78ee80f58ae61333d327436",
        "6c4921b3a13ab645045dd20e5386daf552a31f41"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 19 10:35:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 19 10:35:48 2017 +0000"
      },
      "message": "Merge \"ART: Improve class initializer and constructor verification.\""
    },
    {
      "commit": "ee64b4d83aca1874f78ee80f58ae61333d327436",
      "tree": "067fda80cf4951da3ed72b04354b009a130e72f6",
      "parents": [
        "44751efea1d5457f8eaf1b685ac9a09be1fd7c3e",
        "e7ec8b25dd6ac1b8ad8a68f808048bd6a61138f0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 19 09:40:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 19 09:40:34 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Remove unused code for patching oat files.\"\"\""
    },
    {
      "commit": "e761bccf9f0d884cc4d4ec104568cef968296492",
      "tree": "05a2d20d61c0e91270df2747f0c242433b5ce62b",
      "parents": [
        "b0355130e38034db6b904783a00f74a3524e1881"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 19 08:59:37 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 19 09:32:17 2017 +0000"
      },
      "message": "Revert \"Revert \"Load the array class in the compiler for allocations.\"\"\n\nThis reverts commit fee255039e30c1c3dfc70c426c3d176221c3cdf9.\n\nChange-Id: I02b45f9a659d872feeb35df40b42c1be9878413a\n"
    },
    {
      "commit": "44751efea1d5457f8eaf1b685ac9a09be1fd7c3e",
      "tree": "920e59513f690dd13f8a5edf7e043d418d95b192",
      "parents": [
        "b0355130e38034db6b904783a00f74a3524e1881",
        "bf6331a45f730e1f1044af2ce43bceda660ae6fc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 19 09:03:12 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 19 09:03:13 2017 +0000"
      },
      "message": "Merge \"Revert \"ART: Start RuntimeCallbacks\"\""
    },
    {
      "commit": "bf6331a45f730e1f1044af2ce43bceda660ae6fc",
      "tree": "66013474dc85b2a868d5fad2506c8674a086fa1a",
      "parents": [
        "13093d455b8266338fd713b04261c58e9dc2b164"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 19 09:02:50 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 19 09:02:50 2017 +0000"
      },
      "message": "Revert \"ART: Start RuntimeCallbacks\"\n\njdwp tests failing with:\n    STDERR\u003e dalvikvm32 E 01-18 23:14:50 12180 12198 thread-inl.h:137] holding \"runtime callbacks lock\" at point where thread suspension is expected\n\nBug: 31684920\n\nThis reverts commit 13093d455b8266338fd713b04261c58e9dc2b164.\n\nChange-Id: I94e4154e273d006eecdd485607dcfd96392d6a00\n"
    },
    {
      "commit": "6c4921b3a13ab645045dd20e5386daf552a31f41",
      "tree": "46ff2d2d320a250a1ce6e5094a67632293093a4b",
      "parents": [
        "a6040d4cca09c1030bbfcfdc131e38c7d6da8888"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Sep 21 15:41:06 2016 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jan 19 09:01:02 2017 +0000"
      },
      "message": "ART: Improve class initializer and constructor verification.\n\nDEX file verifier checks additional properties of class initializers\nand constructors:\n\n(i) Names match expected \u003cclinit\u003e / \u003cinit\u003e.\n(ii) The method descriptor for \u003cclinit\u003e is ()V.\n(iii) The return type of \u003cinit\u003e is V.\n(iV) No other names start with \u0027\u003c\u0027.\n\nBug:  31313719\nChange-Id: I60bffa6561e1bae353f97c42377ea556bfa790af\nTest: m test-art-host-gtest-dex_file_verifier_test\n"
    },
    {
      "commit": "9a506613529a17b7372a3abb02b9ffee8ea507d7",
      "tree": "25cda2d61318785b0f49f77ecfac85e6f0214b82",
      "parents": [
        "b0355130e38034db6b904783a00f74a3524e1881"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 18 21:30:48 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 18 21:30:48 2017 -0800"
      },
      "message": "ART: Remove unused runtime.h include\n\nThis has not been used since 98e6ce44c700abd9375fe17f0aa31fea1e1e938b.\n\nTest: m\nChange-Id: If10971f9fcfb2417eece23f0c9186734314ad81b\n"
    },
    {
      "commit": "b0355130e38034db6b904783a00f74a3524e1881",
      "tree": "3aa9cbf5f2c99484c427900bb2ffd2c295917d59",
      "parents": [
        "0157eee15c1c2398c2b42433b7a094e319cb7935",
        "fee255039e30c1c3dfc70c426c3d176221c3cdf9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 19 03:37:11 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 19 03:37:12 2017 +0000"
      },
      "message": "Merge \"Revert \"Load the array class in the compiler for allocations.\"\""
    },
    {
      "commit": "33083d626dbf2c8b06badfd73f50e98114483059",
      "tree": "f6f5db21855a6182b591b57e6a34e5c1fc41b7d0",
      "parents": [
        "fd5f52b60cfa217fb0c4d7dcabdd0336b55990d7"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jan 18 15:29:12 2017 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jan 18 19:00:21 2017 -0800"
      },
      "message": "Rename offline_profiling_info to profile_compilation_info\n\nThis solves a long standing TODO to align the names of the files and the\nclass.\n\nBug: 32434870\nTest: test-art-host\n\nChange-Id: I2707da8fef8736a7223189d894fc00ff11bfab12\n"
    },
    {
      "commit": "fee255039e30c1c3dfc70c426c3d176221c3cdf9",
      "tree": "8207b72cc76513fed9f7b3c01aaa32cd54a87f1c",
      "parents": [
        "cc99df230feb46ba717252f002d0cc2da6828421"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Jan 19 02:11:15 2017 +0000"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Jan 19 02:11:15 2017 +0000"
      },
      "message": "Revert \"Load the array class in the compiler for allocations.\"\n\nlibcore test fails.\n\nThis reverts commit cc99df230feb46ba717252f002d0cc2da6828421.\n\nChange-Id: I5bac595acd2b240886062e8c1f11f9095ff6a9ed\n"
    },
    {
      "commit": "0157eee15c1c2398c2b42433b7a094e319cb7935",
      "tree": "6d68a1f215f57c6a0d37c3b8bfa21a7f395355f0",
      "parents": [
        "1a901eff5edeffaae26bd4575d4cb2d7acb7ea89",
        "f8cd890d86e2a136966d878fea1d0dae6a9c4ad0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 19 02:10:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 19 02:10:21 2017 +0000"
      },
      "message": "Merge \"ART: Note CC configuration down into oat files\""
    },
    {
      "commit": "1a901eff5edeffaae26bd4575d4cb2d7acb7ea89",
      "tree": "d7f87e2f639a0861a666a2f7a3d2ae078c347d64",
      "parents": [
        "a7e64f00df89dfd984a8798548af46c7d0657511",
        "73afd322e0e55ec4cda570cc240e1f22db215851"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 19 01:24:24 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 19 01:24:25 2017 +0000"
      },
      "message": "Merge \"Split ArtJvmtiEvent::kClassFileLoadHook in two.\""
    },
    {
      "commit": "ccfa88550333980efd5991602c9557b363474a39",
      "tree": "993d9baa85c04fac5df8a252efe1c36d301e2fa5",
      "parents": [
        "a7e64f00df89dfd984a8798548af46c7d0657511"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Jan 18 14:51:59 2017 -0800"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Jan 18 17:02:39 2017 -0800"
      },
      "message": "Always inline some methods related to StackMap.\n\nThis significantly speeds up stack walking on Pmd in Dacapo (10-30%).\n\nTest: test-art-host\nChange-Id: I79513b0b3d611e591c44e252062abf6a4f902797\n"
    },
    {
      "commit": "f8cd890d86e2a136966d878fea1d0dae6a9c4ad0",
      "tree": "61124576ed78f05cb4f071a1cd3c69d82a824d53",
      "parents": [
        "5d61614eda1ec69d46584605b439c56b6f3fd5e0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 18 16:05:01 2017 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Jan 18 16:34:50 2017 -0800"
      },
      "message": "ART: Note CC configuration down into oat files\n\nTo detect changes in configuration, write the runtime configuration\nof ART_USE_READ_BARRIER into the oat file key-value store.\n\nBug: 34084559\nBug: 12687968\nTest: m test-art-host\nTest: m ART_USE_READ_BARRIER\u003dtrue test-art-host\nChange-Id: I0b2bd9aa5546538e2b4b669b0acc0a4bebfd7bf0\n"
    },
    {
      "commit": "a7e64f00df89dfd984a8798548af46c7d0657511",
      "tree": "fc87511672825a99a034c2955efd7cd38d16f283",
      "parents": [
        "5d61614eda1ec69d46584605b439c56b6f3fd5e0",
        "13093d455b8266338fd713b04261c58e9dc2b164"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 18 22:52:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 18 22:52:26 2017 +0000"
      },
      "message": "Merge \"ART: Start RuntimeCallbacks\""
    },
    {
      "commit": "73afd322e0e55ec4cda570cc240e1f22db215851",
      "tree": "5fe84b984d7521ae6033f93403db9c0c0d7e1a5f",
      "parents": [
        "40d87f450e6c1d38edd539405d4e79e4c64ad7c6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 18 11:17:47 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 18 14:43:44 2017 -0800"
      },
      "message": "Split ArtJvmtiEvent::kClassFileLoadHook in two.\n\nSince the ClassFileLoadHook event is sent to different environments\nbased on when it is invoked we split the event in two behind the\nscenes. The event dispatcher is responsible for making sure that\neither or both of the appropriate underlying events are invoked when a\nJVMTI_EVENT_CLASS_FILE_LOAD_HOOK is sent.\n\nWe also make sure to modify the EventHandler so it sends the correct\nevents in the correct places when an environment changes its\ncapabilities.\n\nBug: 32369913\nBug: 31684920\n\nTest: mma -j40 test-art-host\n\nChange-Id: I82567fc66debe0b658e8d7fced6284a8c4355b7a\n"
    },
    {
      "commit": "5d61614eda1ec69d46584605b439c56b6f3fd5e0",
      "tree": "07978621d7e695fe5c1aff475fea9d5b01d6156c",
      "parents": [
        "3f38eb44ee5a6aaaf97be3db33d53b82c770cbc3",
        "40d87f450e6c1d38edd539405d4e79e4c64ad7c6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 18 20:47:13 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 18 20:47:14 2017 +0000"
      },
      "message": "Merge \"Refactor jvmtiEvent so we can add to it.\""
    },
    {
      "commit": "3f38eb44ee5a6aaaf97be3db33d53b82c770cbc3",
      "tree": "d2cf680adc8cb559ce3e4de8e1db7aeaa7d9218b",
      "parents": [
        "d79ae05256ac97a9257e2f11dcf2a2d63f5d14a2",
        "c77364cbfc4934abcf3a24f50cc1670436fe9e19"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 18 20:43:01 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 18 20:43:02 2017 +0000"
      },
      "message": "Merge \"Fix check failure in ConcurrentCopying::IssueEmptyCheckpoint().\""
    },
    {
      "commit": "13093d455b8266338fd713b04261c58e9dc2b164",
      "tree": "b4c5e54ce8a74af2f8929df089133967ea7f7274",
      "parents": [
        "3a5e34b65727d2c9e7e6ebe45c337dae0d0398a4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 17 21:40:35 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 18 19:48:37 2017 +0000"
      },
      "message": "ART: Start RuntimeCallbacks\n\nAdd a central RuntimeCallbacks structure to handle certain interesting\nruntime events.\n\nIn a first iteration, add ThreadLifecycleCallback with ThreadStart and\nThreadStop. Move Dbg over to ThreadLifecycleCallback.\n\nAdd a test.\n\nBug: 31684920\nTest: m test-art-host-gtest-runtime_callbacks_test\nTest: art/tools/run-jdwp-tests.sh --mode\u003dhost\nChange-Id: Ie0f77739a563207bfb4f04374e72dc6935c40b4f\n"
    },
    {
      "commit": "d79ae05256ac97a9257e2f11dcf2a2d63f5d14a2",
      "tree": "09620011d2083dddd6a81812ddcc733facef7c04",
      "parents": [
        "66d2d484a0002c9e66eae320564e64af40d2c434",
        "1a87b3b32efb6899681a4aee6632fe9d5e2c2dc4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 18 19:26:44 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 18 19:26:45 2017 +0000"
      },
      "message": "Merge \"ART: Disable test 901 on target\""
    },
    {
      "commit": "40d87f450e6c1d38edd539405d4e79e4c64ad7c6",
      "tree": "3afa376b807407a33704db4a549ffb8266acc782",
      "parents": [
        "c3b7bf3bcc55ec3c684210176ff6ddeb9d33ac19"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 18 10:27:06 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 18 11:04:12 2017 -0800"
      },
      "message": "Refactor jvmtiEvent so we can add to it.\n\nChange all code over to using ArtJvmtiEvent from jvmtiEvent so that we\nhave a way to add additional internal events if the need arises.\n\nBug: 32369913\nBug: 31684920\n\nTest: mma -j40 test-art-host\n\nChange-Id: I555475048d2e753db8adf317dc1f66d81533cde0\n"
    },
    {
      "commit": "66d2d484a0002c9e66eae320564e64af40d2c434",
      "tree": "5a7e706ab1e3c3ae2680b775976fe3b899fe3e50",
      "parents": [
        "d4a282789669b27ce0352c99c26469b07a86d871",
        "6f8e4f0fc378b49b8203db9a64777be3c773556a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 18 18:54:49 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 18 18:54:50 2017 +0000"
      },
      "message": "Merge changes Ib9fafbac,I05d73734,I0e95b0cb\n\n* changes:\n  ART: Add JNI API\n  ART: Align jvmti.h with jni.h\n  ART: Add JNI function table manipulation\n"
    },
    {
      "commit": "1a87b3b32efb6899681a4aee6632fe9d5e2c2dc4",
      "tree": "c7905b87339c4257cdf2b62a80352a5c04b71ebd",
      "parents": [
        "d4a282789669b27ce0352c99c26469b07a86d871"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 18 09:55:54 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 18 09:55:54 2017 -0800"
      },
      "message": "ART: Disable test 901 on target\n\nAs this is now doing slightly more work, disable like the other\ntests.\n\nBug: 31681198\nTest: m test-art-target\nChange-Id: I73c9f2da1024f8eabc67aba12659d34878cec1f1\n"
    },
    {
      "commit": "6f8e4f0fc378b49b8203db9a64777be3c773556a",
      "tree": "5a7e706ab1e3c3ae2680b775976fe3b899fe3e50",
      "parents": [
        "0bd1a16e91cd7d602fff3f4b0c8f98e7f3fc4e44"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jan 16 18:18:14 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 18 09:26:59 2017 -0800"
      },
      "message": "ART: Add JNI API\n\nAdd support for GetJNIFunctionTable and SetJNIFunctionTable. Add\ntests.\n\nBug: 34343708\nTest: m test-art-host-run-test-928-jni-table\nChange-Id: Ib9fafbac2781c570aa6eacf5242afbbf6c3ee7a9\n"
    },
    {
      "commit": "0bd1a16e91cd7d602fff3f4b0c8f98e7f3fc4e44",
      "tree": "70803b1a060121d78829e7d950814fe785d5ae25",
      "parents": [
        "c8089540ccf0f1c43d8db3828f21d489b28a4013"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jan 16 18:53:59 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 18 09:24:52 2017 -0800"
      },
      "message": "ART: Align jvmti.h with jni.h\n\nAndroid follows the JNI specification and names the JNI function\ntable without the underscore.\n\nBug: 34343708\nTest: m test-art-host\nChange-Id: I05d73734545f9077ad66aceb335bdc8a76603a71\n"
    },
    {
      "commit": "c8089540ccf0f1c43d8db3828f21d489b28a4013",
      "tree": "dd1d7038adfd2474ba5648e8c5312ca1f8c098e7",
      "parents": [
        "d4a282789669b27ce0352c99c26469b07a86d871"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jan 16 12:41:12 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 18 09:24:52 2017 -0800"
      },
      "message": "ART: Add JNI function table manipulation\n\nAdd support for a function table override. This will override the\ndecision between the regular and the CheckJNI function tables, if\nset.\n\nBug: 34343708\nTest: m test-art-host-gtest-jni_internal_test\nChange-Id: I0e95b0cbd21f4efdcd8c3d312781d9aeeff54a1e\n"
    },
    {
      "commit": "d4a282789669b27ce0352c99c26469b07a86d871",
      "tree": "037d234b5410becd373ae42c37b8b6c265b57741",
      "parents": [
        "24e2ded0f9b7715e3dccfe41d2467cc5a7eea84d",
        "ce7732bcb504fc91ed201d8e2128e30d51ee9bdb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 18 17:16:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 18 17:16:07 2017 +0000"
      },
      "message": "Merge \"ART: Add Search API\""
    },
    {
      "commit": "24e2ded0f9b7715e3dccfe41d2467cc5a7eea84d",
      "tree": "3b90f424d73024f07fdb00e3df7778cc9d24fee2",
      "parents": [
        "c3b7bf3bcc55ec3c684210176ff6ddeb9d33ac19",
        "acfc9571b66ecc60a8ae51f15564008012a4c47a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 18 17:15:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 18 17:15:42 2017 +0000"
      },
      "message": "Merge \"ART: Add GetJLocationFormat\""
    },
    {
      "commit": "9cd522b50a5f0209e97a2e6bcf8c9c350d3f3f83",
      "tree": "503af07a0a6122d161a81dfed2d2e64f8e501d5a",
      "parents": [
        "c3b7bf3bcc55ec3c684210176ff6ddeb9d33ac19"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 18 17:05:59 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 18 17:08:57 2017 +0000"
      },
      "message": "Remove now unused dex_cache_resolved_types_ from ArtMethod.\n\nTest: test-art-host test-art-target\nChange-Id: I004c040da165934f74eb8b8e85e99e7c6621c2df\n"
    },
    {
      "commit": "c3b7bf3bcc55ec3c684210176ff6ddeb9d33ac19",
      "tree": "e35684d252ac9ff1f505f142f2ce62289e74ae93",
      "parents": [
        "2ee01bff00e386c4bb315e148bac745613cbb7a3",
        "cc99df230feb46ba717252f002d0cc2da6828421"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 18 15:43:07 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 18 15:43:08 2017 +0000"
      },
      "message": "Merge \"Load the array class in the compiler for allocations.\""
    },
    {
      "commit": "e7ec8b25dd6ac1b8ad8a68f808048bd6a61138f0",
      "tree": "15ff579bc746e0852b5c7ea3a04ad2335d80360a",
      "parents": [
        "404b0120615fd4590bc51b506074c2dc19d48a65"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jan 18 14:27:51 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jan 18 15:27:16 2017 +0000"
      },
      "message": "Revert \"Revert \"Remove unused code for patching oat files.\"\"\n\nThis reverts commit 78985875702c52657066da158c0246ef07115385.\n\nBug: 33192586\nTest: m test-art-host\nTest: m test-art-target\nTest: device boots\n\nChange-Id: I848b39a2b9b3c48beca2c68f9a316626a81abb39\n"
    },
    {
      "commit": "cc99df230feb46ba717252f002d0cc2da6828421",
      "tree": "73ac045673e150fa367a8da4d46874f28e928491",
      "parents": [
        "4507fdcb70bd570d5f3968061bf991f0a1233a93"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 17 23:00:24 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 18 15:16:32 2017 +0000"
      },
      "message": "Load the array class in the compiler for allocations.\n\nRemoving one other dependency for needing to pass\nthe current method, and having dex_cache_resolved_types_\nin ArtMethod.\n\noat file increase:\n- x64: 0.25%\n- arm32: 0.30%\n- x86: 0.28%\n\ntest: test-art-host, test-art-target\nChange-Id: Ibca4fa00d3e31954db2ccb1f65a584b8c67cb230\n"
    },
    {
      "commit": "2ee01bff00e386c4bb315e148bac745613cbb7a3",
      "tree": "816db16571d2c873c9df6fd52f8b6d39d45f76d8",
      "parents": [
        "404b0120615fd4590bc51b506074c2dc19d48a65",
        "e83504b520007dc3bb03764c575c304f46d34123"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 18 14:52:33 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 18 14:52:33 2017 +0000"
      },
      "message": "Merge \"Fix Mips build.\""
    },
    {
      "commit": "404b0120615fd4590bc51b506074c2dc19d48a65",
      "tree": "ee5dc4db783f67fa83e0ba36fc84f052ac6b8d60",
      "parents": [
        "4507fdcb70bd570d5f3968061bf991f0a1233a93",
        "af35a25df922e21c04e323c81fac1fa7c5fc7bee"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 18 14:28:59 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 18 14:29:00 2017 +0000"
      },
      "message": "Merge \"Fix IP register usage in LoadClassSlowPathARMVIXL.\""
    },
    {
      "commit": "e83504b520007dc3bb03764c575c304f46d34123",
      "tree": "f1276db6a77baca1a3dc40aa3f62de51af0c3a55",
      "parents": [
        "ce27739a1207c530c0ecebaefef80652f401f2d1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 18 13:30:00 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 18 13:30:00 2017 +0000"
      },
      "message": "Fix Mips build.\n\nTest: build mips\nChange-Id: Icadff73d6a266bbdfd6cb67a66f04f559f28846d\n"
    },
    {
      "commit": "af35a25df922e21c04e323c81fac1fa7c5fc7bee",
      "tree": "97277a14ac47d681fe09c91951768c11b386da49",
      "parents": [
        "4ca818c31cc38746332e68a89ca48be88aa9d7b6"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jan 18 12:54:44 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jan 18 13:01:55 2017 +0000"
      },
      "message": "Fix IP register usage in LoadClassSlowPathARMVIXL.\n\nRequest a temporary from a UseScratchRegisterScope instead\nof explicitly specifying the IP register to avoid assetion\nfailure in VIXL.\n\nTest: Build aosp_flounder-userdebug with ART_USE_VIXL_ARM_BACKEND\u003dtrue\nBug: 34340177\nBug: 30627598\nChange-Id: Ie39fbbb66165d752634cde8d2963129641558b93\n"
    },
    {
      "commit": "4507fdcb70bd570d5f3968061bf991f0a1233a93",
      "tree": "8207b72cc76513fed9f7b3c01aaa32cd54a87f1c",
      "parents": [
        "419b7f558d34905dd01a2cd4a5e1af8868b17cf1",
        "39cee66a8ddf0254626c9591662cf87e4a1cedc4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 18 12:40:59 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 18 12:41:00 2017 +0000"
      },
      "message": "Merge \"Entrypoints cleanup.\""
    },
    {
      "commit": "419b7f558d34905dd01a2cd4a5e1af8868b17cf1",
      "tree": "98df0464e98527f2432caa57ab3f961433b7c6fd",
      "parents": [
        "a3974581751cd73a896f7c4fcab71beb17c4f9dc",
        "4638106aa6978935355cea4c6eb9d54bb190d437"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 18 12:28:27 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 18 12:28:28 2017 +0000"
      },
      "message": "Merge \"Blacklist tests for flaky no-image.\""
    },
    {
      "commit": "39cee66a8ddf0254626c9591662cf87e4a1cedc4",
      "tree": "be25df71e51ce03a8847c23934322b8f282a291b",
      "parents": [
        "a3974581751cd73a896f7c4fcab71beb17c4f9dc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 13 16:04:53 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 18 11:12:33 2017 +0000"
      },
      "message": "Entrypoints cleanup.\n\nRemove unused ones to facilitate the transition to compressed\ndex caches.\n\ntest: test-art-host, test-art-target\nChange-Id: I1d1cb0daffa86dd9dda2eaa3c1ea3650a5c8d9d0\n"
    },
    {
      "commit": "4638106aa6978935355cea4c6eb9d54bb190d437",
      "tree": "98df0464e98527f2432caa57ab3f961433b7c6fd",
      "parents": [
        "a3974581751cd73a896f7c4fcab71beb17c4f9dc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 18 11:08:02 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 18 11:08:02 2017 +0000"
      },
      "message": "Blacklist tests for flaky no-image.\n\nbug: 34369284\nChange-Id: I09db432db8d99223f4f41e2d7bda7927ad5af9d5\n"
    },
    {
      "commit": "a3974581751cd73a896f7c4fcab71beb17c4f9dc",
      "tree": "66bcf219ae6cf6ab50793c7ea9e233e4061ab28d",
      "parents": [
        "c66a76f94ec823d2021879ab6f4a1934a2274ace",
        "942fd3130254d8276cbfe8e6201825e9c49e9b2c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jan 18 10:52:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 18 10:52:21 2017 +0000"
      },
      "message": "Merge \"Reduce using ArtMethod\u0027s dex_cache_resolved_types_.\""
    },
    {
      "commit": "c66a76f94ec823d2021879ab6f4a1934a2274ace",
      "tree": "787c9dc663410dd35ba8a6801ba0004edeffcd25",
      "parents": [
        "a6040d4cca09c1030bbfcfdc131e38c7d6da8888",
        "c480b9853ac7be67581cd26c49c2ed7426ae68a4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jan 18 10:25:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 18 10:25:55 2017 +0000"
      },
      "message": "Merge \"MIPS: Fix polymorphic invokes.\""
    },
    {
      "commit": "c480b9853ac7be67581cd26c49c2ed7426ae68a4",
      "tree": "183b398011b1a4d36f4ac32d37fabf7b52086e2d",
      "parents": [
        "55ddcc8fe93d5b22e1ab092d20ba8f76a834c0cf"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Mon Jan 16 19:03:21 2017 -0800"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Tue Jan 17 21:02:25 2017 -0800"
      },
      "message": "MIPS: Fix polymorphic invokes.\n\nThis fixes MIPS-specific optimizing compiler bugs introduced in\ncommit ac141397dc29189ad2b2df41f8d4312246beec60.\n\nThe below tests still fail in interpreter mode and this will be\naddressed separately.\n\nTest: booted MIPS32R2 in QEMU\nTest: ./run-test --optimizing 953-invoke-polymorphic-compiler\nTest: ./run-test --optimizing 955-methodhandles-smali\nTest: ./run-test --optimizing 956-methodhandles\nTest: ./run-test --optimizing 957-methodhandle-transforms\nTest: ./run-test --optimizing 958-methodhandle-emulated-stackframe\nTest: ./run-test --optimizing 959-invoke-polymorphic-accessors\nTest: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU\nTest: same tests as above and\nTest: ./run-test --optimizing --64 953-invoke-polymorphic-compiler\nTest: ./run-test --optimizing --64 955-methodhandles-smali\nTest: ./run-test --optimizing --64 956-methodhandles\nTest: ./run-test --optimizing --64 957-methodhandle-transforms\nTest: ./run-test --optimizing --64 958-methodhandle-emulated-stackframe\nTest: ./run-test --optimizing --64 959-invoke-polymorphic-accessors\n\nChange-Id: I6119e8b86448e022f68b10cd3a8912a2bd1976c5\n"
    },
    {
      "commit": "ce7732bcb504fc91ed201d8e2128e30d51ee9bdb",
      "tree": "8875e446d90a3436576da3abe5c45ed9b81aaada",
      "parents": [
        "3a5e34b65727d2c9e7e6ebe45c337dae0d0398a4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 17 15:50:26 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 17 20:40:31 2017 -0800"
      },
      "message": "ART: Add Search API\n\nAdd initial support for AddToBootstrapClassLoaderSearch and\nAddToSystemClassLoaderSearch. The current implementation does\nnot support the OnLoad phase.\n\nAdd tests.\n\nBug: 34359699\nTest: m test-art-host-run-test-929-search\nChange-Id: I42955ff381cd3828bfd772bee2f9b0745195ee51\n"
    },
    {
      "commit": "a6040d4cca09c1030bbfcfdc131e38c7d6da8888",
      "tree": "23c9c5c22f2a583e92aa122b16a7cdfc2cdbdf3c",
      "parents": [
        "fd5f52b60cfa217fb0c4d7dcabdd0336b55990d7",
        "d18d9e2a94445d4b42e4bc6f0e642e6f76b4706d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 18 02:51:15 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 18 02:51:16 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"ART: Add ThreadGroup API support\"\"\""
    },
    {
      "commit": "acfc9571b66ecc60a8ae51f15564008012a4c47a",
      "tree": "d61eb30c68d01d90b26e04dcda317a25a2720efb",
      "parents": [
        "3a5e34b65727d2c9e7e6ebe45c337dae0d0398a4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 17 18:36:56 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 17 18:36:56 2017 -0800"
      },
      "message": "ART: Add GetJLocationFormat\n\nAdd support for GetJLocationFormat. Set the format to bytecode\nindices.\n\nBug: 31455788\nTest: m test-art-host\nChange-Id: I1e1142686a9187274dd45d6243cdad500d2dc7d1\n"
    },
    {
      "commit": "fd5f52b60cfa217fb0c4d7dcabdd0336b55990d7",
      "tree": "90f756d4c59de731236451fa9a47f5946349c87f",
      "parents": [
        "3a5e34b65727d2c9e7e6ebe45c337dae0d0398a4",
        "160ab8efc1d814a335e3b31d8ba1344ebd135053"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jan 18 00:39:08 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 18 00:39:09 2017 +0000"
      },
      "message": "Merge \"Do test_getStackTraces last for test 129\""
    }
  ],
  "next": "3a5e34b65727d2c9e7e6ebe45c337dae0d0398a4"
}
