)]}'
{
  "log": [
    {
      "commit": "eafe2a5a057c32eaf972cb09fe447cfbffae71ca",
      "tree": "b48d251e9636f69915194feef19f3c39a650d221",
      "parents": [
        "a64eaf9023ac0c2f788ecd9ca138b003207b0760"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 19 15:29:42 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 20 10:40:44 2017 -0700"
      },
      "message": "Add compact-dex-level argument to dex2oat\n\nNo-op right now but will be passed to dexlayout to generate\nCompactDex.\n\nAdded the following dex2oat options:\n--compact-dex-level\u003dnone generates no CompactDex.\n--compact-dex-level\u003dfast generates CompactDex with optimizations\nthat are fast and take low resources.\n\nWill add test in follow up through dex2oat/compact_dex_file_test.\n\nTest: test-art-host-gtest\nBug: 63756964\n\nChange-Id: If9d6f4a383bdad1086b3e37daefe108bdd5cd36d\n"
    },
    {
      "commit": "5ef8128014b1796ae56dba3031f64ce6bfef4496",
      "tree": "ea1f3804f9b8f117e861c8d856cf83add69c9a09",
      "parents": [
        "ad0fbe9ac34ece07e587db4c138f2ae0fbfdefbe",
        "dbe54913870fff81cae0796c0f7b66cf298b6d1f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 19 22:28:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 19 22:28:38 2017 +0000"
      },
      "message": "Merge \"ART: Only check non-deoptable classes in slow-debug\""
    },
    {
      "commit": "ad0fbe9ac34ece07e587db4c138f2ae0fbfdefbe",
      "tree": "6ece0370c107f61196663c71197a2db5a41f1d6c",
      "parents": [
        "bf0ab2c2af60d42a50eb7c6e998859d9b9a255e3",
        "acbd98ba58faf3e7c9f2b888ee8a2f54ac5df015"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 19 22:21:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 19 22:21:06 2017 +0000"
      },
      "message": "Merge \"ART: Add trace around app image verification\""
    },
    {
      "commit": "e3a5e668d03143e64ee78697a2ae7e4f4386950b",
      "tree": "dd2dd3751da2f19a73d00f7fbd44d4242baae35e",
      "parents": [
        "185f633f600643a02bc2c3de9f2801d0eca3bdd7",
        "ed56b5e1b92ab11a2a1414807d1a8a1c9123f455"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 19 22:12:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 19 22:12:00 2017 +0000"
      },
      "message": "Merge \"ART: Only stress background transition in slow-debug\""
    },
    {
      "commit": "ed56b5e1b92ab11a2a1414807d1a8a1c9123f455",
      "tree": "93fe2f163b9d23de4c3553d02354363187116311",
      "parents": [
        "1b8376c8127c973377e7881afb1ae41a8cf812c1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 19 12:58:19 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 19 13:24:09 2017 -0700"
      },
      "message": "ART: Only stress background transition in slow-debug\n\nTo lighten the load when starting new processes, by default keep\nthe wait time until running background compaction.\n\nBug: 35644369\nTest: m test-art-host\nChange-Id: I932684b02f3095bc011e5e8346eea103e458bfc5\n"
    },
    {
      "commit": "6c578714a0fb2cb0a3a136abdc60637abd369677",
      "tree": "028879e95fa731cd7c5cd1d1789d0f9fa7b5b584",
      "parents": [
        "1b8376c8127c973377e7881afb1ae41a8cf812c1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 19 13:00:34 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 19 13:23:41 2017 -0700"
      },
      "message": "ART: Move more read-barrier checking under slow-debug\n\nMove CC checks under the slow-debug check. These invocations\nwere missed in the original round.\n\nBug: 35644369\nTest: m test-art-host\nChange-Id: I43dac35e2c1eede1d3e1f87091c7e9c23d9f6eb9\n"
    },
    {
      "commit": "dbe54913870fff81cae0796c0f7b66cf298b6d1f",
      "tree": "20fb2ec0189a528c3fb41a1ecbaef4fec2d0ab8d",
      "parents": [
        "1b8376c8127c973377e7881afb1ae41a8cf812c1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 19 13:02:03 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 19 13:23:17 2017 -0700"
      },
      "message": "ART: Only check non-deoptable classes in slow-debug\n\nOnly collect the list of non-deoptable classes on fork in slow-debug\nbuilds to improve fast-debug process start times.\n\nBug: 35644369\nTest: m test-art-host\nChange-Id: I36d5141789fa477afe49e92d0c6c15d48fa35b3d\n"
    },
    {
      "commit": "acbd98ba58faf3e7c9f2b888ee8a2f54ac5df015",
      "tree": "d5d7a7e29af68392cc4d956977da702f00983bdc",
      "parents": [
        "1b8376c8127c973377e7881afb1ae41a8cf812c1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 12 10:44:11 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 19 13:06:11 2017 -0700"
      },
      "message": "ART: Add trace around app image verification\n\nTo track verification times in debug builds.\n\nBug: 35644369\nTest: m test-art-host\nChange-Id: I131a713464e2bd44125e5091e9c20cec600a87e0\n"
    },
    {
      "commit": "dfce43569a32ed7da881796713647cd8051d0d4e",
      "tree": "2b4b8e48a9cc88f469ac5637bfa4de9307f75a5f",
      "parents": [
        "d9b2fd27750a45a25d8dc7a5550af4e8aae23d2b",
        "cf76bf83147f30cf23c70cfb7834a07420775143"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 19 01:39:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 19 01:39:29 2017 +0000"
      },
      "message": "Merge \"Add CompactDexFile\""
    },
    {
      "commit": "b05fa41b1f05b24b122799a1b45667e8e401c97e",
      "tree": "1964cd75b115b960c61e55a188517568c5201328",
      "parents": [
        "cae9e089b8dfecef8545038643096f20b4cba174",
        "2f366292b51789bcecb1bde53e07d7f78802bc4f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 18 23:04:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 18 23:04:40 2017 +0000"
      },
      "message": "Merge \"base: Fix integer conversion in MaskLeastSignificant, add more asserts\""
    },
    {
      "commit": "cf76bf83147f30cf23c70cfb7834a07420775143",
      "tree": "4b2b7c0f05c58214bbeb613bf3b0fec3d1a4cfc2",
      "parents": [
        "24276374dcaf95bfc52be2b8193eb4e337de62e4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Sep 25 16:22:36 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 18 15:45:31 2017 -0700"
      },
      "message": "Add CompactDexFile\n\nAdd holder class for CompactDex. Add unit test.\n\nBug: 63756964\nTest: test-art-host\nChange-Id: I304d7cb0e38b20e51132ea2c155f3db7bd50028a\n"
    },
    {
      "commit": "2b51edd7918d6a70fd335cdc5af50e9513aab1cf",
      "tree": "e2e57953d38318df3b7d32ca707fa07093fb16d7",
      "parents": [
        "d6947136eab2fcefb1a9195110b9195aabaf469e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 18 13:15:02 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 18 13:27:12 2017 -0700"
      },
      "message": "ART: Fix includes\n\nAdd missing libnativehelper dependencies. Remove superfluous\nScopedLocalRef includes.\n\nTest: mmma art\nChange-Id: Ic2ecbcc1d205500307f0ef5b2859c60d3fc336f3\n"
    },
    {
      "commit": "24276374dcaf95bfc52be2b8193eb4e337de62e4",
      "tree": "7521652065d9052e4b363c9e044cdb083a61cdfd",
      "parents": [
        "aa337b1846d211c6b12a4f33472a52f267dd3a2c",
        "030fe39782563bd9ecab7fe636cf09477648d7f5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 18 10:45:15 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 18 10:45:15 2017 +0000"
      },
      "message": "Merge \"Fix mips64 build\""
    },
    {
      "commit": "aa337b1846d211c6b12a4f33472a52f267dd3a2c",
      "tree": "597b75fabf2a2eb58ab3c8a4ee661afb8cf2c5a3",
      "parents": [
        "4a6603701b217bbbd75020e1689c87c61125ef02",
        "a1f56a8dddb88f5377a7dd4ec79640103c713d30"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 18 09:58:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 18 09:58:06 2017 +0000"
      },
      "message": "Merge \"Unquicken dex files before exporting from oatdump\""
    },
    {
      "commit": "030fe39782563bd9ecab7fe636cf09477648d7f5",
      "tree": "3cfc69b8d85fdee0843092792888fcb2e333a749",
      "parents": [
        "4a6603701b217bbbd75020e1689c87c61125ef02"
      ],
      "author": {
        "name": "Lena Djokic",
        "email": "Lena.Djokic@imgtec.com",
        "time": "Tue Oct 17 15:55:38 2017 +0200"
      },
      "committer": {
        "name": "Lena Djokic",
        "email": "Lena.Djokic@imgtec.com",
        "time": "Wed Oct 18 10:55:19 2017 +0200"
      },
      "message": "Fix mips64 build\n\nAdded missing register definitions in header.S for mips64.\nWe needed this because machine/regdef.h has been removed from\nbionic.\nGenerated mterp_mips64.S using gen-mterp.py script.\n\nTest: successful mips64 build\n\nChange-Id: I6a2f4fcf8a827f6198f3c97f3a3dd35b7bc79c7e\n"
    },
    {
      "commit": "b73cc5dece8bf95935e03ff86b9a314872886299",
      "tree": "cdfb4fcf6b9ad60d441a4def9b505d355ffbacce",
      "parents": [
        "ea7638349dd23dfdd6ee0c2e45a63faa653962e3",
        "e7732be2390f00b1f98b8c0066a37892ee1126f6"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Oct 17 08:00:17 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 17 08:00:17 2017 +0000"
      },
      "message": "Merge \"ART: Implement missing mterp handlers\""
    },
    {
      "commit": "ea7638349dd23dfdd6ee0c2e45a63faa653962e3",
      "tree": "27bdea870f6a571ae6c37f776b523dbd4622b8e2",
      "parents": [
        "f391895ca62acff4bc547bd1af8398af1edc7a39",
        "ff9e43fa6dcd44cecb81149c8410c071ef840723"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 17 01:50:43 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 17 01:50:43 2017 +0000"
      },
      "message": "Merge \"signal_catcher: print errno when tombstoned_notify_completion fails.\""
    },
    {
      "commit": "f391895ca62acff4bc547bd1af8398af1edc7a39",
      "tree": "a18dc59dde71f09b5fbfcd6a306e7a152609c44a",
      "parents": [
        "0b753fa0cd0719852b87711a72c795817ab47ff4",
        "5b80358a9da889cd2ecf18eb49aa42efa409e582"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 16 22:49:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 16 22:49:54 2017 +0000"
      },
      "message": "Merge \"Don\u0027t dlclose plugins or agents during shutdown.\""
    },
    {
      "commit": "ff9e43fa6dcd44cecb81149c8410c071ef840723",
      "tree": "50e913b8641dd213a2ce73d4b4c354b5dbc26a1c",
      "parents": [
        "baeedfee3521c295916e3ae85afa2cb5dee7d6a5"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Oct 16 14:10:08 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Oct 16 15:05:37 2017 -0700"
      },
      "message": "signal_catcher: print errno when tombstoned_notify_completion fails.\n\nFailure here could either be someone internal closing our FD (EBADF) or\ntombstoned closing its end of the socket (EPIPE). Print the error to\ndisambiguate the cases.\n\nBug: 67805174\nTest: treehugger\nChange-Id: Ie35cb31218b5bb08757e61360c6539d39eece08b\n"
    },
    {
      "commit": "26d46e51a8c387d26e7971857e26f4582b936204",
      "tree": "d8309e595cae7ad347a1cdda845bdd26365a05a7",
      "parents": [
        "f856934689a289b2bc82462e8757a170242bb44d",
        "11c273ddfda3e30d14af32e385570955b61bc39b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 16 21:50:02 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 16 21:50:02 2017 +0000"
      },
      "message": "Merge \"Remove low RAM special casing for heap growth multiplier\""
    },
    {
      "commit": "5b80358a9da889cd2ecf18eb49aa42efa409e582",
      "tree": "71c5fce7e27b9dbd74bd7fd2b62e0633938973ee",
      "parents": [
        "445e0ec3724b7f4f36bbd218f67a2c9bfbea7669"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 16 10:59:26 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 16 13:39:49 2017 -0700"
      },
      "message": "Don\u0027t dlclose plugins or agents during shutdown.\n\nWe were dlclosing agents and the JVMTI plugin during shutdown but it\nseems that some agents assume that their code will remain loaded even\nafter the Agent_OnUnload function returns. This caused segfaults\nduring shutdown in some situations. Since the runtime is shutting down\nanyway there is not much to lose by just not unloading these agents\nand the plugins they depend on.\n\nTest: stress --cpu 60\nTest: ./art/tools/run-prebuilt-libjdwp-tests.sh \\\n        --debug \\\n        --test org.apache.harmony.jpda.tests.jdwp.Events.CombinedEventsTest#testCombinedEvents_05\n\nBug: 67497270\nBug: 67855829\n\nChange-Id: Ib988c0d21bd12d40f33d709e633312eb68021b38\n"
    },
    {
      "commit": "a1f56a8dddb88f5377a7dd4ec79640103c713d30",
      "tree": "ae1df3adacfcd82dd0b960cfd4cabcfb44fe6536",
      "parents": [
        "e4c00b3af3ccf460e4b0332a04dc9eaeffee5c7a"
      ],
      "author": {
        "name": "Anestis Bechtsoudis",
        "email": "anestis@census-labs.com",
        "time": "Sun Oct 08 23:37:10 2017 +0300"
      },
      "committer": {
        "name": "Anestis Bechtsoudis",
        "email": "anestis@census-labs.com",
        "time": "Mon Oct 16 23:36:16 2017 +0300"
      },
      "message": "Unquicken dex files before exporting from oatdump\n\nBenefit from the vdex unquicken method when exporting dex files from\noatdump (--export-dex-to). Currently oatdump exports the quickened dex\nfiles as generated by the dex compiler (dex-to-dex transformations).\nWith this commit the dex files associated with the input oat file are\nunquickened before exporting.\n\nIn contrast to the other VdexFile::Unquicken() calls, in this case it\nis useful to decompile a RETURN_VOID_NO_BARRIER into a RETURN_VOID. As\nsuch, the required changes around the decompile_return_instruction flag\nwere made since it was hardcoded to false.\n\nThis feature is mostly useful when inspecting oat files that have the\noriginal bytecode being stripped from the matching APK. If unquicken\nis successful, the old checksum is expected to match.\n\nTest: test-art-host\n\nChange-Id: I9133d5f488ee3451c8f361ae90d1e12857529b1e\nSigned-off-by: Anestis Bechtsoudis \u003canestis@census-labs.com\u003e\n"
    },
    {
      "commit": "e7732be2390f00b1f98b8c0066a37892ee1126f6",
      "tree": "a2f1b1b46f1eb6e3623ec37f077b57e0f1b01013",
      "parents": [
        "44f520b12bab27ef4c0719f9dd296d76c79b23cb"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Oct 11 14:35:20 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Oct 16 21:20:36 2017 +0100"
      },
      "message": "ART: Implement missing mterp handlers\n\nAdds mterp handlers for const-method-{handle,type}, invoke-custom, and\ninvoke-polymorphic.\n\nMinor refactoring starting from interpreter_common.{h,cc} for consistency.\n\nTest: m test-art-host\nBug: 65872996\nChange-Id: I95cda758d1ce2fb52e3b1c6211e5d1763cee7bd6\n"
    },
    {
      "commit": "11c273ddfda3e30d14af32e385570955b61bc39b",
      "tree": "d771029bda69385e3ea3297a473bf841a05bed6d",
      "parents": [
        "44f520b12bab27ef4c0719f9dd296d76c79b23cb"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Oct 15 20:54:45 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 16 13:11:15 2017 -0700"
      },
      "message": "Remove low RAM special casing for heap growth multiplier\n\nMoved to change the default value in runtime.cc. This enables\nchanging the value by passing in a\n-XX:ForegroundHeapGrowthMultiplier value.\n\nThis enables devices to set the foreground heap growth multiplier\nto non 1.0 values even when low_memory_mode is true. Doing this\nreduces GC frequency and can help device performance.\n\nIncreased the limit to 5.0 since the old limit of 1.0 was bogus.\n\nBug: 67416130\nTest: test-art-host\nTest: make and flash\n\n(cherry picked from commit 2f33ad21a5c3688c33c1f36665216d76bac47f2c)\n\nMerged-In: I86166830261c034255c23611cb8f4ebcf8c43b09\nChange-Id: I6fdf82e69ebe350476fb4fe3da9d22bf671b9eac\n"
    },
    {
      "commit": "aa6abb081cbe14ccd693459bf016b14627f58616",
      "tree": "3f7c8d392ef39c12e5ab902de3922115f312695e",
      "parents": [
        "776f0b98414fe0d996928e7dce982c93195fc113"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Oct 12 08:25:11 2017 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Oct 16 16:57:40 2017 +0000"
      },
      "message": "Fix dexlayout debug info printing\n\nParsing local info and position info made shared debug info print\nincorrectly.  Remove the dexlayout structs that represent the pre-parsed\nversions and print from the byte buffer.\n\nBug: 67664147\nTest: make test-art-host\nChange-Id: Iae33ae8ff486914d8d7a5973f81faaf3c95615a6\n"
    },
    {
      "commit": "2c8fe470a4a79be7280bfa467232d7de0f6ee6d5",
      "tree": "9ba803346664363a54d37a03b3e742458bd7ac39",
      "parents": [
        "bcb82557bab28fee71512de08c0199d09057a611",
        "c42cb0e08a7c8f7085115e57b0ea92da9eee1575"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 16 16:35:49 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 16 16:35:49 2017 +0000"
      },
      "message": "Merge \"Add -XX:MadviseRandomAccess option\""
    },
    {
      "commit": "bcb82557bab28fee71512de08c0199d09057a611",
      "tree": "8a1a917835618d828d7faa19e0c4bc74d5450f6b",
      "parents": [
        "4054e74d66b7c6e0d17f651fa97dd4ce492797c2",
        "c6194f0cfc1ddc84214f13de26a576d431728312"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 16 14:40:57 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 16 14:40:57 2017 +0000"
      },
      "message": "Merge \"Remove unused method String.fastIndexOf\""
    },
    {
      "commit": "c6194f0cfc1ddc84214f13de26a576d431728312",
      "tree": "77633ef1227ec113fb0f051fca8957d8e3bebf69",
      "parents": [
        "f931445cc883e70240f744a5fa842aba339e46dd"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Mon Oct 09 11:02:49 2017 +0100"
      },
      "committer": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Mon Oct 16 10:21:33 2017 +0100"
      },
      "message": "Remove unused method String.fastIndexOf\n\nTest: make test-art-host-gtest\nBug: 67411061\nChange-Id: I5aa8f339e6ba457a40728de94921ce61026e8aeb\n"
    },
    {
      "commit": "c42cb0e08a7c8f7085115e57b0ea92da9eee1575",
      "tree": "05fe067296d7e15bd3e607ac8792eca8652548dc",
      "parents": [
        "6cee5e402cb206f0c0878e999f885a7206dcbb09"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 13 11:35:00 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 13 16:35:55 2017 -0700"
      },
      "message": "Add -XX:MadviseRandomAccess option\n\nIf enabled, ART will advise random access to the kernel for files\nthat are thought to have such access patterns.\n\nBug: 67772594\nTest: verify that -XX:MadviseRandomAccess:true is passed to runtime init\n\n(cherry picked from commit 087f2046dfdf41646c740a05004b4d40cbd99b11)\n\nChange-Id: I76a5f62846d563a4f2cf25e47dbd320464aee8c1\n"
    },
    {
      "commit": "292567ee71a20bfc59513c6af290495e4b92b2cb",
      "tree": "6f2fb5ed3caec12b2193b179864dcd87578d2f52",
      "parents": [
        "b95f45e67a3e4a14aab63b19f101547658d7514b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 12 13:24:38 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 12 13:48:31 2017 -0700"
      },
      "message": "Rename NativeDexFile -\u003e StandardDexFile\n\nMotivation: The new name is cleaner.\n\nBug: 63756964\nTest: test-art-host\nChange-Id: I0e52015dbd929fe247305070cef03d86bcdeb54b\n"
    },
    {
      "commit": "b95f45e67a3e4a14aab63b19f101547658d7514b",
      "tree": "52b85a9adc4223dfc8f7a5acdbfde0fc18e2e9a3",
      "parents": [
        "9ca5363e3b7e7f330037fb21412c0199cf4fc53e",
        "81e893809d51c3d784d295604c2963997235f2ed"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 12 17:32:27 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 12 17:32:27 2017 +0000"
      },
      "message": "Merge \"ART: Change ObjPtr validation\""
    },
    {
      "commit": "9ca5363e3b7e7f330037fb21412c0199cf4fc53e",
      "tree": "3d6b0a722cd79d7f5d7232b264fa6ef4358281f8",
      "parents": [
        "6783118d2ad9d759f0617b1219a9e29a10a569f7",
        "a682247fda8817be8c5ee70b3b3dbf5f3a76ad70"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 12 16:03:59 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 12 16:03:59 2017 +0000"
      },
      "message": "Merge \"ART: Make FastJNI annotation checks slow-debug\""
    },
    {
      "commit": "81e893809d51c3d784d295604c2963997235f2ed",
      "tree": "a4f3e3938171e16c62e20c3bb952d0dc7c2afec0",
      "parents": [
        "6783118d2ad9d759f0617b1219a9e29a10a569f7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 11 21:52:42 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 12 08:09:37 2017 -0700"
      },
      "message": "ART: Change ObjPtr validation\n\nDo not validate for copy constructor and assignment. This is the\nmajority of overhead in practice. Invalid ObjPtrs will still be\ndetected when they are used.\n\nBug: 35644369\nTest: m test-art-host\nChange-Id: I74378afdf69164046d854a0804465b83592f0873\n"
    },
    {
      "commit": "387c28110e562a11cc27448472f2031251a9ded4",
      "tree": "9dc69f88cf59703d24537fe8d23ef89373c76bfd",
      "parents": [
        "0284f43d625f0776ee0586a7cc321e11f5405e8c",
        "009d166842195711eca4d5768c59a8f7404e6875"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 12 11:19:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 12 11:19:47 2017 +0000"
      },
      "message": "Merge \"Use ScopedArenaAllocator in BCE, DCE, LSE, ...\""
    },
    {
      "commit": "009d166842195711eca4d5768c59a8f7404e6875",
      "tree": "297cbed4084e905767bd979d54697693fd0c7262",
      "parents": [
        "52d52f5dc3e005829926e68c656fb27e8b008ae9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 10 13:21:15 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 12 10:43:29 2017 +0100"
      },
      "message": "Use ScopedArenaAllocator in BCE, DCE, LSE, ...\n\n... ReferenceTypePropagation and GraphChecker.\n\nDefine and use a new allocation kind for LoadStoreAnalysis.\n\nMemory needed to compile the two most expensive methods for\naosp_angler-userdebug boot image:\n  BatteryStats.dumpCheckinLocked() : 19.7MiB -\u003e 19.6MiB (-79KiB)\n  BatteryStats.dumpLocked(): 39.4MiB -\u003e 39.3MiB (-120KiB)\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 64312607\nChange-Id: Ib0cf074ac21ab67d8f8f2efabbdfb84cce9cae8e\n"
    },
    {
      "commit": "0284f43d625f0776ee0586a7cc321e11f5405e8c",
      "tree": "983c86ff79f2a5a089bfa44ec27a5f2c5d6206b6",
      "parents": [
        "128acd4b5b34cdd51328de03df085deaa040b864",
        "52d52f5dc3e005829926e68c656fb27e8b008ae9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 12 09:05:08 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 12 09:05:08 2017 +0000"
      },
      "message": "Merge changes I4bbb21bf,Ie79b46cd,Ia50aafc8\n\n* changes:\n  Use ScopedArenaAllocator in GVN.\n  Use ScopedArenaAllocator for Phi elimination pass.\n  Use ScopedArenaAllocator for building HGraph.\n"
    },
    {
      "commit": "a682247fda8817be8c5ee70b3b3dbf5f3a76ad70",
      "tree": "635f1904e392492e53e72b3649bfa7e28156519d",
      "parents": [
        "128acd4b5b34cdd51328de03df085deaa040b864"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 11 22:58:53 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 11 22:58:53 2017 -0700"
      },
      "message": "ART: Make FastJNI annotation checks slow-debug\n\nAvoid annotation checks in fast-debug builds to lower overhead.\n\nBug: 35644369\nTest: m test-art-host\nChange-Id: I7faafa5f6919420f75800fb59bf650f277957f98\n"
    },
    {
      "commit": "128acd4b5b34cdd51328de03df085deaa040b864",
      "tree": "12fe7eff685cbb792c09e3eb222f96f5f7a6ef35",
      "parents": [
        "ce7213d88b01c8f40a7d30116048eee5fd161a29",
        "b22dea05178034a40b84953a661f3ea613395d16"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 12 01:17:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 12 01:17:16 2017 +0000"
      },
      "message": "Merge \"Provide an option to pass odex and vdex fds in dexoptanalyzer\""
    },
    {
      "commit": "b22dea05178034a40b84953a661f3ea613395d16",
      "tree": "261a2a2db613e8b51898df338ae8401ec1fd5740",
      "parents": [
        "97785f595a8a3b5c766021a07c47a2ca81e4a810"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Wed Oct 04 18:36:41 2017 -0700"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Wed Oct 11 16:43:20 2017 -0700"
      },
      "message": "Provide an option to pass odex and vdex fds in dexoptanalyzer\n\nTest: test-art-host-gtest-oat_file_assistant\nBug: 67111829\nChange-Id: I10b23e665987d4a4a7d0eab67f11bda3d5809554\n"
    },
    {
      "commit": "ce7213d88b01c8f40a7d30116048eee5fd161a29",
      "tree": "0f1151c7de6c21a860b3e2136046c6722e963ea7",
      "parents": [
        "64a8b85242668b6e722b101418cc5823cb40e23e",
        "79c87da9d4698ec58ece65af0065eebd55a1cfe0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 11 23:30:44 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 11 23:30:44 2017 +0000"
      },
      "message": "Merge \"Add DexFileLoader class\""
    },
    {
      "commit": "79c87da9d4698ec58ece65af0065eebd55a1cfe0",
      "tree": "399797f37712da9d20829d5b5059b6c84943cb02",
      "parents": [
        "656e97f949df4081fba908113406b32915174502"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 10 11:54:29 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 11 14:47:06 2017 -0700"
      },
      "message": "Add DexFileLoader class\n\nAdded DexFileLoader class, moved functionality from DexFile there:\n- Multidex loading logic\n- DexFile opening logic for Zip and etc\n- Some other helpers\n\nBug: 63756964\nTest: test-art-host\n\nChange-Id: Ic3dfa458947d4b69912dea5cdd836e7e8f55061c\n"
    },
    {
      "commit": "64a8b85242668b6e722b101418cc5823cb40e23e",
      "tree": "4084ee09b9c62d1041bef0a24caaa2960597603f",
      "parents": [
        "656e97f949df4081fba908113406b32915174502",
        "454853420aa32e442713eb76b7399d183c5d4e5c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 11 20:47:12 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 11 20:47:12 2017 +0000"
      },
      "message": "Merge \"ART: Fix allocation tracking\""
    },
    {
      "commit": "656e97f949df4081fba908113406b32915174502",
      "tree": "6c1d1501438c75530075030a04137b106725e8d2",
      "parents": [
        "70ad65a64ef1c554398dff7bf1e8ad144cfdade0",
        "7b074bf1ce559541d0c19ef793d9702a415ff74d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 11 20:22:51 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 11 20:22:51 2017 +0000"
      },
      "message": "Merge \"Add a shared interface for different types of dex files\""
    },
    {
      "commit": "454853420aa32e442713eb76b7399d183c5d4e5c",
      "tree": "7633796855597f30be8163b12eb70686d7435cdc",
      "parents": [
        "f35bb20d7dab15c771f5237bb79ca2b7a6afa8a0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 11 12:04:35 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 11 12:07:09 2017 -0700"
      },
      "message": "ART: Fix allocation tracking\n\nFollow-up to commit 1b35b469e0e8a70d9fd3f6c22d7e828b044c0df8.\n\nBug: 67044702\nTest: m test-art-host\nChange-Id: Ie1149c9070ba9dbf07988d4634f20012318704f0\n"
    },
    {
      "commit": "7b074bf1ce559541d0c19ef793d9702a415ff74d",
      "tree": "acaf022c330649de7a1a4b372308132f44091c70",
      "parents": [
        "432d91004b79c79deebeee6f6197e43adf6caafd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Sep 25 16:22:36 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 11 11:30:11 2017 -0700"
      },
      "message": "Add a shared interface for different types of dex files\n\nRepurposed DexFile to be the shared API. Will be used for abstracting\naccesses to original dex files and CompactDex files.\n\nAs implementation diverges, functionality will be moved from DexFile\naccordingly.\n\nWill consider renaming DexFile -\u003e IDexFile in a follow up CL.\n\nBug: 63756964\nTest: test-art-host\n\nChange-Id: Iad2508c2b9a7b6e0669fca5f7d10299a9b1541a2\n"
    },
    {
      "commit": "a7d81f1764e8690883a955f305019fd5e32e11c0",
      "tree": "8d18bd21302edd1bd1551607ee5d5a6df407c933",
      "parents": [
        "432d91004b79c79deebeee6f6197e43adf6caafd",
        "1b35b469e0e8a70d9fd3f6c22d7e828b044c0df8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 11 18:24:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 11 18:24:38 2017 +0000"
      },
      "message": "Merge \"ART: Add allocation tracking to JNI global refs\""
    },
    {
      "commit": "69d310e0317e2fce97bf8c9c133c5c2c0332e61d",
      "tree": "fba05a1530e6fc4a2e6950303c1f7c6b0ffbb936",
      "parents": [
        "e764d2e50c544c2cb98ee61a15d613161ac6bd17"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 09 14:12:23 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 11 09:44:26 2017 +0100"
      },
      "message": "Use ScopedArenaAllocator for building HGraph.\n\nMemory needed to compile the two most expensive methods for\naosp_angler-userdebug boot image:\n  BatteryStats.dumpCheckinLocked() : 21.1MiB -\u003e 20.2MiB\n  BatteryStats.dumpLocked(): 42.0MiB -\u003e 40.3MiB\nThis is because all the memory previously used by the graph\nbuilder is reused by later passes.\n\nAnd finish the \"arena\"-\u003e\"allocator\" renaming; make renamed\nallocator pointers that are members of classes const when\nappropriate (and make a few more members around them const).\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nBug: 64312607\nChange-Id: Ia50aafc80c05941ae5b96984ba4f31ed4c78255e\n"
    },
    {
      "commit": "4c3682649ebcaef4ab237f523f8e39ebd65e4f8d",
      "tree": "6b07cabc12f30d2e8e34485f1d036b93b47b8879",
      "parents": [
        "4e17a9c333625e33537da27c7d6348074bda54be",
        "df2d5de869514ddc52ac0afd60d6eefb9da844b4"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Oct 10 09:55:04 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 10 09:55:04 2017 +0000"
      },
      "message": "Merge \"Strengthen annotation-related checks in JNI code.\""
    },
    {
      "commit": "4e17a9c333625e33537da27c7d6348074bda54be",
      "tree": "0a4f019f480fc4e4a3e333df9ff4513eacdac1e0",
      "parents": [
        "403cb2cfc619a7b6dfcdd25a7bbd5496df25957f",
        "73d7b2d02982d32329e5114169fb8c3664ca5853"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 10 02:25:27 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 10 02:25:27 2017 +0000"
      },
      "message": "Merge \"Clean up dex_file a bit\""
    },
    {
      "commit": "403cb2cfc619a7b6dfcdd25a7bbd5496df25957f",
      "tree": "909fa02cd2a0283c7def6870d5bb11927f67bcaa",
      "parents": [
        "249726c999de97d08d22d7935e6866d66508f6e1",
        "8d8d37b80e9f5f2ffd664c54e31337f178c3e62c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 10 02:06:17 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 10 02:06:17 2017 +0000"
      },
      "message": "Merge \"[art] Compile secondary dex files in isolation\""
    },
    {
      "commit": "8d8d37b80e9f5f2ffd664c54e31337f178c3e62c",
      "tree": "36f474d3fa6a6ffd57c038246228eff10e95fdb9",
      "parents": [
        "0588f3aa446b9eb96ee7452d4a4494684b41d039"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Oct 02 14:56:29 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Oct 09 17:23:58 2017 -0700"
      },
      "message": "[art] Compile secondary dex files in isolation\n\nThe class loader context adds the overhead of extracting in-memory and\npossibly extra verification which is being frowned upon when the loading\nhappens on the UI thread. Revert the correct fix of compiling secondary\ndex files with their context until b/64530081 is done.\n\nPartial revert of commit 659a7dccd73c6b67e2d8bf56c84c09cbe69215c1.\n\nTest: m test-art-host\nBug: 64530081\nBug: 66984396\n\n(cherry picked from commit 2ea7ad1e083fd446c0e909d2b7fbb4ff4b5d9a78)\n\nChange-Id: I9b9c0a42e532fc057a36bc241127dd8a147b9abd\n"
    },
    {
      "commit": "73d7b2d02982d32329e5114169fb8c3664ca5853",
      "tree": "ce9f708cbaf92f4b56322d25919162b2ffee90ff",
      "parents": [
        "a6684ca4d6d827893e775e295060ca9607eec473"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 09 16:41:33 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 09 17:09:03 2017 -0700"
      },
      "message": "Clean up dex_file a bit\n\nFix indentation, use C++11 initialization, use ternary operators\nwhere applicable.\n\nTest: test-art-host\nBug: 63756964\n\nChange-Id: I7847b32c119d8d4cb741ed89df6c195aace74b9b\n"
    },
    {
      "commit": "1e0730a34b09bd45075f1c258baffc7a58606307",
      "tree": "a1ca6e13acb5cd152caac65ae8d180f3cc387c0f",
      "parents": [
        "85f8c70741eddf3360e9b022bb03e1f9334d7e2a",
        "8f34abacb10936ab1ba87d8d8473c16d6ceddea8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 09 22:47:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 09 22:47:36 2017 +0000"
      },
      "message": "Merge \"Move to interpreter if async-exceptions are pending.\""
    },
    {
      "commit": "8f34abacb10936ab1ba87d8d8473c16d6ceddea8",
      "tree": "1835958a45e52d7b165938d33989637ddb746001",
      "parents": [
        "97785f595a8a3b5c766021a07c47a2ca81e4a810"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 09 13:46:32 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 09 13:58:53 2017 -0700"
      },
      "message": "Move to interpreter if async-exceptions are pending.\n\nIt was previously possible to miss async exceptions due to a\nconcurrent exception occurring that allows the thread to enter JITed\ncode without checking for async-exceptions. Once this happens it is\npossible the thread will never re-enter interpreted code where the\nexception can be noticed.\n\nTest: ./test.py --host\nTest: stress --cpu 60\nBug: 67576489\nChange-Id: Ic93490d4b3e945ac92ab9e8c865e07ae76ca213a\n"
    },
    {
      "commit": "2f366292b51789bcecb1bde53e07d7f78802bc4f",
      "tree": "d18ad8237837f1716706a074e738076842f9b212",
      "parents": [
        "797e6d4d2a2786da42c20a718723a72038f7a01c"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 09 13:37:50 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 09 13:40:53 2017 -0700"
      },
      "message": "base: Fix integer conversion in MaskLeastSignificant, add more asserts\n\nT x \u003d (1 \u003c\u003c bits) was being truncated for sizeof(T) \u003e sizeof(bits).\n\nAlso add more static_asserts to BITSTRUCT_DEFINE_END to make it more\nerror-proof.\n\nTest:  make test-art-{host,target}-gtest-bit_{struct,utils}_test{32,64}\nChange-Id: Ifedf53c1211b4a9492ebd785c321a39d906dc87a\n"
    },
    {
      "commit": "797e6d4d2a2786da42c20a718723a72038f7a01c",
      "tree": "464dd550255b38eedbb8cf3ed9e4c4d8b9d0da03",
      "parents": [
        "a6684ca4d6d827893e775e295060ca9607eec473",
        "ad5df101c37e65cf5f8bb599596ab1f18d5815da"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 09 18:11:11 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 09 18:11:11 2017 +0000"
      },
      "message": "Merge \"ART: Remove FileDescriptor knowledge\""
    },
    {
      "commit": "df2d5de869514ddc52ac0afd60d6eefb9da844b4",
      "tree": "d3c8469b274f71bfca9979db3867362239ae57cb",
      "parents": [
        "464f8cd7385a9958c3171e2feaa93c726043bbf8"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jun 27 16:40:33 2017 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Oct 09 17:56:47 2017 +0100"
      },
      "message": "Strengthen annotation-related checks in JNI code.\n\nInstead of clearing unexpected exceptions in JNI code,\nassert that they should not happen.\n\nTest: m test-art-host\nBug: 34659969\nChange-Id: I7b8d32aa17426e0f37350afec40f07dee73a4b35\n"
    },
    {
      "commit": "0967cd94860178a5809a9678d005b18c20c24707",
      "tree": "f9e0c97fc7efbdbd8236b1f280227f1c9457d089",
      "parents": [
        "464f8cd7385a9958c3171e2feaa93c726043bbf8",
        "e764d2e50c544c2cb98ee61a15d613161ac6bd17"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 09 12:58:04 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 09 12:58:04 2017 +0000"
      },
      "message": "Merge \"Use ScopedArenaAllocator for register allocation.\""
    },
    {
      "commit": "464f8cd7385a9958c3171e2feaa93c726043bbf8",
      "tree": "3ad72d1411c91c68361a1179581decc0e4d96f03",
      "parents": [
        "e4c00b3af3ccf460e4b0332a04dc9eaeffee5c7a",
        "ca6fff898afcb62491458ae8bcd428bfb3043da1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 09 10:24:27 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 09 10:24:27 2017 +0000"
      },
      "message": "Merge \"ART: Use ScopedArenaAllocator for pass-local data.\""
    },
    {
      "commit": "e764d2e50c544c2cb98ee61a15d613161ac6bd17",
      "tree": "112aa7ca459d2edb4f800897060a2407fcc622c7",
      "parents": [
        "ca6fff898afcb62491458ae8bcd428bfb3043da1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 05 14:35:55 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 09 10:39:22 2017 +0100"
      },
      "message": "Use ScopedArenaAllocator for register allocation.\n\nMemory needed to compile the two most expensive methods for\naosp_angler-userdebug boot image:\n  BatteryStats.dumpCheckinLocked() : 25.1MiB -\u003e 21.1MiB\n  BatteryStats.dumpLocked(): 49.6MiB -\u003e 42.0MiB\nThis is because all the memory previously used by Scheduler\nis reused by the register allocator; the register allocator\nhas a higher peak usage of the ArenaStack.\n\nAnd continue the \"arena\"-\u003e\"allocator\" renaming.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nBug: 64312607\nChange-Id: Idfd79a9901552b5147ec0bf591cb38120de86b01\n"
    },
    {
      "commit": "e4c00b3af3ccf460e4b0332a04dc9eaeffee5c7a",
      "tree": "571ec542a55701d5c9049fcbd7625ec7ff23f880",
      "parents": [
        "d99f3f6f7a517b169fd831178441c38941931daa",
        "1e77d2760862ee3a2ce908cdce652a6f6db0c842"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Oct 07 16:42:24 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 07 16:42:24 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"base: Add more bit utils and bit struct class\"\"\""
    },
    {
      "commit": "1e77d2760862ee3a2ce908cdce652a6f6db0c842",
      "tree": "eae305649e4e7f42bccbb24cf580eed1d662d8ab",
      "parents": [
        "5e008b3c5a907015116aa95623205ac8fc2c6768"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Sat Oct 07 14:09:43 2017 +0000"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Sat Oct 07 14:14:58 2017 +0000"
      },
      "message": "Revert \"Revert \"base: Add more bit utils and bit struct class\"\"\n\nThis reverts commit 5e008b3c5a907015116aa95623205ac8fc2c6768.\n\nChange-Id: I05d26dd4a1f8d35e4377f65e209587b67b2ca04e\n"
    },
    {
      "commit": "d99f3f6f7a517b169fd831178441c38941931daa",
      "tree": "8e977067548071ad624176ec3ec4e1249ce96154",
      "parents": [
        "adc4a0dd5234c23c90a262602a3419945e68026d",
        "5e008b3c5a907015116aa95623205ac8fc2c6768"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Oct 07 12:58:39 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 07 12:58:39 2017 +0000"
      },
      "message": "Merge \"Revert \"base: Add more bit utils and bit struct class\"\""
    },
    {
      "commit": "5e008b3c5a907015116aa95623205ac8fc2c6768",
      "tree": "5939cf872b038e58c41e98e31d633e51b2bbb014",
      "parents": [
        "c60f75d6d6f229fa7b5494d54189e974883dafa2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Oct 07 12:57:50 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Oct 07 12:57:50 2017 +0000"
      },
      "message": "Revert \"base: Add more bit utils and bit struct class\"\n\nTests fail on device.\n\nThis reverts commit c60f75d6d6f229fa7b5494d54189e974883dafa2.\n\nChange-Id: I2d8f919df154b700854d78993c460e3aab7cf0c3\n"
    },
    {
      "commit": "adc4a0dd5234c23c90a262602a3419945e68026d",
      "tree": "ca93d2038f62fd59a3122eaebf7de3c6666ad924",
      "parents": [
        "001ff033e6cb4bd650da6df768ab676697db65a9",
        "c60f75d6d6f229fa7b5494d54189e974883dafa2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Oct 07 03:10:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 07 03:10:41 2017 +0000"
      },
      "message": "Merge \"base: Add more bit utils and bit struct class\""
    },
    {
      "commit": "ad5df101c37e65cf5f8bb599596ab1f18d5815da",
      "tree": "1b86115d6631c8604e27fc234636756a8791c35e",
      "parents": [
        "001ff033e6cb4bd650da6df768ab676697db65a9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 04 16:31:08 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 06 18:22:12 2017 -0700"
      },
      "message": "ART: Remove FileDescriptor knowledge\n\nChange VMDebug APIs to not pass FileDescriptor, but an int fd.\n\nTest: m test-art-host\nTest: Device boots\nChange-Id: I4b17f3b2d5d2c71530c3552c11adc2b38fb93df9\n"
    },
    {
      "commit": "c60f75d6d6f229fa7b5494d54189e974883dafa2",
      "tree": "f728320ab915995a011f15089e726ca674f36dc8",
      "parents": [
        "7ec532fd6387a309c824f1abba466003593a685e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Oct 06 11:34:26 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Oct 06 16:46:56 2017 -0700"
      },
      "message": "base: Add more bit utils and bit struct class\n\nAllows efficient, zero-cost, bitwise memory storage.\n\n // Definition for type \u0027Example\u0027\n BITSTRUCT_DEFINE_START(Example, 10)\n   BitStructUint\u003c0, 2\u003e u2;     // Every field must be a BitStruct[*].\n   BitStructInt\u003c2, 7\u003e  i7;\n   BitStructUint\u003c9, 1\u003e i1;\n BITSTRUCT_DEFINE_END(Example);\n\n Would define a bit struct with this layout:\n  \u003c- 1 -\u003e    \u003c--  7  --\u003e  \u003c- 2 -\u003e\n +--------+---------------+-----+\n |   i1   |       i7      | u2  +\n +--------+---------------+-----+\n 10       9               2     0\n\nSee bit_struct.h for more documentation.\n\n(Also adds new BitField[Extract|Insert|Clear] bit_utils similar\nto the ARM bitfield instructions).\n\nTest: art/test.py --gtest\nChange-Id: I5e43f2468c5d275ee872546855527bb4ea73ad4c\n"
    },
    {
      "commit": "097f34cc09caf46945ec17e198f57ac9c156e904",
      "tree": "2f478bcc58ac21017431505ca87e83f4606355b4",
      "parents": [
        "42e482f0615bd935d1426a749a413be2c3f79114"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 23 08:57:51 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 06 13:22:08 2017 -0700"
      },
      "message": "ART: Use CmdlineParser in dex2oat\n\nRefactor dex2oat and the compiler to use the cmdline parser. In\nan effort to standardize command-line parsing and make it easier\nto add new properties in a principled manner.\n\nTest: m test-art-host\nChange-Id: Ia077a56234dbf579d7ca3430fef325b57aa06333\n"
    },
    {
      "commit": "ca6fff898afcb62491458ae8bcd428bfb3043da1",
      "tree": "195a6b16d3a4b34acc2faf91ce56f448efb15e07",
      "parents": [
        "aa7273e56fbafc2692c8d20a31b50d2f4bdd2aa1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 03 14:49:14 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 06 17:53:50 2017 +0100"
      },
      "message": "ART: Use ScopedArenaAllocator for pass-local data.\n\nPasses using local ArenaAllocator were hiding their memory\nusage from the allocation counting, making it difficult to\ntrack down where memory was used. Using ScopedArenaAllocator\nreveals the memory usage.\n\nThis changes the HGraph constructor which requires a lot of\nchanges in tests. Refactor these tests to limit the amount\nof work needed the next time we change that constructor.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nTest: Build with kArenaAllocatorCountAllocations \u003d true.\nBug: 64312607\nChange-Id: I34939e4086b500d6e827ff3ef2211d1a421ac91a\n"
    },
    {
      "commit": "df7f7f02b26f8a8b47345e713ce097ec0e956a11",
      "tree": "2bb4d112aa8f7b08725ae060256bbe86cabd1525",
      "parents": [
        "f931445cc883e70240f744a5fa842aba339e46dd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 05 09:47:58 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 05 09:49:51 2017 -0700"
      },
      "message": "Address comment for aog/502433\n\nAdded a comment describing the fix.\n\nBug: 37885600\nTest: test-art-host\n\nChange-Id: Ia21ce29a6bee1b8f6992a2c051b32b5ab4356191\n"
    },
    {
      "commit": "1b35b469e0e8a70d9fd3f6c22d7e828b044c0df8",
      "tree": "69ed5dfd4357ae136078dda3094790679d000335",
      "parents": [
        "3aaa6bf5639e0f77e814424bbcbab4fb9e3e990b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 29 18:52:15 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 04 19:17:49 2017 -0700"
      },
      "message": "ART: Add allocation tracking to JNI global refs\n\nAdd allocation tracking to global references. When the reference\ntable\u0027s free capacity falls under an adjustable value, enable\ntracking so as to help tracking down possibly-leaky allocations.\n\nBug: 67044702\nTest: m test-art-host\nChange-Id: Ic17d6ebbad895b54c5ac63558027e04aef2b14c1\n"
    },
    {
      "commit": "aac901234850494523b8907d51cc4b3e714efda7",
      "tree": "d82fe05a079625795ac4352314ed51cb9b5dbaa3",
      "parents": [
        "4a899160ece423497f760c809e559b95cb1b3215"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 04 14:58:34 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 04 15:00:28 2017 -0700"
      },
      "message": "Compare rounded sizes in CheckPreconditionsForAllocObject\n\nFixes a bug where the retrying the allocation for switching from\nnon instrumented -\u003e instrumented would cause DCHECK failure because\nit was comparing a rounded size to an unrounded size.\n\nBug: 37885600\nTest: test-art-host\nChange-Id: I2bffff6ae4e3c20b2e830a407a0688ba4cad51a1\n"
    },
    {
      "commit": "8d8de0c92c45a25ac71375c689af29e168bc2ec1",
      "tree": "f60102a6d4493207ed3f8a4df86a004c4f5a046b",
      "parents": [
        "1602bf67be5d9e377c1afde175b65634f4b8b0b5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 04 09:35:30 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 04 09:43:31 2017 -0700"
      },
      "message": "Use CheckedCall for mprotects\n\nAims to prevent silent failures causing SIGSEGV in random places.\n\nBug: 66910552\nTest: test-art-host\n\nChange-Id: I91742b0b0059b5125ac663c3c3422ac5562df0fa\n"
    },
    {
      "commit": "1602bf67be5d9e377c1afde175b65634f4b8b0b5",
      "tree": "da6091c3fc5264a3a4813975cf56a75443c576cd",
      "parents": [
        "50d108073c376a9bd700d3c3078249e4676714e1",
        "3425d028568f4e467e456f1fa0b75846b078bba6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 04 16:13:08 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 04 16:13:08 2017 +0000"
      },
      "message": "Merge \"Rename CHECK_MEMORY_CALL to CheckedCall\""
    },
    {
      "commit": "3425d028568f4e467e456f1fa0b75846b078bba6",
      "tree": "a013b62ad56ba91d6c65f57dab019456628b2de4",
      "parents": [
        "844a4edc7f72e33a3b328c3d53ef710909d2273d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 03 16:22:05 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 03 21:24:28 2017 -0700"
      },
      "message": "Rename CHECK_MEMORY_CALL to CheckedCall\n\nRenamed CHECK_MEMORY_CALL to CheckedCall and moved it to utils. Will\nuse this new call for most madvise/mprotect in ART.\n\nTest: test-art-host\nBug: 66910552\n\nChange-Id: I32908012b310673a9c6488796f8009bb4432579b\n"
    },
    {
      "commit": "3395da0aee5a0ee546c7db866399bea0913393f3",
      "tree": "0335e4d2ed97cea873c7656cb6825a1da92d1416",
      "parents": [
        "8cdfac752808784d29185710095ad104922cd861",
        "691839c8ce79ea66f68504db3236417154c8e0fd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 04 00:09:28 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 04 00:09:28 2017 +0000"
      },
      "message": "Merge changes I03daad97,I7d47b978,I70103fb2\n\n* changes:\n  signal_catcher: reformat includes.\n  fd_file: never report Close failure on linux.\n  fd_file: don\u0027t report failure when trying to flush a pipe.\n"
    },
    {
      "commit": "691839c8ce79ea66f68504db3236417154c8e0fd",
      "tree": "9a5c491eaf1024b1f7a605c1fc4ec66a96c8ac83",
      "parents": [
        "361a1fa709bb7b9bee93812664ddf2711991eaef"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Oct 03 13:23:23 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Oct 03 14:05:14 2017 -0700"
      },
      "message": "signal_catcher: reformat includes.\n\nTest: treehugger\nChange-Id: I03daad9749bd6be7267a2e416507d6869867d0b4\n"
    },
    {
      "commit": "361a1fa709bb7b9bee93812664ddf2711991eaef",
      "tree": "d09da10823156f3d88cb5089a057e87e2da4efc2",
      "parents": [
        "494ec696f978ebd699efd32a6f25bcb83770d1fd"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Oct 03 13:19:27 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Oct 03 14:04:54 2017 -0700"
      },
      "message": "fd_file: never report Close failure on linux.\n\nclose() will always succeed on linux, even if it returns -1 and sets\nerrno. Always report success, to avoid potential double closes.\n\nTest: fd_file_test on host\nChange-Id: I7d47b978645beff6b769f2ae05c32b0e328e433d\n"
    },
    {
      "commit": "494ec696f978ebd699efd32a6f25bcb83770d1fd",
      "tree": "32a9701e31d1fd4325c40ff814f7b8d9bd0c3c10",
      "parents": [
        "2dc2bcc09aff444fad4d0c0ae12458bde5716699"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Oct 03 12:51:54 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Oct 03 14:04:54 2017 -0700"
      },
      "message": "fd_file: don\u0027t report failure when trying to flush a pipe.\n\nAt least one user of FdFile (SignalCatcher) will attempt to create an\nFdFile with either a real file or a pipe. When it does so with a pipe,\nfdatasync fails in Flush(), causing a bunch of spurious logging to be\nemitted. Check to see if the file we\u0027re flushing is actually a file\nbefore calling fdatasync.\n\nBug: http://b/67327501\nTest: fd_file_test on host\nChange-Id: I70103fb20f4fceb36a806c4fd530a0a77c328a96\n"
    },
    {
      "commit": "f1671357148b0ed205c93d051efd03f49e774885",
      "tree": "3a54ee282a807d5f2ee6a878945aa9e896131288",
      "parents": [
        "844a4edc7f72e33a3b328c3d53ef710909d2273d",
        "54d39dc42630cd83f2d1bec5704805febb894819"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 03 18:29:28 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 03 18:29:28 2017 +0000"
      },
      "message": "Merge changes from topic \"thread-stop\"\n\n* changes:\n  Implement JVMTI can_signal_thread capability.\n  Implement asynchronous exception support\n"
    },
    {
      "commit": "844a4edc7f72e33a3b328c3d53ef710909d2273d",
      "tree": "03eb6908a78bf6bcf6e355f94541abc46adf3390",
      "parents": [
        "8a6b8fceddd09c8276c084c986df8cbd27b54a82",
        "8a2a1fc5d7a338a9b29794b2ee5b40a1c24a4e52"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 03 16:10:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 03 16:10:25 2017 +0000"
      },
      "message": "Merge \"ART: Dump allocation stacks in reference table dumps\""
    },
    {
      "commit": "25ae37970757ab06bb75b63a933926a4db4bb38d",
      "tree": "e2fc24b9b2c809fc4c623d9eb412fa3b82bdc328",
      "parents": [
        "aeafbe4d42b132c8705a364d2f6bde301c3d379f",
        "4a4610a438ff2b836f6fe07839a0689ce618863a"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Oct 03 08:21:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 03 08:21:38 2017 +0000"
      },
      "message": "Merge \"ART: Add VarHandle fence intrinsics\""
    },
    {
      "commit": "8a2a1fc5d7a338a9b29794b2ee5b40a1c24a4e52",
      "tree": "0de46574f1bcb0820287db63722178473158b1ec",
      "parents": [
        "a96c47805bdb4c6755ef539bf8c0f945181428b1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 29 17:53:18 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 02 14:41:40 2017 -0700"
      },
      "message": "ART: Dump allocation stacks in reference table dumps\n\nWhen allocation tracking is enabled and allocation stacks are available,\nprint the stack traces of the objects in a reference table dumps, to\naid tracking table overflows.\n\nExtend reference_table_test.\n\nBug: 67044702\nTest: m test-art-host\nChange-Id: I0118ba095f08dc66739707cd6a184487974b1570\n"
    },
    {
      "commit": "2e59994c3c586d8b753e4b14a94c81bce3dba1a9",
      "tree": "ab749ce709732821c7c00c81eb76afef032fd888",
      "parents": [
        "865a0503515f78611dce103bd04b7c66c051d304"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Sep 22 16:17:41 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Oct 02 16:08:18 2017 +0100"
      },
      "message": "ART: support for const-method-{handle,type}\n\nAdds support for const-method-handle and const-method-type bytecodes.\n\nBug: 66562269\nTest: art/test/run-test --host 979\nTest: art/test/dexdump/run-all-tests\nChange-Id: I812eaf0f2439d6126b4287483fe2348366cacf90\n"
    },
    {
      "commit": "4a4610a438ff2b836f6fe07839a0689ce618863a",
      "tree": "afb5c6303c6c8eb68f81752a642a5b036049b28d",
      "parents": [
        "865a0503515f78611dce103bd04b7c66c051d304"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Sep 28 16:57:55 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Oct 02 14:09:21 2017 +0100"
      },
      "message": "ART: Add VarHandle fence intrinsics\n\nBug: 65872996\nTest: art/test/run-test --host --64 709\nTest: art/test.py --host -j32\nChange-Id: I6fa399bb00f0c83048ac2b4372b08e4b4b29ce7f\n"
    },
    {
      "commit": "cfcc9cfb44bab79f7381bcc4bfd9bf2d4435f734",
      "tree": "6637daf0cde4f14afd02793ad268f22f9257bd4c",
      "parents": [
        "f67f115423c9ef5aa62a33c12670cd8f89457c9c"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Sep 29 15:07:27 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Sun Oct 01 12:08:08 2017 +0100"
      },
      "message": "ART: Increase the number of potential instrinsics\n\nThe new limit is 256 intrinsics.\n\nAdds additional sanity checks.\n\nAvoids setting the kAccPreviouslyWarm bit for intrinics (defaults to\ntrue).\n\nBug: 65872996\nTest: art/test.py --host -j32\nChange-Id: I33ea67c9b6b8500b3ceb8a085358f075f6fcbb82\n"
    },
    {
      "commit": "f67f115423c9ef5aa62a33c12670cd8f89457c9c",
      "tree": "9381a1f2a0d5d8c7a52bcbce3c09c819177972a3",
      "parents": [
        "2cda354d7fcd4e0a32462d4aaa448869a93b20a3",
        "df13240f4b9325b34d09e20cdac4e9a0b12ead61"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 29 21:38:44 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 29 21:38:44 2017 +0000"
      },
      "message": "Merge \"Send ThreadEnd after clearing ThreadGroup.\""
    },
    {
      "commit": "df13240f4b9325b34d09e20cdac4e9a0b12ead61",
      "tree": "ed2e646165904d2e8c15210ddc84bfd98b8c8d9f",
      "parents": [
        "05727c50c8c329d03692ffe51dce453c54379d70"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Sep 29 12:54:33 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Sep 29 13:09:58 2017 -0700"
      },
      "message": "Send ThreadEnd after clearing ThreadGroup.\n\nThe removal of a thread from it\u0027s thread group does cause managed code\nto execute so it could cause additional events to trigger in agents,\npotentially causing deadlocks. This changes where the event is\ntriggered to put it after the thread has been removed from its group.\n\nTest: ./test.py --host -j50\nBug: 67104807\n\nChange-Id: I53f53b2823835a9629842fb5c22079b3e42042d5\n"
    },
    {
      "commit": "c46cf80c4e62fd6de1872d29bf7e4f3d4238829e",
      "tree": "d5a19214bdf22407fc3ac5dbfe24db4478dbf736",
      "parents": [
        "7ec532fd6387a309c824f1abba466003593a685e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Sep 28 11:52:19 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 29 11:14:00 2017 -0700"
      },
      "message": "Add startup/post-startup bits for random profiles\n\nFixes warnings that were printed for the speed-profile tests.\n\nMoved oat_writer debug check to be fatal to catch these errors in\nthe future.\n\nFixed some tests that caused the oat layout assert to fail.\n\nTest: test/testrunner/testrunner.py -j8 --speed-profile --verbose --host\nTest: test-art-host\n\nBug: 67029385\nChange-Id: Iad804b3c81908ca1407f1f6069482f2ca2df70d1\n"
    },
    {
      "commit": "7ec532fd6387a309c824f1abba466003593a685e",
      "tree": "5939cf872b038e58c41e98e31d633e51b2bbb014",
      "parents": [
        "40a21b3f2a4e48366d2d1070b092261ec269d694",
        "a78f5b6da738d38b0833b223b42d4486273f05bd"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Sep 29 14:39:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 29 14:39:25 2017 +0000"
      },
      "message": "Merge \"Refactor conditional uses of ReadBarrier::AssertToSpaceInvariant.\""
    },
    {
      "commit": "a78f5b6da738d38b0833b223b42d4486273f05bd",
      "tree": "0d43fc24fbe1e8fb10e380124e1954cd7961d0b6",
      "parents": [
        "eb5bedd1ac81597aa9448f329d0269780f329aa3"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Sep 29 13:50:44 2017 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Sep 29 13:50:44 2017 +0100"
      },
      "message": "Refactor conditional uses of ReadBarrier::AssertToSpaceInvariant.\n\nTest: m test-art-host\nBug: 12687968\nChange-Id: Idf7de149bc0d0dcfc9efe01918aa026754f9070d\n"
    },
    {
      "commit": "40a21b3f2a4e48366d2d1070b092261ec269d694",
      "tree": "6b37dbecf0d7ec5e9278a9bbf18c7b283441838e",
      "parents": [
        "eb5bedd1ac81597aa9448f329d0269780f329aa3",
        "667585a969dcfdc5f1613e81eb1fed99f92ef4b0"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 29 11:35:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 29 11:35:25 2017 +0000"
      },
      "message": "Merge \"ART: Fix loading PIC oat files without image for oatdump.\""
    },
    {
      "commit": "eb5bedd1ac81597aa9448f329d0269780f329aa3",
      "tree": "8bb5997952fd597706bb7c45cb939b59cbc0eb31",
      "parents": [
        "cdf68b16a212e71120ecccbf9f4d798b61259ed2",
        "b77b698f4550458725b72d3a451adca765f369cc"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Sep 29 10:22:45 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 29 10:22:45 2017 +0000"
      },
      "message": "Merge \"Check the to-space invariant on a delivered exception.\""
    },
    {
      "commit": "667585a969dcfdc5f1613e81eb1fed99f92ef4b0",
      "tree": "13652e1ad6ce07cb3044f3e432fe07ce83e35b7d",
      "parents": [
        "6e7e0ddf1dda35570cd9ed23751d9306f7353d7f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 29 10:42:31 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 29 10:42:31 2017 +0100"
      },
      "message": "ART: Fix loading PIC oat files without image for oatdump.\n\nTest: oatdump --oat-file\u003dservices.odex (manual)\nBug: 66984877\nChange-Id: I1dd57424745401bccf500c688ff6f4e408e89d8b\n"
    },
    {
      "commit": "05727c50c8c329d03692ffe51dce453c54379d70",
      "tree": "517cc6f62a397e65cdab97e365a965ab74599355",
      "parents": [
        "87575bdcae661421628b79f10435b47735787204",
        "d7559b7b9da5ee839b8f21fc8d6e3e9ae5c573f7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 28 21:05:22 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 28 21:05:22 2017 +0000"
      },
      "message": "Merge \"Clean up DexInstuctionIterator.\""
    },
    {
      "commit": "87575bdcae661421628b79f10435b47735787204",
      "tree": "420c2999fd457deef8d5e43c2a8b15855abdaa00",
      "parents": [
        "f94d9601091bff0b719a71da60460733bb2b3278",
        "0e503b50d5eb48b57b7ca53ee42e4eb1603a650b"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Sep 28 20:57:43 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 28 20:57:43 2017 +0000"
      },
      "message": "Merge \"Rename libz-host -\u003e libz\""
    },
    {
      "commit": "f94d9601091bff0b719a71da60460733bb2b3278",
      "tree": "dab93ea253b51658388963ef4389489e29838dc3",
      "parents": [
        "9c0a6ce0a41eaf78f3fc3224fc34195601b6e0b3",
        "2161193652e925a2b450514f4e445ccd2fb660b3"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Sep 28 20:02:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 28 20:02:29 2017 +0000"
      },
      "message": "Merge \"Ensure that OSR doesn\u0027t break local-variable get/set\""
    },
    {
      "commit": "848574ca50bb7e2d109608359d1086b3ca6bb4b3",
      "tree": "6a3d55ae8b66279c1e417c7c5116394613037ae8",
      "parents": [
        "9c0a6ce0a41eaf78f3fc3224fc34195601b6e0b3"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Sep 25 16:59:39 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Sep 28 12:56:13 2017 -0700"
      },
      "message": "Implement asynchronous exception support\n\nThis CL implements async exception support in the switch interpreter.\nIt also adds support for the MTerp to detect and switch back to the\nswitch interpreter in cases where an async exception is detected.\n\nTests follow in next CL.\n\nTest: ./test.py --host -j50\n\nBug: 62821960\nBug: 34415266\n\nChange-Id: Idb53711a40c20f962de8aa6b74662676b8bd25c6\n"
    },
    {
      "commit": "b77b698f4550458725b72d3a451adca765f369cc",
      "tree": "edfc6a5b96325a6b4cdaa1a4e4428f1b677c7745",
      "parents": [
        "e5b35ed787fbfb388d162361310bae5b0e7682a7"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jun 08 18:03:48 2017 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Sep 28 18:05:39 2017 +0100"
      },
      "message": "Check the to-space invariant on a delivered exception.\n\nTest: art/test/testrunner/testrunner.py\nBug: 62339341\nBug: 12687968\nChange-Id: Ida5e91031cd94429a72fcc9d4d1333d21dd07421\n"
    },
    {
      "commit": "d7559b7b9da5ee839b8f21fc8d6e3e9ae5c573f7",
      "tree": "f8cabe1440bd9910932ea73a1df7a35be343f909",
      "parents": [
        "6e7e0ddf1dda35570cd9ed23751d9306f7353d7f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Sep 28 13:50:37 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Sep 28 14:06:53 2017 +0100"
      },
      "message": "Clean up DexInstuctionIterator.\n\nFollow-up to\n    https://android-review.googlesource.com/493297 .\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nBug: 63756964\nChange-Id: I454a748858e54f7ddfc54f631d7cd97d63557aff\n"
    }
  ],
  "next": "0e503b50d5eb48b57b7ca53ee42e4eb1603a650b"
}
