)]}'
{
  "log": [
    {
      "commit": "1af0c4ff8b79ad44a4e12d7271a66d4e775ba224",
      "tree": "3e5e2527241d423290df454d551bf6787a052f0d",
      "parents": [
        "71601907b95a3527fc554a3a1724b3c12b872a7a"
      ],
      "author": {
        "name": "Julien Duraj",
        "email": "julien.duraj@linaro.org",
        "time": "Wed Nov 16 14:05:48 2016 +0000"
      },
      "committer": {
        "name": "Julien Duraj",
        "email": "julien.duraj@linaro.org",
        "time": "Wed Nov 23 10:37:31 2016 +0000"
      },
      "message": "Fix the target Linux builds of ART\n\nWhen ART_TARGET_LINUX was set it would hit some pieces of dead code that\nwere using old defines i.e. `__ANDROID__`\n\nTest: export ART_TARGET_LINUX\u003dtrue\nTest: source build/envsetup.sh\nTest: lunch\nTest: cd art \u0026\u0026 mma\n\nChange-Id: I80102750192928606e0884d2b723a87ccb7d7e19\n"
    },
    {
      "commit": "71601907b95a3527fc554a3a1724b3c12b872a7a",
      "tree": "bfe7b98d5360364dc8ff13187bed0143f97650ad",
      "parents": [
        "f215c5255ce817e3baca7d71f8de72001f6dfbcd",
        "7f07f5528be20b11f9bfc4010477ebf8bdfa33ab"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Nov 23 10:33:03 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 23 10:33:04 2016 +0000"
      },
      "message": "Merge \"Fix build rules for statically linked oatdump on host.\""
    },
    {
      "commit": "f215c5255ce817e3baca7d71f8de72001f6dfbcd",
      "tree": "dd664dbbdc616a66cb9495a6b428b47ac6079611",
      "parents": [
        "47d840bcf9b2fe323f54f55dd3c675f9ec59c6a3",
        "042e898f18767ed326980e3b07d39adbf98f6222"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Nov 22 23:49:19 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 22 23:49:20 2016 +0000"
      },
      "message": "Merge changes from topic \u0027dex2oat_dexlayout\u0027\n\n* changes:\n  Add layout scheme to dexlayout for dex file reordering.\n  Add new --layout-profile compiler-filter for dex2oat.\n  Dexlayout cleanup and refactoring.\n"
    },
    {
      "commit": "47d840bcf9b2fe323f54f55dd3c675f9ec59c6a3",
      "tree": "318a5ea2d5d78b21790e6971771ffb6c7c67739c",
      "parents": [
        "0e5e9fd33521d0f9a2cc6551cb77b4b196e82082",
        "7a704bea1b1ff1e7deb903513997e0f35040287b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 22 23:09:48 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 22 23:09:48 2016 +0000"
      },
      "message": "Merge \"Always fill in root table length\""
    },
    {
      "commit": "042e898f18767ed326980e3b07d39adbf98f6222",
      "tree": "e2ea81bc5ddbab51cb3d5c0d5b7812cf9f85562e",
      "parents": [
        "608f2ce4b9870354079b9d63d40363914889f01a"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Oct 19 11:17:11 2016 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Nov 22 13:33:09 2016 -0800"
      },
      "message": "Add layout scheme to dexlayout for dex file reordering.\n\nCurrently takes startup classes from profile and groups them together\nwith the lowest class indexes. Moves the ClassDef, ClassData, and\nCodeItem sections.\n\nResults gathered from 5 second systrace of app startup (no other input):\nMaps\nbase.vdex - 24.70MB -\u003e 19.35MB (30.50MB file size)\nbase.odex - 13.22MB -\u003e 12.82MB (13.22MB file size)\nRunning time of dex2oat: 27.5s -\u003e 37.1s\n\nPhotos\nbase.vdex - 12.98MB -\u003e  9.77MB (15.10MB file size)\nbase.odex -  6.84MB -\u003e  6.24MB ( 6.84MB file size)\nRunning time of dex2oat: 15.6s -\u003e 19.9s\n\nPlus\nbase.vdex - 14.09MB -\u003e 13.29MB (16.72MB file size)\nbase.odex -  2.47MB -\u003e  2.47MB ( 2.47MB file size)\nRunning time of dex2oat: 14.1s -\u003e 18.5s\n\nPerformance and memory tracking bug: b/33017139\n\nTest: mm test-art-host-gtest-dexlayout_test\nBug: 29921113\nChange-Id: Ib500ed353d71a606e2db0dd80378750c5f7b8e33\n"
    },
    {
      "commit": "7a704bea1b1ff1e7deb903513997e0f35040287b",
      "tree": "e94262da7f17cc3ffd4e7a8df337cbd96f62da0b",
      "parents": [
        "c394d0558de9afff6ab8b87ae9706497e01f37ff"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 22 13:24:40 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 22 13:30:47 2016 -0800"
      },
      "message": "Always fill in root table length\n\nOtherwise, there may be DCHECK failure in JitCodeCache::ClearData.\nFixes gcstress JIT tests.\n\nTest: test/run-test --host --relocate --prebuild  --64 --jit --gcstress --dev 021-string2\n\nChange-Id: I757ccd1e5a015c5e686254417a2a3f68b650da1c\n"
    },
    {
      "commit": "0e5e9fd33521d0f9a2cc6551cb77b4b196e82082",
      "tree": "9b85992de284e8e48f20d8eab3867f2175c1e6a2",
      "parents": [
        "f05ccaf2cc9882e8b2d0add30072fd2648bea88d",
        "28e74eda7dc2fa3139f09bb334901e33ef34b66e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 22 20:30:12 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 22 20:30:12 2016 +0000"
      },
      "message": "Merge \"Verify for type_id out of range errors\""
    },
    {
      "commit": "f05ccaf2cc9882e8b2d0add30072fd2648bea88d",
      "tree": "c92854218ee522a99c298d6f32a45327c14626dc",
      "parents": [
        "c394d0558de9afff6ab8b87ae9706497e01f37ff",
        "6f4d102e0c3029b3c74af13d3846a14e1c878a12"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 22 19:26:09 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 22 19:26:10 2016 +0000"
      },
      "message": "Merge \"Correctly handle EINTR return from futex\""
    },
    {
      "commit": "28e74eda7dc2fa3139f09bb334901e33ef34b66e",
      "tree": "ba79b6296f07da180cb54e0b946670bf5f821b4e",
      "parents": [
        "701bb7d1d750850b41b26c75255e1829efb4860e"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Nov 21 12:52:12 2016 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue Nov 22 10:44:35 2016 -0800"
      },
      "message": "Verify for type_id out of range errors\n\nThe dalvik documentation states that several fields used as type ids are\nuint, which is 32 bits.  Other places use uint16, which is obviously 16.\nThis adds assertions that there are fewer than 65536\nclass_def_items/class_data_items and that the fields in question are\neither valid (0 \u003c\u003d id \u003c\u003d 0xffff) or id \u003d\u003d kDexNoIndex (0xffffffff).\n\nTest: m test-art-host\nChange-Id: I584615192086e6d8bb30aa11217d569d6dbe1280\n"
    },
    {
      "commit": "c394d0558de9afff6ab8b87ae9706497e01f37ff",
      "tree": "3f63982d609fa01a5b271b5f393ee9c6d83e1107",
      "parents": [
        "b46782abf6752ccf688b0d9f5b4bb83e5d33793b",
        "ecffc67068a28d55d131553bf915fdb9fafbbc03"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 22 17:49:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 22 17:49:06 2016 +0000"
      },
      "message": "Merge \"Revert \"Make sure that const-class linkage is preserved.\"\""
    },
    {
      "commit": "ecffc67068a28d55d131553bf915fdb9fafbbc03",
      "tree": "3f63982d609fa01a5b271b5f393ee9c6d83e1107",
      "parents": [
        "b46782abf6752ccf688b0d9f5b4bb83e5d33793b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 22 17:37:21 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 22 17:41:49 2016 +0000"
      },
      "message": "Revert \"Make sure that const-class linkage is preserved.\"\n\nBug: 30627598\n\nThis reverts commit 19886dbeced9430579a27979beb92b09c95197b4.\nSquashed reverts of subsequent partial fixes.\n    This reverts commit bad475a63b7c938b7ff7903ea1dae27369c3f629.\n    This reverts commit 0ba0c7d9b0328af39a385014652eb9af4e42d8b5.\n    This reverts commit ddb8afec79492750f16f98e5bd07d44f3dc485d4.\n\nChange-Id: Id94af5ae56a0335f9641a79c885cc75bba971713\n"
    },
    {
      "commit": "7f07f5528be20b11f9bfc4010477ebf8bdfa33ab",
      "tree": "40645c302325982c0fc1e699e2bda6667734cbe0",
      "parents": [
        "da2d78ba97d177b80e0e9528362bcebc1fd31f0f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 22 17:20:46 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 22 17:20:46 2016 +0000"
      },
      "message": "Fix build rules for statically linked oatdump on host.\n\nTest: m build-art-host\nTest: m test-art-host-gtest-oatdump_test\nBug: 29530992\nChange-Id: Iaa1ff13f0d42e5bc9670fc87da5b6e291482f626\n"
    },
    {
      "commit": "608f2ce4b9870354079b9d63d40363914889f01a",
      "tree": "8b09e660646a63296b76d83877b725fdce7e3b56",
      "parents": [
        "ea7c62983beec6a5a2a6676cc910a436b20ae92c"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Oct 19 11:17:11 2016 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Nov 22 09:12:14 2016 -0800"
      },
      "message": "Add new --layout-profile compiler-filter for dex2oat.\n\nNew compiler filter makes dex2oat call into dexlayout.\nAdded basic test for --layout-profile filter to make sure dex2oat runs\nto completion and file is valid. Contests of file are not checked.\n\nTest: mm test-art-host-gtest-dexlayout_test\nBug: 29921113\nChange-Id: I4bd0dea3d3f1284c155d1d9dea80a48062e67770\n"
    },
    {
      "commit": "ea7c62983beec6a5a2a6676cc910a436b20ae92c",
      "tree": "cc41732efa47b2301f463f2f9fcabe957ed89c0c",
      "parents": [
        "b46782abf6752ccf688b0d9f5b4bb83e5d33793b"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Nov 14 18:10:16 2016 -0800"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Nov 22 09:12:14 2016 -0800"
      },
      "message": "Dexlayout cleanup and refactoring.\n\nCreated option to output to a mem map in preparation of hooking\ndexlayout into dex2oat.\n\nTest: mm test-art-host-gtest-dexlayout_test\nBug: 29921113\nChange-Id: Id42ef15cb8f83cc8d05b025b7647a4338e9b96b0\n"
    },
    {
      "commit": "b46782abf6752ccf688b0d9f5b4bb83e5d33793b",
      "tree": "0e0a2434b6b68dab04c06e479c82610b8cce227a",
      "parents": [
        "24a56c620774c6f7bb2ef408895b9a48fe7ab4af",
        "340dafabc8e88378e395cda9027cf17726910e91"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 22 17:07:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 22 17:07:47 2016 +0000"
      },
      "message": "Merge \"Use a per-thread VerifierDeps.\""
    },
    {
      "commit": "24a56c620774c6f7bb2ef408895b9a48fe7ab4af",
      "tree": "f304f51ecb16e9c92116afc28030d18cfaca296a",
      "parents": [
        "701bb7d1d750850b41b26c75255e1829efb4860e",
        "f46501c6ad11025843682267c10f221323a206b1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 22 16:40:20 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 22 16:40:21 2016 +0000"
      },
      "message": "Merge \"Clear the right data pointer.\""
    },
    {
      "commit": "701bb7d1d750850b41b26c75255e1829efb4860e",
      "tree": "dc98891e1a3288d1bfd4ff558a2681b0e066abe5",
      "parents": [
        "eb9c58e88f8e0f4a0a413efce04b49b183ad23e3",
        "ddb8afec79492750f16f98e5bd07d44f3dc485d4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 22 14:58:42 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 22 14:58:42 2016 +0000"
      },
      "message": "Merge changes If9d1da45,I6daecb52\n\n* changes:\n  Do not test class unloading in 626-const-class-linking\n  Fix 626-const-class-linking for no-dex2oat configuration.\n"
    },
    {
      "commit": "ddb8afec79492750f16f98e5bd07d44f3dc485d4",
      "tree": "002f092e054a3c53deccd55a972f53dfe58a1d0c",
      "parents": [
        "0ba0c7d9b0328af39a385014652eb9af4e42d8b5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 22 14:38:31 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 22 14:42:49 2016 +0000"
      },
      "message": "Do not test class unloading in 626-const-class-linking\n\nKeep tests that classes were not unloaded but do not test\nthat they are actually unloaded. Both JIT and tracing can\nhold onto those classes.\n\nTest: m ART_USE_JIT\u003dtrue test-art-host-run-test-626-const-class-linking\nTest: m ART_TEST_TRACE\u003dtrue test-art-host-run-test-626-const-class-linking\nBug: 30627598\nChange-Id: If9d1da45d8691c5ee05b6cf500d7d132bcab611f\n"
    },
    {
      "commit": "f46501c6ad11025843682267c10f221323a206b1",
      "tree": "a5b77de81f5ab31e66082b02b225e7fe56877f98",
      "parents": [
        "71d15102b52af67e8fe1193192aa2b4cd1956ae0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 22 13:45:36 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 22 14:21:31 2016 +0000"
      },
      "message": "Clear the right data pointer.\n\nInternally, stack_map_data is an offset of the roots_data allocation.\nPass both to the ClearData method, which will use the right pointer\nto deallocate.\n\nTest: test-art-host in debug mode\nChange-Id: Ibfe38e7f1853870076048427f2efe7121c11c136\n"
    },
    {
      "commit": "0ba0c7d9b0328af39a385014652eb9af4e42d8b5",
      "tree": "7092bb3d3cf82dfa6b7167622149faab31c7c2a3",
      "parents": [
        "71d15102b52af67e8fe1193192aa2b4cd1956ae0"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 22 13:18:00 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 22 13:20:27 2016 +0000"
      },
      "message": "Fix 626-const-class-linking for no-dex2oat configuration.\n\nFor this configuration, the MisbehavingLoader.loadClass()\nis called twice, so we cannot rely on printing the message\nexactly once.\n\nTest: m ART_TEST_RUN_TEST_NO_DEX2OAT\u003dtrue \\\n      test-art-host-run-test-626-const-class-linking\nBug: 30627598\nChange-Id: I6daecb52efc1d25fc5cf796f8aef726666e97c8b\n"
    },
    {
      "commit": "eb9c58e88f8e0f4a0a413efce04b49b183ad23e3",
      "tree": "3e7affe083ccc71eb05546af3440fbaefd380000",
      "parents": [
        "71d15102b52af67e8fe1193192aa2b4cd1956ae0",
        "b88c484affe83b59c73dbd00855cb28754e041a2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 22 13:18:55 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 22 13:18:56 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Fix the assembler usage in the intrinsics.\""
    },
    {
      "commit": "340dafabc8e88378e395cda9027cf17726910e91",
      "tree": "f742cfc9b9eb3fdf0245a66491d39fb841da7c01",
      "parents": [
        "71d15102b52af67e8fe1193192aa2b4cd1956ae0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 18 16:03:10 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 22 13:08:29 2016 +0000"
      },
      "message": "Use a per-thread VerifierDeps.\n\nAvoid lock contention on a singleton VerifierDeps by allocating\ntemporary per-thread VerifierDeps that get merged after verification.\n\nThis saves around ~35% compile-times on interpret-only.\n\nOnly the creation of extra strings is guarded by a lock, for simplicity.\n\nTest: test-art-host, test-art-target\nbug: 32641252\nbug: 30937355\n\nChange-Id: I11a2367da882b58e39afa7b42cba2e74a209b75d\n"
    },
    {
      "commit": "71d15102b52af67e8fe1193192aa2b4cd1956ae0",
      "tree": "7e30d48ddf0a329e821171ea5a028d70bfda54a9",
      "parents": [
        "9ee5fdf92f498d716c740cc1770943097f968092",
        "bad475a63b7c938b7ff7903ea1dae27369c3f629"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 22 12:12:12 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 22 12:12:12 2016 +0000"
      },
      "message": "Merge \"Fix build: update test to use dex::TypeIndex.\""
    },
    {
      "commit": "bad475a63b7c938b7ff7903ea1dae27369c3f629",
      "tree": "7e30d48ddf0a329e821171ea5a028d70bfda54a9",
      "parents": [
        "9ee5fdf92f498d716c740cc1770943097f968092"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 22 11:56:48 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 22 11:56:48 2016 +0000"
      },
      "message": "Fix build: update test to use dex::TypeIndex.\n\nTest: m test-art-host\nBug: 30627598\nChange-Id: I1aad84c6367b7b60b60391488aeb9777d3a627e4\n"
    },
    {
      "commit": "9ee5fdf92f498d716c740cc1770943097f968092",
      "tree": "a1d7a4cb0a86500850d7eb96f5f2eb2bef90c487",
      "parents": [
        "da2d78ba97d177b80e0e9528362bcebc1fd31f0f",
        "19886dbeced9430579a27979beb92b09c95197b4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 22 11:23:16 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 22 11:23:16 2016 +0000"
      },
      "message": "Merge \"Make sure that const-class linkage is preserved.\""
    },
    {
      "commit": "6f4d102e0c3029b3c74af13d3846a14e1c878a12",
      "tree": "18ad351a86cabf94c2bb7f4f8b9dff9d0ec7c59a",
      "parents": [
        "da2d78ba97d177b80e0e9528362bcebc1fd31f0f"
      ],
      "author": {
        "name": "Daniel Colascione",
        "email": "dancol@google.com",
        "time": "Mon Nov 21 14:35:42 2016 -0800"
      },
      "committer": {
        "name": "Daniel Colascione",
        "email": "dancol@google.com",
        "time": "Mon Nov 21 15:44:06 2016 -0800"
      },
      "message": "Correctly handle EINTR return from futex\n\nWe should handle EINTR the same way we do EAGAIN: they\u0027re both\ntransient failures. Either way, higher-level code (see\nReaderWriterMutex::SharedLock) will do the right thing, loop around,\nand try again.\n\nTest: code inspection\nChange-Id: I1eb7fb6851cc1a65acc9a0cf7cbeef787b6b28b6\n"
    },
    {
      "commit": "da2d78ba97d177b80e0e9528362bcebc1fd31f0f",
      "tree": "7316d4a29215b03095684c26bb08bfe484f2d903",
      "parents": [
        "668ba83a0a1c0d952e1f310f6332131d9dccc8be",
        "32b50302d9826430013e008b45d5c71e6b7a2469"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 21 23:32:45 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 21 23:32:46 2016 +0000"
      },
      "message": "Merge \"Check same dex file for finding class descriptor string id\""
    },
    {
      "commit": "668ba83a0a1c0d952e1f310f6332131d9dccc8be",
      "tree": "b87dad782d2a43ca2bfc16ec904e1667db114547",
      "parents": [
        "a598b869b255b4daeaa34d1dd0939222a3a791b7",
        "93c3090f39a99cce8ee063522746df2a254c4398"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 21 22:01:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 21 22:01:14 2016 +0000"
      },
      "message": "Merge changes I8e51415a,I79a255c1\n\n* changes:\n  ART: Add JNI local details for FollowReferences\n  ART: Fix generic_ptr handling in GetMethodName\n"
    },
    {
      "commit": "32b50302d9826430013e008b45d5c71e6b7a2469",
      "tree": "210a7c575cc246787afdbbd988a45c8f38b8b169",
      "parents": [
        "a598b869b255b4daeaa34d1dd0939222a3a791b7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 17 13:08:35 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 21 13:28:23 2016 -0800"
      },
      "message": "Check same dex file for finding class descriptor string id\n\nUse ClassDef for finding same dex file class descriptor string id\nfor vdex. Removes some calls to FindStringId, the remaining calls to\nFindStringId are due to multidex or referring to types in the boot\nclass path.\n\nAlso check method index slot to see if we get lucky.\n\nHost perf:\nDexFile::FindStringId: 2.57% -\u003e 0.94%\n\nNot done for fields since these do not seem to reach the FindStringId\ncase accordingto perf. The remaining calls to FindStringId come from:\n100.00% verifier::VerifierDeps::GetClassDescriptorStringId\n-\u003e 66.62% verifier::VerifierDeps::AddAssignability\n-\u003e 33.38% verifier::VerifierDeps::AddMethodResolution\n\nFB install time: 35.54s -\u003e 34.41s (avg of 40 samples at 960MHZ N6P).\n\nBug: 32641252\n\nTest: test-art-host\n\nChange-Id: If50408cf1be5c2d2127140780b8d5af66306939c\n"
    },
    {
      "commit": "a598b869b255b4daeaa34d1dd0939222a3a791b7",
      "tree": "5af89e57aaa81cabbee54c924a9319814c39a81d",
      "parents": [
        "b2dc55149665fa288d44136642a6814a3a5a74a4",
        "a5b09a67034e57a6e10231dd4bd92f4cb50b824c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 21 21:17:32 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 21 21:17:32 2016 +0000"
      },
      "message": "Merge \"ART: Add dex::TypeIndex\""
    },
    {
      "commit": "b2dc55149665fa288d44136642a6814a3a5a74a4",
      "tree": "074ff9d91a2653b633de66133b19d91536e65e49",
      "parents": [
        "e38f0320dfb708272269ef53fd61b9be13b7bc98",
        "22f71d215679955372d8e24db3771fc7173dccb5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 21 20:43:12 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 21 20:43:12 2016 +0000"
      },
      "message": "Merge \"ART: Add boot classpath check for initialization\""
    },
    {
      "commit": "e38f0320dfb708272269ef53fd61b9be13b7bc98",
      "tree": "c032c5a0c74ca5c14d0b7d8bf17f3b6b254d6140",
      "parents": [
        "bb4366d2b0b56f2cc66041243bd93de4b8e4d15a",
        "1b868498a176705b867e2572cc1bcbd58dbd62d6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 21 20:19:58 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 21 20:19:59 2016 +0000"
      },
      "message": "Merge \"Use type lookup tables in compiler\""
    },
    {
      "commit": "b88c484affe83b59c73dbd00855cb28754e041a2",
      "tree": "5b20e66eec70ad325544d80fd456f975a285ed3e",
      "parents": [
        "dac7ad17c78387d15d7aefae0f852dddf5f37e34"
      ],
      "author": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Mon Nov 14 14:37:00 2016 +0000"
      },
      "committer": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Mon Nov 21 20:11:54 2016 +0000"
      },
      "message": "ARM: VIXL32: Fix the assembler usage in the intrinsics.\n\nThe assembler must not be used outside of any scopes;\nthe macroassembler methods should be called instead.\n\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-host\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-target\nChange-Id: I1358bea5330547db9b7a8446932d85ba946e5683\n"
    },
    {
      "commit": "19886dbeced9430579a27979beb92b09c95197b4",
      "tree": "33c85aada415308d8207d63bce903262ea7504fe",
      "parents": [
        "bb4366d2b0b56f2cc66041243bd93de4b8e4d15a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 11 11:40:40 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 21 19:11:31 2016 +0000"
      },
      "message": "Make sure that const-class linkage is preserved.\n\nAfter calling loadClass() on the initiating loader, insert\nthe Class to the ClassTable. Check that the returned class\nhas the correct name and that the ClassTable does not yet\ncontain a different Class for the same name. If either check\nfails, follow the RI behavior for parallel capable class\nloaders, i.e. throw NoClassDefFoundError for name mismatch\n(with more descriptive message than RI) or return the Class\nalready present in the ClassTable. This ensures that the\nconst-class instruction for a given name always gives the\nsame result as the first time it succeeded for the same\ninitiating loader, even for non-well-behaved loader.\n\nInserting the Class to the ClassTable is also a necessary\nstep for changing to hash-based dex cache type array when\nthe DexCache will not necessarily keep the Class and\ntherefore the defining loader alive while the initiating\nloader stays alive, so the ClassTable entry is necessary\nto keep the dependecy.\n\nAdd tests that a const-class instruction always returns the\nsame Class\u003c?\u003e as it returned the first time, i.e. when it\nwas \"linked\", even for class loaders that are not\nwell-behaved, even if the dex cache type array is cleared.\nAlso test the edge cases, i.e. NoClassDefFoundError and\nreturning old entry from ClassTable when already inserted\nby another thread.\n\nBug: 30627598\nTest: 626-const-class-linking\nTest: m test-art-host\nChange-Id: Ie9b721464b4e9a5dcce8df8095548e983bba1fe8\n"
    },
    {
      "commit": "a5b09a67034e57a6e10231dd4bd92f4cb50b824c",
      "tree": "304be738f4fa528b7ad2676103eecc84c79eaeeb",
      "parents": [
        "dac7ad17c78387d15d7aefae0f852dddf5f37e34"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 17 15:21:22 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 21 10:57:00 2016 -0800"
      },
      "message": "ART: Add dex::TypeIndex\n\nAdd abstraction for uint16_t type index.\n\nTest: m test-art-host\nChange-Id: I47708741c7c579cbbe59ab723c1e31c5fe71f83a\n"
    },
    {
      "commit": "22f71d215679955372d8e24db3771fc7173dccb5",
      "tree": "606cb89aa61b2a2c26dd80a3c47014178388d5f0",
      "parents": [
        "bb4366d2b0b56f2cc66041243bd93de4b8e4d15a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 21 10:10:08 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 21 10:49:58 2016 -0800"
      },
      "message": "ART: Add boot classpath check for initialization\n\nBoot classpath classes should not fail initialization.\n\nTest: m test-art-host\nChange-Id: I48af3ab6ab3d5c2589b804df8f4585f5a81ea169\n"
    },
    {
      "commit": "1b868498a176705b867e2572cc1bcbd58dbd62d6",
      "tree": "36e10d1cff265d54090571ab08ad2ae9ebda97c1",
      "parents": [
        "dac7ad17c78387d15d7aefae0f852dddf5f37e34"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 16 16:22:37 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 21 10:05:03 2016 -0800"
      },
      "message": "Use type lookup tables in compiler\n\nThis recently regressed and stopped happening, the fix creates fake\nOatDexFiles so that the compiler uses the type lookup tables instead\nof slow FindClassDef and FindTypeId.\n\nPerf on host compile Facebook:\nBefore:\n2.49%: art::DexFile::FindClassDef(unsigned short) const\n1.59%: art::DexFile::FindTypeId(char const*) const\n\nAfter:\n0.42%: art::OatDexFile::FindClassDef(art::DexFile const\u0026, char const*, unsigned long)\n0%: art::DexFile::FindTypeId(char const*) const\n0%: art::DexFile::FindClassDef(unsigned short) const\n\nAverage install (N6P 960 mhz average of 40 samples): 38.2s -\u003e 35.64s\n\nBug: 32641252\n\nTest: test-art-host, adb install.\n\nChange-Id: I34df21dc2c155bc2579c5cafdd91f9cb0fead1a9\n"
    },
    {
      "commit": "bb4366d2b0b56f2cc66041243bd93de4b8e4d15a",
      "tree": "55f0a91f873c438d6c45c71689cb09494c94c8f6",
      "parents": [
        "dac7ad17c78387d15d7aefae0f852dddf5f37e34",
        "cca340b452baae0eb1fe37959063b63256bbef3b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 21 17:38:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 21 17:38:15 2016 +0000"
      },
      "message": "Merge \"ART: Fix line break in Throwable::Dump\""
    },
    {
      "commit": "dac7ad17c78387d15d7aefae0f852dddf5f37e34",
      "tree": "603b3ca74ba9144d217497417314fe863e2201ef",
      "parents": [
        "af524438b8a76264a23ec2d748e11eeded02abc7",
        "132d8363bf8cb043d910836672192ec8c36649b6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 21 10:14:06 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 21 10:14:07 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Revert \"Revert \"JIT root tables.\"\"\"\"\""
    },
    {
      "commit": "af524438b8a76264a23ec2d748e11eeded02abc7",
      "tree": "f202c1fe8aa1ae1a8b4f3d609ad4a011f7ffca4b",
      "parents": [
        "ab07cbe238fc41cc074bd2af87a0b3fcdddedf27",
        "f8f36c246ee46522a7446e6f3a155e0fc5c7b859"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Nov 20 00:37:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Nov 20 00:37:57 2016 +0000"
      },
      "message": "Merge changes I240f8bb7,I27defaa7,Ib82d64cc\n\n* changes:\n  ART: Do not DCHECK in verifier when already aborting\n  ART: Add debug exception check to JIT\n  ART: Extend DumpRecursiveAbort\n"
    },
    {
      "commit": "cca340b452baae0eb1fe37959063b63256bbef3b",
      "tree": "7fe99930aff2899be156f1dfd7de48ef774ee5be",
      "parents": [
        "f8f36c246ee46522a7446e6f3a155e0fc5c7b859"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 18 17:43:05 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Nov 19 14:58:02 2016 -0800"
      },
      "message": "ART: Fix line break in Throwable::Dump\n\nAdd line breaks for missing stack traces.\n\nTest: m test-art-host\nChange-Id: I0624ed19d6d025b7c00d6e6fb55827577bffc7b6\n"
    },
    {
      "commit": "f8f36c246ee46522a7446e6f3a155e0fc5c7b859",
      "tree": "f202c1fe8aa1ae1a8b4f3d609ad4a011f7ffca4b",
      "parents": [
        "320ba91911c840528893e07b0af43d317cd4c9aa"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Nov 19 14:51:52 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Nov 19 14:57:56 2016 -0800"
      },
      "message": "ART: Do not DCHECK in verifier when already aborting\n\nOnly log an error in FailOrAbort in the debug build when the\nruntime is already aborting.\n\nTest: m test-art-host\nChange-Id: I240f8bb7695e42d60b5805ebae2ab9dc72e5fdb1\n"
    },
    {
      "commit": "320ba91911c840528893e07b0af43d317cd4c9aa",
      "tree": "486ea2599d6f141d1887bdb55b2dd235d589b7f7",
      "parents": [
        "9fd470f87342dfe974c8ec8c74239a547e768650"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 18 17:39:45 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 18 17:42:58 2016 -0800"
      },
      "message": "ART: Add debug exception check to JIT\n\nCheck for a pending exception after JIT compilation finishes.\n\nTest: m ART_TEST_JIT\u003dtrue test-art-host\nChange-Id: I27defaa733f360cb1dbabede62d4908777bc5d2b\n"
    },
    {
      "commit": "9fd470f87342dfe974c8ec8c74239a547e768650",
      "tree": "9bacb890f1e8c56bee6db335c046ce9e63b6ad08",
      "parents": [
        "ab07cbe238fc41cc074bd2af87a0b3fcdddedf27"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 18 17:21:12 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 18 17:42:58 2016 -0800"
      },
      "message": "ART: Extend DumpRecursiveAbort\n\nAccept recursive dump request for deeper recursions. Otherwise,\ntwo or more threads aborting concurrently would ensure that there\nare no dumps.\n\nTest: m test-art-host\nChange-Id: Ib82d64cceba0de89e352d9b15bcd5708db82498c\n"
    },
    {
      "commit": "ab07cbe238fc41cc074bd2af87a0b3fcdddedf27",
      "tree": "0895bf5691ad5013435192bb734777ce30024292",
      "parents": [
        "3bf14d69ab1823ae3e3ff372ac04a404044c3682",
        "1013bdeacffb39b160a6a9e4ea4027930c955e7a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Nov 19 01:07:35 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 19 01:07:36 2016 +0000"
      },
      "message": "Merge \"Fix valgrind issue with thread_pool_test.\""
    },
    {
      "commit": "1013bdeacffb39b160a6a9e4ea4027930c955e7a",
      "tree": "0895bf5691ad5013435192bb734777ce30024292",
      "parents": [
        "3bf14d69ab1823ae3e3ff372ac04a404044c3682"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 18 15:06:21 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 18 15:06:21 2016 -0800"
      },
      "message": "Fix valgrind issue with thread_pool_test.\n\nMake sure the task list is empty at the end of the test. Follow-up\nto commit e2fc98e88106b9cfa44eeacc6765c291feda04a8.\n\nTest: m test-art-host-gtest-thread_pool_test\nTest: m valgrind-test-art-host-gtest-thread_pool_test\nChange-Id: Ib41a1f7dde9d45f1195e18ff6db4241fb7dc7428\n"
    },
    {
      "commit": "93c3090f39a99cce8ee063522746df2a254c4398",
      "tree": "44c99fe3cfbcb2f510dea033f674b99b47833a06",
      "parents": [
        "862bdd8ac9bc0071493acaf3574610cbc7792bbf"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 18 13:30:30 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 18 15:02:34 2016 -0800"
      },
      "message": "ART: Add JNI local details for FollowReferences\n\nGive details for the thread.\n\nStack depth and method are currently approximated (as\nbottom of the stack), as the RootInfo does not have that\ninformation.\n\nBug: 31385354\nTest: m test-art-host-run-test-913-heaps\nChange-Id: I8e51415a02678c55b687144b4cb749c4105bd3c1\n"
    },
    {
      "commit": "862bdd8ac9bc0071493acaf3574610cbc7792bbf",
      "tree": "7b8d469b9c60e1187e630340ed936db58d7f917d",
      "parents": [
        "3bf14d69ab1823ae3e3ff372ac04a404044c3682"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 18 13:31:13 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 18 15:01:48 2016 -0800"
      },
      "message": "ART: Fix generic_ptr handling in GetMethodName\n\nDo not write null into a null pointer.\n\nBug: 31684812\nTest: m test-art-host-run-test-910-methods\nChange-Id: I79a255c1403ca9621390c9cdc09d2381c26fffb6\n"
    },
    {
      "commit": "3bf14d69ab1823ae3e3ff372ac04a404044c3682",
      "tree": "da3b734e18d25ea3f7718db2ac3a42f735523f26",
      "parents": [
        "88c4ff69dfed9e8f057a7b854605fc266cb35a5f",
        "8b2cf761df20e60a9e0e57564db3ab4eae5d64a7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 18 21:04:59 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 18 21:05:00 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Use interpret-only instead of verify-at-runtime when testing JIT\"\"\""
    },
    {
      "commit": "88c4ff69dfed9e8f057a7b854605fc266cb35a5f",
      "tree": "980b5543dbeda48cb2058c4d7f07e548a8724e7f",
      "parents": [
        "a9d89686c9b447fc228cb5e71ae2332de36a27cc",
        "7afa45427cc2cef534a3fb68a295fa5a4f305062"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 18 21:03:13 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 18 21:03:14 2016 +0000"
      },
      "message": "Merge \"ART: Dump native stack on recursive abort\""
    },
    {
      "commit": "a9d89686c9b447fc228cb5e71ae2332de36a27cc",
      "tree": "4aed5a53dfa32374520f2984747a0219256f6660",
      "parents": [
        "8df07aa7fedb252cc9a9f42bb3395b1f30ac856d",
        "53b61f71a8f644704dcc5c100d5dd23556677956"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Nov 18 20:16:30 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 18 20:16:31 2016 +0000"
      },
      "message": "Merge \"Run 103-string-append with libartd.\""
    },
    {
      "commit": "8df07aa7fedb252cc9a9f42bb3395b1f30ac856d",
      "tree": "0c2f55ce03c9af1a0d1d1831de251adee01fdd27",
      "parents": [
        "5e294c3f015c8e3a2ec88a8ff117a1ec801f0d3a",
        "b67906bb98409911b4ffe7da7fcd5b049ee089fb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 18 19:33:25 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 18 19:33:26 2016 +0000"
      },
      "message": "Merge \"ART: Use cerr in Runtime::Abort on the host\""
    },
    {
      "commit": "8b2cf761df20e60a9e0e57564db3ab4eae5d64a7",
      "tree": "5c9a44da1911d455310d88c78fa6871e2397a41d",
      "parents": [
        "5e294c3f015c8e3a2ec88a8ff117a1ec801f0d3a"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Nov 18 17:39:26 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Nov 18 18:05:04 2016 +0000"
      },
      "message": "Revert \"Revert \"Use interpret-only instead of verify-at-runtime when testing JIT\"\"\n\nThis reverts commit 0b4d05e096d31e9c2d5ae522dbcc7b190b60a6f6.\n\nTest: m test-art-host-run-test\nChange-Id: Ie946ebd899002bdc7502276b3d53000c551be768\n"
    },
    {
      "commit": "7afa45427cc2cef534a3fb68a295fa5a4f305062",
      "tree": "a29899fb5c989229d43cc6eb7b41d6ac8d5d306a",
      "parents": [
        "b67906bb98409911b4ffe7da7fcd5b049ee089fb"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 18 09:51:06 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 18 09:51:06 2016 -0800"
      },
      "message": "ART: Dump native stack on recursive abort\n\nDump the native stack of the current thread on recursive abort.\nThat is safe to do, as it requires no runtime interaction.\n\nTest: m test-art-host\nChange-Id: I4e052916f1036c74dc9fa82b049b4574626a70bb\n"
    },
    {
      "commit": "b67906bb98409911b4ffe7da7fcd5b049ee089fb",
      "tree": "0c2f55ce03c9af1a0d1d1831de251adee01fdd27",
      "parents": [
        "5e294c3f015c8e3a2ec88a8ff117a1ec801f0d3a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 18 09:30:08 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 18 09:31:11 2016 -0800"
      },
      "message": "ART: Use cerr in Runtime::Abort on the host\n\nUse cerr to immediately write out abort info on the host, in an\neffort to make recursive aborts diagnosable. This is similar\n(but slightly inferior) to the previous INTERNAL_FATAL fastpathing.\n\nTest: m test-art-host\nChange-Id: I7c49874951acd47e58faceeb84a9ba93159ca3b0\n"
    },
    {
      "commit": "5e294c3f015c8e3a2ec88a8ff117a1ec801f0d3a",
      "tree": "8b18d527d590d0c3c4264a6245d09f6dd56f981a",
      "parents": [
        "2dae2f256bce26690a29af498c50cc2d6440d15b",
        "0b4d05e096d31e9c2d5ae522dbcc7b190b60a6f6"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Nov 18 16:09:11 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 18 16:09:11 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert Revert \"Use interpret-only instead of verify-at-runtime when testing JIT\"\"\""
    },
    {
      "commit": "0b4d05e096d31e9c2d5ae522dbcc7b190b60a6f6",
      "tree": "0ed7bb6f4dee1a00feb0e5aac3e1910fb03f0a81",
      "parents": [
        "0b64a5195b38773084ff94618ac22284bc855b92"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Nov 18 16:07:58 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Nov 18 16:07:58 2016 +0000"
      },
      "message": "Revert \"Revert Revert \"Use interpret-only instead of verify-at-runtime when testing JIT\"\"\n\ntest-art-host-run-test-debug-prebuild-jit-relocate-ntrace-gcstress-checkjni-picimage-npictest-ndebuggable-974-verify-interface-super64 fails on the build servers.\n\nIt\u0027s unclear if it\u0027s because of this CL but revert again to check if it fixes the problem.\n\nLocally everything is green...\nThis reverts commit 0b64a5195b38773084ff94618ac22284bc855b92.\n\nChange-Id: I4668b8d8f8c9672fd942a693d98a20113fbb6b9e\n"
    },
    {
      "commit": "132d8363bf8cb043d910836672192ec8c36649b6",
      "tree": "42ee8b08f0323e9762675333b50a4c218ecdefc7",
      "parents": [
        "e89667815b9d0a1eacb91678fed2a7518bb07cc2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 16 09:19:42 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 18 14:31:30 2016 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Revert \"JIT root tables.\"\"\"\"\n\nTest: 626-set-resolved-string, test-art-host, test-art-target\nTest: run-libcore-tests.sh\nTest: phone boots and runs\n\nThis reverts commit 3395fbc20bcd20948bec8958db91b304c17cacd8.\n\nChange-Id: I104b73d093e3eb6a271d564cfdb9ab09c1c8cf24\n"
    },
    {
      "commit": "2dae2f256bce26690a29af498c50cc2d6440d15b",
      "tree": "5c9a44da1911d455310d88c78fa6871e2397a41d",
      "parents": [
        "67eb3914d2555e9c191337a4fe42ecef419b0330",
        "01b70e8bca5e824ee3958ffbdd7727334e81eb0a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 18 13:14:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 18 13:14:11 2016 +0000"
      },
      "message": "Merge \"Add dequickening support.\""
    },
    {
      "commit": "67eb3914d2555e9c191337a4fe42ecef419b0330",
      "tree": "df35892393e9dc706eb4efd7c88d956ea6004403",
      "parents": [
        "80fdea404b6713e9ec1da4c3346d427aad1cfa74",
        "09a940de7d6de44260c25b778f0850f52b2e4438"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 18 12:54:00 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 18 12:54:01 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Fix PackedSwitch.\""
    },
    {
      "commit": "80fdea404b6713e9ec1da4c3346d427aad1cfa74",
      "tree": "43ee0efd7e7f07e9e7da4df8f06456099cac6ed7",
      "parents": [
        "b760a2f966ae07596da6cfe6baeef39a3ed7664e",
        "e2fc98e88106b9cfa44eeacc6765c291feda04a8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 18 12:02:15 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 18 12:02:15 2016 +0000"
      },
      "message": "Merge \"Fix valgrind issue with thread_pool_test.\""
    },
    {
      "commit": "b760a2f966ae07596da6cfe6baeef39a3ed7664e",
      "tree": "8d67d17bbc204735fabc39cd59af26536da57a6a",
      "parents": [
        "965a21e284c39a35c185a9d58b843ce5287d7f7c",
        "0b64a5195b38773084ff94618ac22284bc855b92"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Nov 18 12:01:36 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 18 12:01:36 2016 +0000"
      },
      "message": "Merge \"Revert Revert \"Use interpret-only instead of verify-at-runtime when testing JIT\"\""
    },
    {
      "commit": "965a21e284c39a35c185a9d58b843ce5287d7f7c",
      "tree": "ab177c7f353fca69f742f92f210f0c4e14eee7b4",
      "parents": [
        "368479e345cc8c8750db5144ccc7fae5fc41b1e6",
        "ad06b985bb8792bc82835acbe93eda8f9839c6d2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 18 11:24:20 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 18 11:24:21 2016 +0000"
      },
      "message": "Merge \"Make ImageWriter and PatchOat helper classes nested.\""
    },
    {
      "commit": "01b70e8bca5e824ee3958ffbdd7727334e81eb0a",
      "tree": "3e23fef88de183fd0c7945a6198a68050640b656",
      "parents": [
        "81cae78d1853893ff9c3ecea4b5100002a538eb7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 17 10:58:36 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 18 10:44:15 2016 +0000"
      },
      "message": "Add dequickening support.\n\nBoth vdex and BCI require full dequickening support. This\nchange implements dequickening by using the existing encoded\nquickening, and adds the checkcast quickening to that encoding.\n\nbug: 30937355\nbug: 32369913\nTest: dex_to_dex_decompiler_test.cc test-art-host\n\nChange-Id: Ie95f46946d59b28157d6e47dcf4a859be032d1c3\n"
    },
    {
      "commit": "e2fc98e88106b9cfa44eeacc6765c291feda04a8",
      "tree": "ba3f40b46f3dfc15057b6e1a8634a240d5d846e3",
      "parents": [
        "368479e345cc8c8750db5144ccc7fae5fc41b1e6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 18 10:12:51 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 18 10:13:18 2016 +0000"
      },
      "message": "Fix valgrind issue with thread_pool_test.\n\nMake sure the task list is empty at the end of the test.\n\nTest: thread_pool_test\n\nChange-Id: I155a8eb90dc83a0dd9128f0c0bc64deeba7a92e9\n"
    },
    {
      "commit": "368479e345cc8c8750db5144ccc7fae5fc41b1e6",
      "tree": "522e5ccfa0634867cf6cb48668f470887cd71332",
      "parents": [
        "71d763a5c4ea01ab7980042da3c6fe57d9c4e0cf",
        "f2c5dbd2ca7f2ee131ec7fb83f386d2f94fa7589"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 18 08:29:12 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 18 08:29:13 2016 +0000"
      },
      "message": "Merge \"ART: Make libopenjdkjvmti a run-test dependency\""
    },
    {
      "commit": "f2c5dbd2ca7f2ee131ec7fb83f386d2f94fa7589",
      "tree": "522e5ccfa0634867cf6cb48668f470887cd71332",
      "parents": [
        "71d763a5c4ea01ab7980042da3c6fe57d9c4e0cf"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 17 22:50:33 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 17 22:50:33 2016 -0800"
      },
      "message": "ART: Make libopenjdkjvmti a run-test dependency\n\nAdd libopenjdkjvmti as a host dependency for running tests, as\nrequired by the tests 900-913.\n\nBug: 31455788\nTest: m test-art-host\nChange-Id: I4910f587e35615a10168a39ef2c60d3d80981fc4\n"
    },
    {
      "commit": "71d763a5c4ea01ab7980042da3c6fe57d9c4e0cf",
      "tree": "1d0bd762c57bf8bafcb4b253930531cbd2f8c4d6",
      "parents": [
        "8d3cee0029cf14b0f202487e8a105b2fb8fb89a6",
        "1ffcf7b06fa301f6f1bd7d4d776387d4ecdcef1b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 18 04:02:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 18 04:02:59 2016 +0000"
      },
      "message": "Merge \"Fix false positive stack ASan errors on x86.\""
    },
    {
      "commit": "8d3cee0029cf14b0f202487e8a105b2fb8fb89a6",
      "tree": "d04bef7f15a34f8ff1b69bca49f8c584e9e7c6ba",
      "parents": [
        "ab95bad2b88769ccc668e8a4e38a1a24b0d5892c",
        "6e3dd3e6de432cd200037d74637ef5b183146608"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 18 03:21:03 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 18 03:21:04 2016 +0000"
      },
      "message": "Merge \"ART: Remove ti library dependency for ti tests\""
    },
    {
      "commit": "1ffcf7b06fa301f6f1bd7d4d776387d4ecdcef1b",
      "tree": "5a0ffcc6becddeb3b1f6e34c135ad0c760a74b65",
      "parents": [
        "137b07593aedfad193a77f3787ecf5197008c5da"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Thu Nov 17 17:57:25 2016 -0800"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Thu Nov 17 17:58:00 2016 -0800"
      },
      "message": "Fix false positive stack ASan errors on x86.\n\nCall a special ASan function in x86 DoLongJump to let the tool know\nthat strange things are going to happen with the stack pointer. Other\narchitectures do not need this because they do the stack pointer\nmanipulation in a separate ((noreturn)) function, and noreturn\nattribute triggers the same conservative behaviour in ASan.\n\nBug: 24199050\nBug: 32849425\nTest: SANITIZE_HOST\u003daddress stub_test32\nChange-Id: Ic639d2d84474d875487e66369c034db9907a7e8f\n"
    },
    {
      "commit": "53b61f71a8f644704dcc5c100d5dd23556677956",
      "tree": "c0acad9bb200d152002f5d7029fb8765fe3162d9",
      "parents": [
        "ab95bad2b88769ccc668e8a4e38a1a24b0d5892c"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Nov 17 17:33:40 2016 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Nov 17 17:39:02 2016 -0800"
      },
      "message": "Run 103-string-append with libartd.\n\nFor debugging b/31357497.\n\nBug: 31357497\nBug: 12687968\nTest: run-test --host 103-string-append.\nChange-Id: I7450c8b142b2cf29615e12aeecd6285d45f468c0\n"
    },
    {
      "commit": "6e3dd3e6de432cd200037d74637ef5b183146608",
      "tree": "d04bef7f15a34f8ff1b69bca49f8c584e9e7c6ba",
      "parents": [
        "ab95bad2b88769ccc668e8a4e38a1a24b0d5892c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 17 17:13:53 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 17 17:16:56 2016 -0800"
      },
      "message": "ART: Remove ti library dependency for ti tests\n\nThe agent so should not depend on libopenjdkjvmti.so.\n\nBug: 31455788\nTest: m test-art-host\nChange-Id: I7825d2a475a9651483b9c7cd11016d4f2dba23f9\n"
    },
    {
      "commit": "ab95bad2b88769ccc668e8a4e38a1a24b0d5892c",
      "tree": "9881082491778d7758c26229ed807c5c63060e4c",
      "parents": [
        "137b07593aedfad193a77f3787ecf5197008c5da",
        "dce591b7b611747fcf3dca23df7dc6a5be909c11"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 17 23:17:31 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 23:17:32 2016 +0000"
      },
      "message": "Merge \"ART: Rewrite test 913 printing\""
    },
    {
      "commit": "137b07593aedfad193a77f3787ecf5197008c5da",
      "tree": "51e872c3c3d3072ba0032e35fe155c01baba10db",
      "parents": [
        "de19542bdd8fb252d316c5064c8fc224c2fe52aa",
        "54b5855192abee8cb612fce3c34b7562ddf42522"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Nov 17 21:31:00 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 21:31:01 2016 +0000"
      },
      "message": "Merge \"Change offline profile to store type_idx of classes.\""
    },
    {
      "commit": "de19542bdd8fb252d316c5064c8fc224c2fe52aa",
      "tree": "2d8055ffe9dc81b0383c90f724efd34386c07fd1",
      "parents": [
        "8eaa426ca98eda0c4a7493de9bd5949a78514c87",
        "8df069253e5b77386267ed76dfa72a19672a2d0a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 17 20:59:11 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 20:59:12 2016 +0000"
      },
      "message": "Merge changes I710ca0ed,I576e7926,Id0144b68\n\n* changes:\n  ART: Stop JIT in 913-heaps\n  ART: Add ScopedJitSuspend\n  ART: Change ThreadPool::Wait behavior\n"
    },
    {
      "commit": "dce591b7b611747fcf3dca23df7dc6a5be909c11",
      "tree": "10c40499481f8a76dd08595a158b1aaa5252a199",
      "parents": [
        "8df069253e5b77386267ed76dfa72a19672a2d0a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 17 11:23:35 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 17 12:44:35 2016 -0800"
      },
      "message": "ART: Rewrite test 913 printing\n\nDetailed printing has to be postponed, as many required functions\nare not callback-safe. Refactor the printing logic.\n\nBug: 31385354\nTest: m test-art-host-run-test-913-heaps\nChange-Id: I690752bffe4b27292eb2f2e89b1b6281a5836bb2\n"
    },
    {
      "commit": "54b5855192abee8cb612fce3c34b7562ddf42522",
      "tree": "0bba557936990568075507c5ba86efec959c752b",
      "parents": [
        "3825da56fb16cb8c8128dfad3f65ce392ebf0642"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Nov 16 15:15:04 2016 -0800"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Nov 17 11:00:37 2016 -0800"
      },
      "message": "Change offline profile to store type_idx of classes.\n\nChanged from storing class_def_idx to type_idx. Allows dexlayout to move\nclass defs without affecting the profile.\n\nTest: mm test-art-host\n\nChange-Id: I8a040adf0f5f47a1592e18aeb55edde01cb3e1ed\n"
    },
    {
      "commit": "8eaa426ca98eda0c4a7493de9bd5949a78514c87",
      "tree": "490116f7eec36d8167362580751003dfdabe556c",
      "parents": [
        "3825da56fb16cb8c8128dfad3f65ce392ebf0642",
        "837e72ae04f6bc53a12e7a26c36fdb896d149583"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 17 17:30:43 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 17:30:44 2016 +0000"
      },
      "message": "Merge \"[MIPS64] JNI Compiler: compiler independent test\""
    },
    {
      "commit": "ad06b985bb8792bc82835acbe93eda8f9839c6d2",
      "tree": "4d380c3dd6c1b6cd0512ea0fad14c5616ab54d62",
      "parents": [
        "85347bd18d47066ea9a214d29cec994472ad18ca"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 17 16:38:59 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 17 16:43:37 2016 +0000"
      },
      "message": "Make ImageWriter and PatchOat helper classes nested.\n\nNested classes are better for encapsulation. For example,\nwe\u0027ve had an art::FixupRootVisitor in both image_writer.cc\nand patchoat.cc and we didn\u0027t get an ODR violation only\nbecause these two files are never used in the same process.\n\nTest: Rely on the TreeHugger.\nChange-Id: I39a86994923a9c0faa5f05d8c9ede982ce9c0c4c\n"
    },
    {
      "commit": "8df069253e5b77386267ed76dfa72a19672a2d0a",
      "tree": "4d705d60cdaa75f351f2a839bf3f0775d9abb36a",
      "parents": [
        "f149b3fc6fd315d34244bce709898fdbbddc246f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 16 10:58:11 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 17 08:33:27 2016 -0800"
      },
      "message": "ART: Stop JIT in 913-heaps\n\nTo avoid any JIT interaction, stop the JIT thread pool in\ntest 913-heaps.\n\nBug: 31385354\nTest: m ART_TEST_JIT\u003dtrue test-art-host-run-test-913-heaps\nChange-Id: I710ca0ed3736b5394863aa76aff9ea2ae7d50cb1\n"
    },
    {
      "commit": "f149b3fc6fd315d34244bce709898fdbbddc246f",
      "tree": "34cc0b2f23865db2c065a9e19cf624290e6f2250",
      "parents": [
        "6f3a70f316f2f3dcde5b3bde5fb258c556c46da6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 16 14:58:24 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 17 08:33:16 2016 -0800"
      },
      "message": "ART: Add ScopedJitSuspend\n\nAdd a helper to suspend the JIT in a scope. This will\nwait for the JIT to quiesce, finishing already running\ncompile jobs. Note that the queue will not be drained,\njobs not picked up by the pool, yet, will remain in\nthe queue.\n\nBug: 31385354\nTest: m test-art-host\nChange-Id: I576e7926423f19a8f382be1263838cd924955f1c\n"
    },
    {
      "commit": "6f3a70f316f2f3dcde5b3bde5fb258c556c46da6",
      "tree": "e44245379077f57dee20b8576fa96c3d4c31704a",
      "parents": [
        "85347bd18d47066ea9a214d29cec994472ad18ca"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 16 13:58:05 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 17 08:33:16 2016 -0800"
      },
      "message": "ART: Change ThreadPool::Wait behavior\n\nWhen a pool is in the stopped state, Wait() will not wait for all\ntasks to complete.\n\nBug: 31385354\nTest: m test-art-host-gtest-thread_pool_test\nChange-Id: Id0144b685ee2fddf1a1c2c2ca334251130121033\n"
    },
    {
      "commit": "09a940de7d6de44260c25b778f0850f52b2e4438",
      "tree": "4f44fa8bcefb6a3d5619f7163bfdcd282b11b4fd",
      "parents": [
        "85347bd18d47066ea9a214d29cec994472ad18ca"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Nov 11 16:15:11 2016 +0000"
      },
      "committer": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Thu Nov 17 16:08:27 2016 +0000"
      },
      "message": "ARM: VIXL32: Fix PackedSwitch.\n\nFix the case when the jumptable is very far and offset doesn\u0027t\nfit ADR offset field.\n\nTest: export ART_USE_VIXL_ARM_BACKEND\u003dtrue \u0026\u0026 \\\n      mma test-art-host dist \u0026\u0026 mma test-art-target dist\n\nChange-Id: I2b8ac04eb343947f9a9301f3ce6285794ddad4b8\n"
    },
    {
      "commit": "3825da56fb16cb8c8128dfad3f65ce392ebf0642",
      "tree": "8f747e86885417b9c7f0f060c9901aeea0309c8b",
      "parents": [
        "c180a1b86197890c21217dd193718fc266a07781",
        "8d41c086c41b2169ea9e21c6bfeee19984c79c6a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 17 15:57:53 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 15:57:54 2016 +0000"
      },
      "message": "Merge \"Revert \"jni: Punt to generic JNI for mips\"\""
    },
    {
      "commit": "c180a1b86197890c21217dd193718fc266a07781",
      "tree": "fb28ee432256e3584aa66a0c7cd5bca4872cf22d",
      "parents": [
        "2b362587ab659451e3cafda8de8cef09214d9ca3",
        "cc8b04e5481ca7567d337d9358f92dc2195fc137"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 17 15:57:53 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 15:57:54 2016 +0000"
      },
      "message": "Merge \"jni: Add @CriticalNative support for MIPS32/MIPS64\""
    },
    {
      "commit": "2b362587ab659451e3cafda8de8cef09214d9ca3",
      "tree": "647df1a46d966ba1ac68138cf8cc4f0eb848bdef",
      "parents": [
        "85347bd18d47066ea9a214d29cec994472ad18ca",
        "79b6d0c267731305b17d61b40c72303073b3e156"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 17 15:57:48 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 15:57:48 2016 +0000"
      },
      "message": "Merge \"MIPS32: Assign missing entrypoints in InitEntryPoints\""
    },
    {
      "commit": "0b64a5195b38773084ff94618ac22284bc855b92",
      "tree": "058ebdb2856d7e62c3a40594a5e7d848e455e018",
      "parents": [
        "f1d926592ca7030ad12abc75f2b56643a9e23645"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Nov 17 15:19:21 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Nov 17 15:19:21 2016 +0000"
      },
      "message": "Revert Revert \"Use interpret-only instead of verify-at-runtime when testing JIT\"\n\nThis reverts commit f1d926592ca7030ad12abc75f2b56643a9e23645.\n\nChange-Id: I161f2e0381a31cad8b014d7384eac2e776ae5411\n"
    },
    {
      "commit": "85347bd18d47066ea9a214d29cec994472ad18ca",
      "tree": "65f1d1a6d7b9ac420251afdb92be0918a72777ae",
      "parents": [
        "f75d4c239defe4c64170ac408cbd14b3c46e20b6",
        "fa1b78f19e689d8fc98e2d5b5ce9746e589fb88b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 17 14:24:45 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 14:24:46 2016 +0000"
      },
      "message": "Merge \"Add const-class benchmark.\""
    },
    {
      "commit": "fa1b78f19e689d8fc98e2d5b5ce9746e589fb88b",
      "tree": "c2a3f73514597ba05856f9cc33e2a97739fa1248",
      "parents": [
        "ecd8300b94938f22fa3988c58187acce9f091da8"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 16 15:40:12 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 17 11:30:13 2016 +0000"
      },
      "message": "Add const-class benchmark.\n\nAlso fix indentation in const-string benchmark.\n\nTest: vogar --benchmark art/benchmark/const-class/src/ConstClassBenchmark.java\nTest: vogar --benchmark art/benchmark/const-string/src/ConstStringBenchmark.java\nBug: 30627598\nChange-Id: I04ca9514f6e647640e2c0d9d65fdc4ace652927a\n"
    },
    {
      "commit": "837e72ae04f6bc53a12e7a26c36fdb896d149583",
      "tree": "261006cf6b39481ed9b3401dd769d948076dbfde",
      "parents": [
        "f75d4c239defe4c64170ac408cbd14b3c46e20b6"
      ],
      "author": {
        "name": "Pavle Batuta",
        "email": "pavle.batuta@imgtec.com",
        "time": "Wed Mar 16 11:31:46 2016 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Thu Nov 17 12:00:58 2016 +0100"
      },
      "message": "[MIPS64] JNI Compiler: compiler independent test\n\nFixed MIPS64 stackArgsSignExtendedTest that did not work properly\nwhen code was built with clang. The the test is now written in an\nasm stub and should be completely compiler indepedent.\n\nTest: mma test-art-target-gtest-jni_compiler_test\n\nChange-Id: Idefef3a8414dd8b88a28d2d8862a724bc72402a7\n"
    },
    {
      "commit": "f75d4c239defe4c64170ac408cbd14b3c46e20b6",
      "tree": "674a610b8e848d927c7d23fc8eb73735dd44a5c6",
      "parents": [
        "5f498b27840b101f4a8adda484c99b863faecf3b",
        "8797fdfacc69a1a4ba0ced2715c72adba6f1968b"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Nov 17 10:26:45 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 10:26:45 2016 +0000"
      },
      "message": "Merge \"MethodHandles: Check return types when resolving handles.\""
    },
    {
      "commit": "5f498b27840b101f4a8adda484c99b863faecf3b",
      "tree": "427b3242af6c5c4d50a68e5401f60d222473b3ca",
      "parents": [
        "ab39c210072fdb4d22bb11bba354653cdfc58f64",
        "2bbc953357ac5f62cc4ab2eb055e4392e47d0c3d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 17 09:39:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 09:39:23 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Arch specific operations.\""
    },
    {
      "commit": "ab39c210072fdb4d22bb11bba354653cdfc58f64",
      "tree": "2b100b05b2f4a2d8c864f110b20f41955ccb8891",
      "parents": [
        "96de579b8cb24e87ad0a0ec33b0507c95765a951",
        "6013f77af69cf6eb81195448777b3a646a3eee1a"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Nov 17 00:36:44 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 00:36:45 2016 +0000"
      },
      "message": "Merge \"Address comments from aog/303658.\""
    },
    {
      "commit": "96de579b8cb24e87ad0a0ec33b0507c95765a951",
      "tree": "1437a34fd4fb060222802b1b1b825c45c7ddcc6c",
      "parents": [
        "82d44f1408d0108270f4a305a7fe0123bcc53405",
        "1b0adbf7b14973c3f110976de046d75a7d4ed934"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 16 22:39:44 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 16 22:39:44 2016 +0000"
      },
      "message": "Merge \"Ensure CC GC is used for the read barrier config.\""
    },
    {
      "commit": "82d44f1408d0108270f4a305a7fe0123bcc53405",
      "tree": "70231fc4bc81498e877c45465ccf847b5e0a96f9",
      "parents": [
        "a45aedbc88a723fb81355c0f66466ebb20e35e86",
        "6beced4c017826f7c449f12fac7fa42403657f2b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 16 21:40:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 16 21:40:34 2016 +0000"
      },
      "message": "Merge \"Change iftable to never be null\""
    },
    {
      "commit": "6013f77af69cf6eb81195448777b3a646a3eee1a",
      "tree": "bbcdb4c10901a0b6649fe23a25860e9fd7f9625c",
      "parents": [
        "1b0adbf7b14973c3f110976de046d75a7d4ed934"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Nov 16 13:30:17 2016 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Nov 16 13:30:17 2016 -0800"
      },
      "message": "Address comments from aog/303658.\n\nBug: 12687968\nTest: test-art-host with CC.\nChange-Id: I87a3be336cb1c6b17acc515415c325464ffddc01\n"
    },
    {
      "commit": "1b0adbf7b14973c3f110976de046d75a7d4ed934",
      "tree": "35e0e3effe140748982b0ccf295b123c4952dbe8",
      "parents": [
        "26c8f54be31ccf99540906746b17fc8bba1bab9a"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Nov 14 17:35:12 2016 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Nov 16 12:04:19 2016 -0800"
      },
      "message": "Ensure CC GC is used for the read barrier config.\n\nTo prevent the -Xgc option from causing unsupported GC types to run.\n\nBug: 12687968\nTest: test-art-host with CC.\nChange-Id: I10b42190c0888342e9127c52e863ddae82e4d7a1\n"
    },
    {
      "commit": "6beced4c017826f7c449f12fac7fa42403657f2b",
      "tree": "f53614eeeaa92be9a7398e262d9440f59e3384a5",
      "parents": [
        "e89667815b9d0a1eacb91678fed2a7518bb07cc2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 15 15:51:31 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 16 10:41:40 2016 -0800"
      },
      "message": "Change iftable to never be null\n\nSimplifies code generation by removing a null check. The null case\nis rare.\n\nRitzperf code size: 13107624 -\u003e 13095336\n\nAlso addressed comments from previous CL.\n\nBug: 32577579\n\nTest: test-art-host, run ritzperf both with CC\n\nChange-Id: I2b31e800867112869d7f0643e16c08826296979e\n"
    },
    {
      "commit": "2bbc953357ac5f62cc4ab2eb055e4392e47d0c3d",
      "tree": "aaaa0ea192d66bf71722fd71ec046b9abf3e884c",
      "parents": [
        "ecd8300b94938f22fa3988c58187acce9f091da8"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Oct 21 11:51:50 2016 +0100"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Wed Nov 16 18:40:36 2016 +0000"
      },
      "message": "ARM: VIXL32: Arch specific operations.\n\nTests which now start to pass:\n  550-checker-multiply-accumulate\n  564-checker-negbitwise\n\nTest: export ART_USE_VIXL_ARM_BACKEND\u003dtrue \u0026\u0026 \\\n      mma test-art-host dist \u0026\u0026 mma test-art-target dist\n\nChange-Id: I0b057486a8e0e48afbc52dd18b61ea16c671bec2\n"
    },
    {
      "commit": "a45aedbc88a723fb81355c0f66466ebb20e35e86",
      "tree": "6ccf7b50318637fcd5ac202f9367a99f5babf5be",
      "parents": [
        "ecd8300b94938f22fa3988c58187acce9f091da8",
        "c5d1b4b16085745ee408257b90fef1d6fd1162c5"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Nov 16 18:04:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 16 18:04:54 2016 +0000"
      },
      "message": "Merge \"A few more tests for LICM.\""
    }
  ],
  "next": "c5d1b4b16085745ee408257b90fef1d6fd1162c5"
}
