)]}'
{
  "log": [
    {
      "commit": "4e92c3ce7ef354620a785553bbada554fca83a67",
      "tree": "42029deff4d3ba7f89b5fdbf79ff410da575f431",
      "parents": [
        "549844e9ccf432d1396b19af890eedb602b8ba04"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 08 09:34:26 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 10 09:27:33 2017 +0100"
      },
      "message": "Add runtime reasons for deopt.\n\nCurrently to help investigate. Also:\n1) Log when deoptimization happens (which method and what reason)\n2) Trace when deoptimization happens (to make it visible in systrace)\n\nbug:37655083\nTest: test-art-host test-art-target\nChange-Id: I0c2d87b40db09e8e475cf97a7c784a034c585e97\n"
    },
    {
      "commit": "549844e9ccf432d1396b19af890eedb602b8ba04",
      "tree": "8e3ec70af724008ba8699a4c5d7132454e45c45d",
      "parents": [
        "1a8864ec75a3a09e2e4a9eae63010f9ab6be0049",
        "741d426f2eda2ea1f1a8d7dfce1cd741a6737cc6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 05 08:37:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 05 08:37:18 2017 +0000"
      },
      "message": "Merge \"Handle safe mode in PackageManager.\""
    },
    {
      "commit": "d73aba4f0c95914cc51144b0b609d9293e5341cf",
      "tree": "7f2903217c0773f8cc0c3580fe5aa1d90998d1c5",
      "parents": [
        "9e8797d1c96dd4744b667ef6bbd10812e2087f79"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 03 21:40:26 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 04 15:33:40 2017 -0700"
      },
      "message": "ART: Add Heap JVMTI extension API\n\nAdd extension API for Android heaps. Add a function that returns\nthe heap id for a tag (implying an object). Add a function that\nreturns the heap name for a given heap id.\n\nAdd tests.\n\nBug: 37283268\nTest: m test-art-host\nTest: art/test/testrunner/testrunner.py -b --host -t 913\nTest: cts-tradefed run cts-dev --module CtsJvmtiRunTest913HostTestCases\nChange-Id: I3a140ce00a33507c9ac3263d0badd10f3daf558c\n"
    },
    {
      "commit": "9e8797d1c96dd4744b667ef6bbd10812e2087f79",
      "tree": "81401e59053e103227fc1e5d923ee88c4bdadc46",
      "parents": [
        "8a18ce7c32d0e31812ff68b1d238f36d3f2b801d",
        "14fc9db5ca2428015eba189c865277655c168a33"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 04 21:01:57 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 04 21:02:00 2017 +0000"
      },
      "message": "Merge \"Update smali/baksmali command syntax for v2.2.0\""
    },
    {
      "commit": "8a18ce7c32d0e31812ff68b1d238f36d3f2b801d",
      "tree": "4cd9d1631b4ea728fd8e15e0a096e8af14a0a7a8",
      "parents": [
        "05a252b52b4f94f78759e6099dd420ca5a4e1b2f",
        "e8857fe3349af3900ef5b6ba65627c82cb13a2c2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 04 20:59:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 04 20:59:15 2017 +0000"
      },
      "message": "Merge \"ART: Change alloc-space begin for x86 ASAN\""
    },
    {
      "commit": "f3fb1fc453c253a075050910a558c89c1330b5af",
      "tree": "ca758f050dc3a892e360af094f36fde056e40fef",
      "parents": [
        "9459127abb57b0892d3ddeb1e30ac0bf28c93761",
        "c61c0761150340263160b568d8a952e9a3d80d56"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 04 14:46:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 04 14:46:33 2017 +0000"
      },
      "message": "Merge \"MIPS: Change remaining entrypoints to save everything.\""
    },
    {
      "commit": "9459127abb57b0892d3ddeb1e30ac0bf28c93761",
      "tree": "0858d1ce964a5000630ed42e369ee7c8717a3fab",
      "parents": [
        "286fb4487c73d5ef1a9ff7ad69929d37d9dcdbee",
        "7acddd83065bc8b12ade9528a84e6fcadda21250"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 04 13:31:46 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 04 13:31:47 2017 +0000"
      },
      "message": "Merge \"Don\u0027t use free list LOS for --force-determinism.\""
    },
    {
      "commit": "c7cee403ad9a3f7097f5157a621a6a8cb991222e",
      "tree": "ea04f2568703b635b954c9fc7a5afc6e1a3b18b1",
      "parents": [
        "568655e4e611455cbb68dfd8e11644d550acda10",
        "a3cb132792e998d64b917d36052b715f0076820b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 04 11:18:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 04 11:18:07 2017 +0000"
      },
      "message": "Merge \"MIPS: Check for forwarding address in READ_BARRIER_MARK_REG.\""
    },
    {
      "commit": "741d426f2eda2ea1f1a8d7dfce1cd741a6737cc6",
      "tree": "015f47ef7e78939ee6c0b8fcd9f10732de82efd9",
      "parents": [
        "15cb9753075bcaa5b91a6497a2d35e8bd98af1f0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 03 13:08:36 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 04 10:52:55 2017 +0100"
      },
      "message": "Handle safe mode in PackageManager.\n\nART side of the change.\n\nbug:37929796\nTest: manual OTA with a safemode app.\nChange-Id: I28f11e852be4c9c9009f5335eb8dbdf0f26f89b4\n"
    },
    {
      "commit": "a3cb132792e998d64b917d36052b715f0076820b",
      "tree": "c96e6e79c0d8a4fc7f8fc1a4f38ba08c22ed62dc",
      "parents": [
        "a57c334075b193de9690fff97acf6c1b1d1283fc"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Mon May 01 18:49:46 2017 -0700"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Thu May 04 09:29:15 2017 +0000"
      },
      "message": "MIPS: Check for forwarding address in READ_BARRIER_MARK_REG.\n\nAlso check for null and marked bit.\n\nBug: 30162165\n\nTest: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU\nTest: test-art-target-gtest\nTest: testrunner.py --target --optimizing -j1\nTest: same tests as above on CI20\nTest: booted MIPS32R2 in QEMU\n\nChange-Id: I9c2987d0bce757b0e7e379a017b57a9107dd7c08\n"
    },
    {
      "commit": "e8857fe3349af3900ef5b6ba65627c82cb13a2c2",
      "tree": "e562ec28d4ef492f666ada28d3b007e14a2ee3c6",
      "parents": [
        "90c5ccbc1d2988f6274877547ff095c0f29ff77a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 03 08:28:13 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 03 21:45:07 2017 -0700"
      },
      "message": "ART: Change alloc-space begin for x86 ASAN\n\nMove the preferred AllocSpace begin to 0x40000000, as lower memory\nis mostly reserved by ASAN. This does not seem to apply to arm32.\n\nBug: 31098551\nBug: 37728308\nTest: m SANITIZE_HOST\u003daddress test-art-host-gtest32\nTest: lunch aosp_bullhead \u0026\u0026 m \u0026\u0026 m SANITIZE_TARGET\u003daddress # device boots\nChange-Id: I2c6508305e62040b0679dfe483c76fd283dba9de\n"
    },
    {
      "commit": "a9a4f5f30bead6e91fb85f0548f844b7258d8d80",
      "tree": "c7564c2be6d71e062ce5226502433bf5af205b54",
      "parents": [
        "cbd06cf021d08853a9b1e57e0b1e19ec301ce05f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 03 18:19:13 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 04 02:35:10 2017 +0000"
      },
      "message": "Fix CHECK for is_using_read_barrier_entrypoints\n\nOnly check for kGrayDirtyImmuneObjects case.\n\nTest: test/testrunner/run_build_test_target.py -j40 art-read-barrier-table-lookup\nChange-Id: Id7414cf33c1a79fb3042ac6347fad1420e8c43bf\n"
    },
    {
      "commit": "cbd06cf021d08853a9b1e57e0b1e19ec301ce05f",
      "tree": "fca26f880bd06fe69d0ae08fbb63654d221a8f71",
      "parents": [
        "3d0731a2a3bde17999e3566b773ab611363352e5",
        "9bfc6bb1f44797aec19a151e47c0902ef2516095"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu May 04 00:14:57 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 04 00:14:59 2017 +0000"
      },
      "message": "Merge \"Revert \"Ensure dex file are extracted and verified at load time\"\""
    },
    {
      "commit": "9bfc6bb1f44797aec19a151e47c0902ef2516095",
      "tree": "af9fe3020cd389105a8bb03c8680289f4287953e",
      "parents": [
        "d2510c92e7c1f571ab012fcb82e77d7e1806ae3b"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu May 04 00:13:50 2017 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu May 04 00:13:50 2017 +0000"
      },
      "message": "Revert \"Ensure dex file are extracted and verified at load time\"\n\nThe art build bot fails for the oat location tests. I suspect that ScopedNonWritable is not working properly on the bot.\n\nThis reverts commit d2510c92e7c1f571ab012fcb82e77d7e1806ae3b.\n\nChange-Id: Ica70862fd608ebdeb3c710f786ae21b99b69bc20\n"
    },
    {
      "commit": "824fd239f7260d9cc0e9ce95e512bacfb156a81b",
      "tree": "0a713814863c6fbcb4fb4a5f3fd124b5822f8770",
      "parents": [
        "d4a68c85f6e6395d18d4ced9b99099490e407c59",
        "3768adec2f819cb506577618fdde158ba659ddd4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 03 23:18:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 03 23:18:33 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Add concurrent card graying for immune spaces\"\"\""
    },
    {
      "commit": "d2510c92e7c1f571ab012fcb82e77d7e1806ae3b",
      "tree": "b175bb55137627b7beb879592be001bbc85851aa",
      "parents": [
        "3650acb134b4e68ba3f190772b02105f74081bf2"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Apr 20 19:28:25 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed May 03 11:56:32 2017 -0700"
      },
      "message": "Ensure dex file are extracted and verified at load time\n\nThis change removes the ability to specify an explicit OAT location and\nensures that the best oat file (either the oat or the odex) is compiled\naccording to its special filter (kDefaultCompilerFilterForDexLoading).\n\nThe oat files location can therefore be:\n- in dalvik-cache: referred as the OAT location.\n- in dex_parent_dir/oat/ISA/: referred as the ODEX location.\n\nThe \"best oat file\" for a dex location is changed to prefer the ODEX\nlocation whenever the location is writable (see\nOatFileAssistant::GetBestInfo()).\n\nMakeUpTodate will now attempt to generate the \"best oat file\" instead of\nalways defaulting to the oat location.\n\nTest: m test-art-host-getest-oat_file_assistant_test\nBug: 36605597\nBug: 36824842\nChange-Id: Ic54b3b94be06c8c47f211ce3d738b0db0a9c7bb3\n"
    },
    {
      "commit": "19052df43919bac16ce7df488f377f06a434ce4a",
      "tree": "5fb2c8b8acedcec8269e8d1dd1f286e46b979315",
      "parents": [
        "90c5ccbc1d2988f6274877547ff095c0f29ff77a",
        "c4bed16daa6689eaa2148261b19662291417ced6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 03 16:49:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 03 16:49:08 2017 +0000"
      },
      "message": "Merge \"ART: Change shutdown order\""
    },
    {
      "commit": "90c5ccbc1d2988f6274877547ff095c0f29ff77a",
      "tree": "ce831efa659e12dcf39333dca75208d30877b8a6",
      "parents": [
        "29825550d6bd7f1185e16b3925c7f084078e688e",
        "806843aa293d45d88edeccd49eb5d281ff7d844f"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed May 03 16:00:50 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 03 16:00:52 2017 +0000"
      },
      "message": "Merge \"Increase profile saver minimum save period to 40 seconds\""
    },
    {
      "commit": "806843aa293d45d88edeccd49eb5d281ff7d844f",
      "tree": "9d308b5791044cd88f73e50cd5d6fdfff9a477ee",
      "parents": [
        "70940dfe99df0084a3f3fed1a88255ec976a60e3"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon May 01 15:14:44 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed May 03 16:00:22 2017 +0000"
      },
      "message": "Increase profile saver minimum save period to 40 seconds\n\nWe save much more data with the addition of inline caches. Balance\namount of data with save period: save more but less often.\nThis relies on the assumptions that the number of apps being killed\nin less than 40 seconds is actually small.\n\nThe 40 seconds number is pulled mostly out of thin air. Some\nexperiments show that we don\u0027t necessarily lose data when increasing\nthe period. I only looked at file sizes and the number of profile writes\nto verify that we get a comparable amount of information between 20 and\n40 seconds. (I did not do a delta on the profile content).\n\nThe test scenario was:\n- clear all profiles\n- boot the device and let it settle for 2 minutes\n- open maps and navigate to a destination, search for restaurants\n- open gmail and send an email\n- open playstore and inspect the top charts\n- open youtube and play a video\n- open docs and write in a document\n- all app interaction are kept below 40 seconds\n- wait 1 minute to settle any pending saves\n- take a bug report and look at profile stats\n\nWith 20 seconds: 43 profile writes, summing 1605610 bytes.\nWith 40 seconds: 35 profile writes, summing 1243217 bytes.\n\nThere is the obvious trade-off that apps being killed in less than\n40 seconds will not get profiles.\n\nBug: 36281963\nTest: m test-art-host\n      manual device tests to verify the profile gets saved\n\nChange-Id: Iea2e6519c3d23b3d30bdddbbabe7e5cfd1f535ce\n"
    },
    {
      "commit": "29825550d6bd7f1185e16b3925c7f084078e688e",
      "tree": "ce96bd0b74266b14d47419cd1d4dd969801198eb",
      "parents": [
        "15cb9753075bcaa5b91a6497a2d35e8bd98af1f0",
        "d01745ef88bfd25df574a885d90a1a7785db5f5b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 03 14:13:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 03 14:13:59 2017 +0000"
      },
      "message": "Merge \"optimizing: constructor fence redundancy elimination - remove dmb after LSE\""
    },
    {
      "commit": "7acddd83065bc8b12ade9528a84e6fcadda21250",
      "tree": "f9ccfa1e5fd0c7e016711ae38195aff1a39bd1cf",
      "parents": [
        "15cb9753075bcaa5b91a6497a2d35e8bd98af1f0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 03 15:04:55 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 03 15:08:20 2017 +0100"
      },
      "message": "Don\u0027t use free list LOS for --force-determinism.\n\nIf the maximum capacity is too large, we can fail mapping the memory\nrequired for it. See:\nhttps://android-build.googleplex.com/builds/pending/P4254206/aosp_arm64-eng/latest)\n\nSo instead just disable the LOS.\n\nAlso fix concurrent collector assuming there is always a LOS.\n\nTest: build\nbug: 37442966\nChange-Id: I9d23e02fbfbce014f1da79bddaea8161e735b867\n"
    },
    {
      "commit": "1d41d643ed59e663e318c05881968be5fc8adf92",
      "tree": "da5dcf9630b867f6f906a0b4720b86dda7f88853",
      "parents": [
        "3c7b02c5e803daf1640f74ae628491efbf699822",
        "d81047086eb3ac5f34314c0c56b4bd602b9e853d"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed May 03 07:34:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 03 07:34:59 2017 +0000"
      },
      "message": "Merge \"ART: Additional verifier flags for invoke-custom\""
    },
    {
      "commit": "3768adec2f819cb506577618fdde158ba659ddd4",
      "tree": "38f929a1ec79088f1f4d3a205672acfb261af94b",
      "parents": [
        "55e8cd14fdbe257f4ecdd5d629eef6b8c93567c9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 02 14:04:39 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 02 19:42:39 2017 -0700"
      },
      "message": "Revert \"Revert \"Add concurrent card graying for immune spaces\"\"\n\nAdded an additional checkpoint before the concurrent graying to set\nthe mark entrypoints to non-null.\n\nBug: 37876887\n\nTest: test-art-host\n\nThis reverts commit c83dd7bfde2171c879efb92a31a363505385ffb9.\n\nChange-Id: I961c4631c9595c52cd7765f61b22b8291fef2088\n"
    },
    {
      "commit": "3c7b02c5e803daf1640f74ae628491efbf699822",
      "tree": "c356deb0eac9c3ec13f5c4361ac561b459fb768f",
      "parents": [
        "55e8cd14fdbe257f4ecdd5d629eef6b8c93567c9",
        "8275fbaccc012072948a16f537844a552db9be84"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 03 00:56:48 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 03 00:56:50 2017 +0000"
      },
      "message": "Merge \"runtime: Properly unload partially loaded image spaces\""
    },
    {
      "commit": "8275fbaccc012072948a16f537844a552db9be84",
      "tree": "7c46c5736547bc514fa8d0a0304cbe2e2697703f",
      "parents": [
        "a57c334075b193de9690fff97acf6c1b1d1283fc"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue May 02 15:58:02 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue May 02 15:58:02 2017 -0700"
      },
      "message": "runtime: Properly unload partially loaded image spaces\n\nWhen one of the (non-app) image space successfully loads,\nit sets up runtime callee-save methods.\n\nIf it is later unloaded, callee-save methods are now pointing to memory\nthat is no longer valid (viewed as all 0s in the debugger).\n\nRuntime::Init skips creating its own runtime methods if it already sees\nthat the runtime methods were set to non-null, thus dangling runtime\nmethods.\n\nThis crash would nominally manifest itself in unwinding the first time, or as a DCHECK\nfailure in the interpreter bridge invocation during aborting if debugging was enabled.\n\nTo get into this state:\n* Fill up the /data partition (but perhaps leave a little bit of room\nfor one image, but not all images)\n* Reboot the device or run zygote manually.\n\nTest: adb shell dd if\u003d/dev/zero of\u003d/data/local/tmp/tempFiller.deleteMe bs\u003d1024 count\u003d50g ; adb reboot\nBug: 36033084\nChange-Id: I728c1058b003fcf5e98dc2746d53e44b688c4605\n"
    },
    {
      "commit": "c4bed16daa6689eaa2148261b19662291417ced6",
      "tree": "56d03d48010091acb6f2551e1381097b6148d106",
      "parents": [
        "7113885fcd983b33ee1e350865d21517d6297843"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon May 01 13:46:24 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 02 14:01:41 2017 -0700"
      },
      "message": "ART: Change shutdown order\n\nAdd explicit Shutdown method to ThreadList, doing the work that\nwas previously in the destructor. Call sid method before unloading\nplugins and stopping the debugger.\n\nModulo daemon threads, this ensures that thread events will have\nquiesced when plugins stop.\n\nBug: 37763974\nTest: m test-art-host\nChange-Id: I11d22f2c89a68e9f6720d61967b8e5aea41188dc\n"
    },
    {
      "commit": "14fc9db5ca2428015eba189c865277655c168a33",
      "tree": "34b7a652fae9a932cb3ef7d87717274a003d3448",
      "parents": [
        "f99f62f8e04aecbbe1615e242a19ac475f66e565"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Fri Apr 28 15:30:49 2017 -0700"
      },
      "committer": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Tue May 02 13:48:12 2017 -0700"
      },
      "message": "Update smali/baksmali command syntax for v2.2.0\n\nTest: make test-art-host\nChange-Id: Iac534f39aee78bbcbf1fe382b9af8334f0634238\n"
    },
    {
      "commit": "c12253611eea875d9e3299bac596be4224f7db00",
      "tree": "f63ce2744d83c8ed132cc33dc6f5e25033c2fb48",
      "parents": [
        "7113885fcd983b33ee1e350865d21517d6297843"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon May 01 17:29:35 2017 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue May 02 11:27:26 2017 -0700"
      },
      "message": "Fix length of descriptor field when reading debug info.\n\nTypeIndex is a 16-bit value, and storing kDexNoIndex (0xFFFFFFFF) caused\na failure in a dcheck on the bounds of the value.\n\nBug: 37287051\nTest: mm -j31 test-art-host-gtest-dex_file_test\nChange-Id: I8344ea126b044563b9a25e1303b7e3e7124ef86f\n"
    },
    {
      "commit": "d01745ef88bfd25df574a885d90a1a7785db5f5b",
      "tree": "058eb1593dbb0fe8a8e26b901909bec8aa01d474",
      "parents": [
        "a57c334075b193de9690fff97acf6c1b1d1283fc"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Apr 05 16:40:31 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue May 02 09:45:45 2017 -0700"
      },
      "message": "optimizing: constructor fence redundancy elimination - remove dmb after LSE\n\nPart one of a few upcoming CLs to optimize constructor fences.\n\nThis improves load-store-elimination; all singleton objects that are not\nreturned will have their associated constructor fence removed.\n\nIf the allocation is removed, so is the fence. Even if allocation is not\nremoved, fences can sometimes be removed.\n\nThis change is enabled by tracking the \"this\" object associated with the\nconstructor fence as an input. Fence inputs are considered weak; they do not keep\nthe \"this\" object alive; if the instructions for \"this\" are all deleted,\nthe fence can also be deleted.\n\nBug: 36656456\nTest: art/test.py --host \u0026\u0026 art/test.py --target\nChange-Id: I05659ab07e20d6e2ecd4be051b722726776f4ab1\n"
    },
    {
      "commit": "d81047086eb3ac5f34314c0c56b4bd602b9e853d",
      "tree": "876109a13ad46db62d38cddac0dbb59b11cee072",
      "parents": [
        "df48db90d5709542f2531fd1df310e81814ab788"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue May 02 12:25:45 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue May 02 16:20:23 2017 +0100"
      },
      "message": "ART: Additional verifier flags for invoke-custom\n\nUpdates verifier flags for invoke-custom instructions and adds\nstatic_asserts to enforce at build time.\n\nBug: 37766116\nTest: m\nChange-Id: I16f1411aabaa4baa7fdeb00411912487aa2f07af\n"
    },
    {
      "commit": "3c30abd983dfc015032de185f76471d31a6cc412",
      "tree": "4174075cca3e5f60eb007da5e3ca0a8c23ef8e1f",
      "parents": [
        "920f9b19e66c1ece38a28ddf45bd371ee83701ab",
        "08e9eed8f609c0917b27e15a6bfb5a05d8cb3e2b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 02 14:49:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 02 14:49:11 2017 +0000"
      },
      "message": "Merge \"Allow stripped APK to be compiled with a vdex.\""
    },
    {
      "commit": "df48db90d5709542f2531fd1df310e81814ab788",
      "tree": "431ed5cfdd2b203fb4ebd3a42d2896d1db2fe76e",
      "parents": [
        "0d12a2aa35b3b93d81645e93d2fcf915864934a6",
        "c83dd7bfde2171c879efb92a31a363505385ffb9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 02 06:10:02 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 02 06:10:04 2017 +0000"
      },
      "message": "Merge \"Revert \"Add concurrent card graying for immune spaces\"\""
    },
    {
      "commit": "0d12a2aa35b3b93d81645e93d2fcf915864934a6",
      "tree": "e388d6e6873158fed4bd365fe25b04c18f1fa0fa",
      "parents": [
        "b4d4dbc5c3ac7d097a596b133eabd703f00549b4",
        "b4be87198a4a674036aebaeed84b61c6e6b4e7b5"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue May 02 05:44:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 02 05:44:58 2017 +0000"
      },
      "message": "Merge \"StringReference comparator operator is missing const\""
    },
    {
      "commit": "c83dd7bfde2171c879efb92a31a363505385ffb9",
      "tree": "3539033c43497e7d8bfd01cc4c4983a02957016a",
      "parents": [
        "a7c6a23cc96a24ccb1b32bd4397e4a8bdde58e16"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 02 04:14:17 2017 +0000"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 01 21:26:23 2017 -0700"
      },
      "message": "Revert \"Add concurrent card graying for immune spaces\"\n\nBug: 37876887\n\nThis reverts commit 88d329a698ba186aeb1f1ef8794355512ada84a9.\n\nTest: mm\n\nChange-Id: I93880fb7cd8c4c27c65777079d48947075f8cb64\n"
    },
    {
      "commit": "a7c6a23cc96a24ccb1b32bd4397e4a8bdde58e16",
      "tree": "e04db13c7059cbb8cb89f911c788a0e94fe77978",
      "parents": [
        "c009d14ce52bca0de34b441f8a575b0d36c1d69e",
        "ef496d9a08bdc9cd86a2ada2196d88ebdcab01bd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 02 00:10:33 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 02 00:10:35 2017 +0000"
      },
      "message": "Merge \"Add basic heap corruption detection ConcurrentCopying::Copy\""
    },
    {
      "commit": "c009d14ce52bca0de34b441f8a575b0d36c1d69e",
      "tree": "ece410bd91afe4c498e0d5ce80464d77265f191d",
      "parents": [
        "18df7714111bdd3c5737f1ef2fa587d9957f8a2f",
        "612ff540cd3329935351f05923358cf29b9c9b44"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 01 23:42:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 01 23:42:11 2017 +0000"
      },
      "message": "Merge \"Increase GC card size to 1024\""
    },
    {
      "commit": "ef496d9a08bdc9cd86a2ada2196d88ebdcab01bd",
      "tree": "7bcfa18999a6edf72656210bf7a8b9370b7d996a",
      "parents": [
        "18df7714111bdd3c5737f1ef2fa587d9957f8a2f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 28 18:58:59 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 01 15:22:32 2017 -0700"
      },
      "message": "Add basic heap corruption detection ConcurrentCopying::Copy\n\nDetect objects that have a null class. This also detects objects that\nare not in the from-space allocated area since this area is zero\ninitialized.\n\nTest: test-art-host\n\nBug: 37683299\nBug: 12687968\nBug: 37187694\n\n(cherry picked from commit 350cf8a406486a4fa96549114b3b21b975a5c8f8)\n\nChange-Id: I3ce282d3d3e523ca3952f85573fb03c1597b6bfc\n"
    },
    {
      "commit": "612ff540cd3329935351f05923358cf29b9c9b44",
      "tree": "dbe861f133a037ee487aaee27fa727d58c3aa73f",
      "parents": [
        "a44d67e7ff3c0d3967f4e9a2d9d1d18c5701c7e7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 01 09:59:24 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 01 14:45:24 2017 -0700"
      },
      "message": "Increase GC card size to 1024\n\nWith CC, having a larger GC card size does not commonly affect\npauses.\n\nResults:\nBefore (128):\nSystem wide card table PSS: 3642.4K\nGrayAllNewlyDirtyImmuneObjects avg: 145us\n\nAfter (1024):\nSystem wide card table PSS: 1477.8K\nGrayAllNewlyDirtyImmuneObjects avg: 75us\n\nTest: test-art-host\n\nBug: 36457259\nChange-Id: Icec03664985ef75859f4e99d9f76c3b9988193e6\n"
    },
    {
      "commit": "73ff983db34faadda86bfe0bbdd5d4d5f916e0b9",
      "tree": "c43dfd58f5df8af8bc217576b92fde44af6959f5",
      "parents": [
        "1f44d63d069b7690b3b082d35324c820d46c6b12",
        "8cf00fab15d134e3820bef603a18d6e54aabd1e3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 01 17:10:15 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 01 17:10:16 2017 +0000"
      },
      "message": "Merge \"ART: Change dchecked_integral_cast logging\""
    },
    {
      "commit": "a44d67e7ff3c0d3967f4e9a2d9d1d18c5701c7e7",
      "tree": "ebddf325e3bdc4a78c929ff6d317ace77186c7aa",
      "parents": [
        "a57c334075b193de9690fff97acf6c1b1d1283fc",
        "88d329a698ba186aeb1f1ef8794355512ada84a9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 01 17:04:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 01 17:04:11 2017 +0000"
      },
      "message": "Merge \"Add concurrent card graying for immune spaces\""
    },
    {
      "commit": "88d329a698ba186aeb1f1ef8794355512ada84a9",
      "tree": "bb34e52fde853941b0e17f08cbcdc07b9b7e527d",
      "parents": [
        "3f5f85d9382416b053359c3c1f11ab824843f3b4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 27 11:32:14 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 01 09:37:01 2017 -0700"
      },
      "message": "Add concurrent card graying for immune spaces\n\nWe now age the cards and gray the objects before the GC pause. This\nis done to reduce how much work is required during the pause and\nallows increasing the card size without regressing the GC pause\ntime.\n\nWe rescan the cards in the pause and only process the cards that were\ndirtied since the concurrent graying.\n\nPause time spent graying objects on maps (Pixel). The average is the\nper GC metric.\n\nDisabled entrypoint switching for x86 and x86_64. This is to fix a\ncase where the gray bit is set but the entrypoint is null, resulting\nin crashes.\n\nAlso reverted to checking \"is gc marking\" for x86 and x86_64 codegen\nto prevent performance regressions.\n\n128 byte cards without the change:\nSum: 1.912ms 99% C.I. 125us-244us Avg: 159.333us Max: 244us\n\n512 byte cards without the change:\nSum: 12.027ms 99% C.I. 0.940ms-1.495ms Avg: 1.202ms Max: 1.495ms\n\n512 byte cards with concurrent graying:\nSum: 1.385ms 99% C.I. 51us-239us Avg: 86.562us Max: 239us\n\nBug: 36457259\nBug: 12687968\nBug: 31022084\n\nTest: test-art-host\n\n(cherry picked from commit a3856d0d801f066b9b09649b3a17bdbb747f012d)\n\nChange-Id: I7e8f8a5716f96dde827377234f854482452bc9cd\n"
    },
    {
      "commit": "c61c0761150340263160b568d8a952e9a3d80d56",
      "tree": "105418862af2193d590fc5da868e4c72da7d6e6a",
      "parents": [
        "a57c334075b193de9690fff97acf6c1b1d1283fc"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Mon Apr 10 13:54:23 2017 -0700"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Sun Apr 30 15:30:58 2017 -0700"
      },
      "message": "MIPS: Change remaining entrypoints to save everything.\n\nThis also fixes two issues:\n1. Missing restore of the callee-clobbered gp register on\n   MIPS32\n2. Incorrect DCHECK causing test 916-obsolete-jit to fail\n   on MIPS32 in the ART_READ_BARRIER_TYPE\u003dTABLELOOKUP\n   configuration\n\nTest: booted MIPS32R2 in QEMU\nTest: test-art-target-gtest\nTest: testrunner.py --target --optimizing\nTest: booted MIPS64 (with 2nd arch MIPS32R2) in QEMU\nTest: same tests as above for both MIPS32R6 and MIPS64R6\nTest: repeat all of the above in two configurations:\n      ART_READ_BARRIER_TYPE\u003dTABLELOOKUP,\n      ART_USE_READ_BARRIER\u003dfalse.\n\nChange-Id: I06a3c24579242a632ec8c373c233217d558a8401\n"
    },
    {
      "commit": "b4be87198a4a674036aebaeed84b61c6e6b4e7b5",
      "tree": "fad0daed3c31083a7865f721f12d67c492f73de6",
      "parents": [
        "a57c334075b193de9690fff97acf6c1b1d1283fc"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Sun Apr 30 14:49:40 2017 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Sun Apr 30 14:54:06 2017 -0700"
      },
      "message": "StringReference comparator operator is missing const\n\nTest: build\nBug: 37752547\nChange-Id: I0557595f92573c782ee7f6420931f792d2df63d9\n"
    },
    {
      "commit": "a57c334075b193de9690fff97acf6c1b1d1283fc",
      "tree": "3e1ddee842f9c4e78e957f9f6e655ff88ed9ff58",
      "parents": [
        "5887c37b729e16bdef149d900ebc7c9a77a75cb3",
        "88307edcd5c35bd5f602b4c6b2464c2d4332753e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 29 06:53:52 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 29 06:53:54 2017 +0000"
      },
      "message": "Merge \"Fix up code warning and errors\""
    },
    {
      "commit": "8cf00fab15d134e3820bef603a18d6e54aabd1e3",
      "tree": "0f9014ab61c3045d74d6e6121af4e7370d847e89",
      "parents": [
        "5887c37b729e16bdef149d900ebc7c9a77a75cb3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 28 20:50:19 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 28 21:10:48 2017 -0700"
      },
      "message": "ART: Change dchecked_integral_cast logging\n\nAdd error message that prints the actual value.\n\nBug: 37287051\nTest: m test-art-host\nChange-Id: If6bfbe95d65edab0bcd96cf573d11516287ce318\n"
    },
    {
      "commit": "5887c37b729e16bdef149d900ebc7c9a77a75cb3",
      "tree": "c72bbcecb052fe01b1e0d236ef7813f99977b7be",
      "parents": [
        "b718d01d94f06ae6bdf52aa61be5eb37aef09c88",
        "5c525746c63f48f11aee787103d023511c54e4e3"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Apr 28 21:24:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 28 21:24:11 2017 +0000"
      },
      "message": "Merge \"oat_file_manager: Avoid global collision check.\""
    },
    {
      "commit": "88307edcd5c35bd5f602b4c6b2464c2d4332753e",
      "tree": "cb41c36536ae87483daa24b6fcf4381b9a5df15d",
      "parents": [
        "18457f487316b2ed2dd584f3e1f07e939e18aef5"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Apr 25 22:33:06 2017 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Fri Apr 28 11:04:12 2017 -0700"
      },
      "message": "Fix up code warning and errors\n\nDiscovered by new LLVM rebase.\n\nClean up, no functionality change.\n\nTest: build\nBug: 37752547\nChange-Id: I7df6097706e0772226dcb07611e7d044a6085421\n"
    },
    {
      "commit": "5c525746c63f48f11aee787103d023511c54e4e3",
      "tree": "975d1bbbff92c77aa7712a765ebd8ff5b654d1ea",
      "parents": [
        "70940dfe99df0084a3f3fed1a88255ec976a60e3"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Apr 28 10:19:29 2017 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Apr 28 10:47:50 2017 -0700"
      },
      "message": "oat_file_manager: Avoid global collision check.\n\nAvoid the global collision check in case we encounter a classloader\nthat we don\u0027t recognize. This seems overly conservative. Instead, trust\nthat the classloader does the right thing.\n\nBug: 36480683\nBug: 37777332\n\nTest: make test-art-host\nTest: manual testing\nChange-Id: I9cf026baab4264a0e4eab3710ab3c15df7c01edf\n"
    },
    {
      "commit": "b718d01d94f06ae6bdf52aa61be5eb37aef09c88",
      "tree": "260e07b5219ceb137f390f4986231473625a0179",
      "parents": [
        "3f5f85d9382416b053359c3c1f11ab824843f3b4",
        "095d6a6be5228ad734568892b820eaf18e549365"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 28 13:50:45 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 28 13:50:47 2017 +0000"
      },
      "message": "Merge \"Fix unquickening in the presence of duplicate methods.\""
    },
    {
      "commit": "095d6a6be5228ad734568892b820eaf18e549365",
      "tree": "c690137045ac831c6b889082a0997a5064969bac",
      "parents": [
        "c502d726440e210e38e76d03752f38461c9fcbdc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 27 16:08:50 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 28 13:21:40 2017 +0100"
      },
      "message": "Fix unquickening in the presence of duplicate methods.\n\nThe code item may have already been unquicken.\n\nbug: 36059948\nTest: 649-vdex-duplicate-method\nChange-Id: Icd4d9397ca11cb99cfbeffca658115f51db4a1b3\n"
    },
    {
      "commit": "b166f413411b380d32c75cb842fc2ab8be96a963",
      "tree": "54f802dbd78cdfaa7cec3c93a772494d4c4af84f",
      "parents": [
        "70940dfe99df0084a3f3fed1a88255ec976a60e3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 25 16:31:20 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 27 17:11:27 2017 -0700"
      },
      "message": "Only log a few types of GC causes for the blocking cases\n\nThere are various types like debugger and GetObjectsAllocated that\ncan cause spam if we log all the blocking calls. In practice, these\nare only used from tools and should not cause jank.\n\nBug: 37275712\nTest: test-art-host\n\n(cherry picked from commit 3b91fccc0a83c6c9ce7fef484495f863d739baff)\n\nChange-Id: I457fa94985fda88b1cf208c935e1369493e036cb\n"
    },
    {
      "commit": "34ed966ae7e232817dd70afb924518b7cb8fb6a9",
      "tree": "5f49eeac52491dc7325105d669aa456fad61dd4c",
      "parents": [
        "2ad1894b9d85fb8d5f431762515b2ffdb1e16ab5",
        "afdcbcb56d0c2f985d0291c369bbc493eedb05b0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 27 17:30:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 27 17:30:41 2017 +0000"
      },
      "message": "Merge \"Remove some hardcoded cases of kCardShift\""
    },
    {
      "commit": "9975c7126de5414263d52597a91a431c2dcb379f",
      "tree": "744820bace865f007d43c73587dcc8d3376bda82",
      "parents": [
        "03fe275b29839dccf2ea79ddc8d065d0764b32c7",
        "eac4f281302c8e28622fc86354ce88ec02cf5a12"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 27 15:49:08 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 27 15:49:09 2017 +0000"
      },
      "message": "Merge \"ART: Fix UnstartedRuntime unique_ptr braino\""
    },
    {
      "commit": "4e868fa7b8c47600695ff92deeb373674956a67d",
      "tree": "acdb92a2b765cc87a08459267e430a8866e608cf",
      "parents": [
        "4dc06e2ef900132d8395539842c35533da8b912a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 21 17:16:44 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 27 16:04:13 2017 +0100"
      },
      "message": "Make vdex and dexlayout compatible.\n\nUnquicken the vdex before dexlayout, to keep the dex integrity.\n\nbug: 37558732\nTest: run-test with speed-profile\n\nChange-Id: Ifcd5c2e4378ccb0df0a66d07f68df31d94b83220\n"
    },
    {
      "commit": "4dc06e2ef900132d8395539842c35533da8b912a",
      "tree": "2114165e7cb3fe775537d2ebc728bbd5ed696479",
      "parents": [
        "8e2252df6fbd1313ca17724be36199d32e8e44cc",
        "49cda06d5bf003f588ba7839bbf89d606237dfa7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 27 11:40:05 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 27 11:40:07 2017 +0000"
      },
      "message": "Merge \"Rename and obsolete compiler filter names.\""
    },
    {
      "commit": "204db008e0d6d21463038acb9b9aeff407a285a9",
      "tree": "b5a7e953f70b33cd2312d56c396af583216015ac",
      "parents": [
        "ddbe114e0fa70fb74050219c505e8887df0c2aa9",
        "77d8a1c3572afb38542cb5a2b3516674a182ce48"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Apr 27 07:27:03 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 27 07:27:05 2017 +0000"
      },
      "message": "Merge \"Revert^2 \"ART: Support for SourceDebugExtension\"\""
    },
    {
      "commit": "eac4f281302c8e28622fc86354ce88ec02cf5a12",
      "tree": "02a36c6a26597d0b8470829f37188496c6739acb",
      "parents": [
        "a018224023f720bfd5ff96c9f9cb55bd66815d33"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Apr 26 21:07:04 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Apr 26 21:07:04 2017 -0700"
      },
      "message": "ART: Fix UnstartedRuntime unique_ptr braino\n\nBetter call reset instead of release.\n\nBug: 37727233\nTest: mma SANITIZE_HOST\u003daddress art-boot-image\nChange-Id: Ib4f4cce1440bb7accf32e0d93ff8c5a3d2fe8171\n"
    },
    {
      "commit": "afdcbcb56d0c2f985d0291c369bbc493eedb05b0",
      "tree": "236266aadd25eff5f37ca08e5295ae4b96065dcb",
      "parents": [
        "8d0f3aaf28358697ec812955cdf975ca6c6ff901"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 26 16:43:35 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 26 16:48:27 2017 -0700"
      },
      "message": "Remove some hardcoded cases of kCardShift\n\nAlso added cpp-define-generator to do this. This makes it easier to\nchange the GC card size.\n\nBug: 36457259\nTest: test-art-host\n\nChange-Id: I03b59f2bbb9b483280bea34575f5373ec6b15b98\n"
    },
    {
      "commit": "a62b453e6fe8a606ae9239051802e6a8190d5970",
      "tree": "d56f481a1444e34d7ad34bb9fd6fad839b20af9f",
      "parents": [
        "18457f487316b2ed2dd584f3e1f07e939e18aef5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 26 13:16:25 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 26 16:03:42 2017 -0700"
      },
      "message": "Use stack allocated context for VisitRoots\n\nPrevents allocation of contexts for threads that do not throw\nexceptions.\n\nSaves up to 544 per thread on arm64.\n\nBug: 36457259\n\nTest: mm test-art-host on with N6P target (build covers arm32, arm64)\nChange-Id: I782a1115d624edcc1279fa2317d026408dfa8a10\n"
    },
    {
      "commit": "77d8a1c3572afb38542cb5a2b3516674a182ce48",
      "tree": "cc8d5d0bdc7b656a73beb5d65ca660e36a0fe22e",
      "parents": [
        "6b90142986f76436503bcdca37ace6537ba8f0d4"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Apr 24 14:53:19 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Apr 26 10:07:39 2017 +0000"
      },
      "message": "Revert^2 \"ART: Support for SourceDebugExtension\"\n\nThis reverts commit 6530cab77a36d6d284c9d61084e39cd2c7fb91f8.\n\nBug: 30109642\nBug: 37560145\nTest: art/tools/run-jdwp-tests.sh --mode\u003ddevice --test org.apache.harmony.jpda.tests.jdwp.ReferenceType.SourceDebugExtensionTest\nChange-Id: I74cacb351fb7b181c5a17e004914d6d8bdcaaa48\n"
    },
    {
      "commit": "996f75eede1a6c6a5f2e63e96b5de2e7e309c7e1",
      "tree": "e90293c8a7d16f1f43b44e2ba14e5e4edd34bafe",
      "parents": [
        "6b90142986f76436503bcdca37ace6537ba8f0d4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 31 11:18:41 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 25 15:56:47 2017 -0700"
      },
      "message": "Improve accounting of native roots in hprof\n\nNative roots from VisitReferences are not real roots, they are\nactually references held live by the object. Instead of\nreporting these as roots in hprof, report them as objects in a\nruntimeInternalObjects field containing an object array.\n\nAlso added runtimeInternalObjects to dex caches.\n\nChanged non-app image and zygote space objects to be roots since\nthis is how the GC treats them.\n\nThese changes make it easier to debug class unloading since you\ncan more easily see the path to root keeping a dex cache or\nclassloader live.\n\nBug: 36457259\nBug: 22720414\nTest: test/run-test --host 130\nTest: take hprof dump and look at a class loader\n\nChange-Id: I089b2aed6831043160f0657a46cf71087d1cdbb6\n"
    },
    {
      "commit": "08e9eed8f609c0917b27e15a6bfb5a05d8cb3e2b",
      "tree": "12a6a2a85d7aff9db59f6b2fe80936a62a0a20c9",
      "parents": [
        "cf7d5d6b352442a7abf02a5b53a4575d395d0e97"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 25 17:36:51 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 25 17:36:51 2017 +0100"
      },
      "message": "Allow stripped APK to be compiled with a vdex.\n\nbug: 37558732\nTest: oat_file_assistant_test\nTest: \"adb shell cmd package compile\" of a stripped /system apk\nChange-Id: I48d4baf13fa356ab84e7dd04f318a595e13fd70b\n"
    },
    {
      "commit": "cf7d5d6b352442a7abf02a5b53a4575d395d0e97",
      "tree": "2e2a597932142a128b6151571ad5495ff11d89a8",
      "parents": [
        "7ac443c24be22c6b9dd67e35b6d6c2b7abc27c6e",
        "84695aef89a3c42ea81c23f0590ae2ceca09ce6f"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Apr 25 13:28:51 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 25 13:28:51 2017 +0000"
      },
      "message": "Merge \"ART: Support per PID stack trace files.\""
    },
    {
      "commit": "7ac443c24be22c6b9dd67e35b6d6c2b7abc27c6e",
      "tree": "3860a17a58e847196bc6ddc2bac87766c72ebcb5",
      "parents": [
        "d424f7074c6170a34ec7291523e237571e627c5e",
        "6680e3394aeb2b89300e459dc4dacfbac4c5847e"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Apr 25 12:25:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 25 12:25:56 2017 +0000"
      },
      "message": "Merge \"Handle classes with a huge number of direct methods.\""
    },
    {
      "commit": "84695aef89a3c42ea81c23f0590ae2ceca09ce6f",
      "tree": "2b9d8c239e4296fd7f07b06ea8d07c5b4ea6fabd",
      "parents": [
        "aa03f6fa38da0166790f2b22b679e6568ad56f7d"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Apr 07 15:41:41 2017 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Apr 25 11:30:33 2017 +0100"
      },
      "message": "ART: Support per PID stack trace files.\n\nIntroduce an -Xstacktracedir argument that supplies a directory\nunder which stack traces are written, with a unique file created\nper trace. The location of the actual directory in a production\nsystem is still not decided, and follow up changes might be\nintroduced to supply a per process override.\n\nBug: 32064548\nTest: test-art-host, test-art-target\n\nChange-Id: If377ce6a2abe8b325f6441d8de222b1ea3f40ec9\n"
    },
    {
      "commit": "0bf4c8b7d6ad79b527d8d1aa976b59a989528b52",
      "tree": "3575c657413abe7d7c3623e0be256f1c1ffeb96e",
      "parents": [
        "6eb267bef0bead23d03d3affe146cf837e6f95d1",
        "6d7abbd2324f544c6b6da42bb6b9b531df0ce3cd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 25 01:42:53 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 25 01:42:57 2017 +0000"
      },
      "message": "Merge \"ART: More header cleanup - method_verifier.h\""
    },
    {
      "commit": "2ddd53a8a60af69db5259b195821a18511c36367",
      "tree": "85923bfccd65ba7523a3ab80ce23ad50529c5b4c",
      "parents": [
        "91eaf23b5428a7f4b895e632b0b4936e3f31c827",
        "0dfc315a096bf5678cb5182771e3fdcca8ea4433"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 24 23:07:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 24 23:07:34 2017 +0000"
      },
      "message": "Merge \"ART: More header cleanup - mem_map.h\""
    },
    {
      "commit": "91eaf23b5428a7f4b895e632b0b4936e3f31c827",
      "tree": "bf1c21e6806b7f234a6651922db13db11478303b",
      "parents": [
        "11ce48e83f3bf63672487511576bd54408d096da",
        "291ce17ada5a126be99f0fc069a028d2100bcf9e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 24 23:07:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 24 23:07:20 2017 +0000"
      },
      "message": "Merge \"ART: More header cleanup - CC\""
    },
    {
      "commit": "6d7abbd2324f544c6b6da42bb6b9b531df0ce3cd",
      "tree": "669705a042bbc77c7963c117a9bf6f7a2308f9c8",
      "parents": [
        "0dfc315a096bf5678cb5182771e3fdcca8ea4433"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 24 13:19:09 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 24 14:18:45 2017 -0700"
      },
      "message": "ART: More header cleanup - method_verifier.h\n\nMove enumerations to own header. Move the compiler interface (of what\nthe compiler can tolerate) into its own header. Replace or remove\nmethod_verifier.h where possible.\n\nTest: mmma art\nChange-Id: I075fcb10b02b6c1c760daad31cb18eaa42067b6d\n"
    },
    {
      "commit": "0dfc315a096bf5678cb5182771e3fdcca8ea4433",
      "tree": "ac04fef45e7d002734d3d79b9ab9a128cb5dc263",
      "parents": [
        "291ce17ada5a126be99f0fc069a028d2100bcf9e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 24 07:58:06 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 24 14:18:45 2017 -0700"
      },
      "message": "ART: More header cleanup - mem_map.h\n\nMove MemMap maps_ into cc file and move allocator include. Remove\nother unused includes. Force clients to import sys/mman.h if they\nneed it. Try to lower dependencies on ART by using libbase helpers\nmore.\n\nTest: mmma art\nChange-Id: I8f31e5f371789b3d72e12af377181fee2ac9a611\n"
    },
    {
      "commit": "291ce17ada5a126be99f0fc069a028d2100bcf9e",
      "tree": "22f6a52b276ad6267eec92b7e78251a3d35b973c",
      "parents": [
        "06660db82d6b3d59080584431addf3797a468a70"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 24 13:22:18 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 24 14:18:41 2017 -0700"
      },
      "message": "ART: More header cleanup - CC\n\nForward-declare AtomicStack in CC. Use stack_reference in atomic_stack.h.\n\nTest: mmma art\nChange-Id: I863ca8d4a8dfd5e83279fd68ea0e1a94c3c5df6d\n"
    },
    {
      "commit": "68dda8f20027661c72c8069831cd1cc1c9d46db8",
      "tree": "2cbadf106779972df1036cbdb036eb0f26feee1b",
      "parents": [
        "5df5acf4dc296d22a868a7c5010a7f5cf2350539"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Apr 24 10:06:15 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Apr 24 13:13:28 2017 -0700"
      },
      "message": "Disable some heap verification test cases for memory tool\n\nThese test cases may read from red zones for the memory tool case.\n\nAlso split up some of the test cases to minimize how many tests need\nto be disabled.\n\nBug: 37187694\nBug: 12687968\n\nTest: ART_USE_READ_BARRIER\u003dfalse mm test-art-host-valgrind-gtest -j20\nChange-Id: I93958d0d3e42d2d3a2b4a7d2c6aa2e17559cb49c\n"
    },
    {
      "commit": "6680e3394aeb2b89300e459dc4dacfbac4c5847e",
      "tree": "2607b62bc36f4229ed6db9a214e5889a2baa1574",
      "parents": [
        "c3c743a8e9bd0321b9ae82bd450846d526807aec"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Apr 24 16:27:43 2017 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Apr 24 20:14:47 2017 +0100"
      },
      "message": "Handle classes with a huge number of direct methods.\n\nMake sure that fields Class::copied_methods_offset_ and\nClass::virtual_method_offset_ are correctly interpreted as unsigned\n16-bit integers.\n\nTest: art/test/testrunner/testrunner.py -j4 -t 648-many-direct-methods\nBug: 33650497\nChange-Id: I63e97d5b7e08d58252ff4831b63c4035ecc55979\n"
    },
    {
      "commit": "5df5acf4dc296d22a868a7c5010a7f5cf2350539",
      "tree": "596bae1feca4dbeebc10bb294d4d6a0ef91afb82",
      "parents": [
        "c3c743a8e9bd0321b9ae82bd450846d526807aec",
        "6530cab77a36d6d284c9d61084e39cd2c7fb91f8"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Apr 24 15:07:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 24 15:07:49 2017 +0000"
      },
      "message": "Merge \"Revert \"ART: Support for SourceDebugExtension\"\""
    },
    {
      "commit": "6530cab77a36d6d284c9d61084e39cd2c7fb91f8",
      "tree": "d04da8c615716cabac429319a124b013ff0a39e4",
      "parents": [
        "40dc110da3d951465bd2e1ea80ccec8bf99bddaa"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Apr 24 14:32:00 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Apr 24 14:41:31 2017 +0100"
      },
      "message": "Revert \"ART: Support for SourceDebugExtension\"\n\nThis reverts commit 70a45017d6371521c251d67a9aac7d1c86fb6a06.\n\nPending fix for run-jdwp-tests.sh --mode\u003ddevice.\n\nBug: 30109642\nTest: art/tools/run-jdwp-tests.sh\n\nChange-Id: I62f84e0fb09b6fe280ca6b518fbd2bc431318a56\n"
    },
    {
      "commit": "c3c743a8e9bd0321b9ae82bd450846d526807aec",
      "tree": "34094c2ff267330f5cdc1b20b4c6d61c02d85717",
      "parents": [
        "7386c272ecbc34050ac24d0f8eda078865d750de",
        "b81e9e90ee60e602286899fc3fa0048c2fcb1c30"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Apr 24 11:33:59 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 24 11:33:59 2017 +0000"
      },
      "message": "Merge \"Improve deterministic boot image compilation with CC collector.\""
    },
    {
      "commit": "7386c272ecbc34050ac24d0f8eda078865d750de",
      "tree": "fe2833dcdd0069b690a631073c5279faacfd1710",
      "parents": [
        "40dc110da3d951465bd2e1ea80ccec8bf99bddaa",
        "23caed84eba735b2615f5962b5161f6dc9e8bd4e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 24 09:13:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 24 09:13:27 2017 +0000"
      },
      "message": "Merge \"Lower profiler saver thread priority.\""
    },
    {
      "commit": "40dc110da3d951465bd2e1ea80ccec8bf99bddaa",
      "tree": "edc4e6d103606bc2f9379060c90f5fdd4bf588db",
      "parents": [
        "5a0336dd8926e1ddee517f7bf39fd6ed3c68f656",
        "70a45017d6371521c251d67a9aac7d1c86fb6a06"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Apr 24 08:05:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 24 08:06:00 2017 +0000"
      },
      "message": "Merge \"ART: Support for SourceDebugExtension\""
    },
    {
      "commit": "5a0336dd8926e1ddee517f7bf39fd6ed3c68f656",
      "tree": "d04da8c615716cabac429319a124b013ff0a39e4",
      "parents": [
        "7b96e726420f56e489dc1da929737171cf008986",
        "3a842f5adcbdeb3fd3db4206006a784ccabfc865"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Apr 24 08:03:43 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 24 08:03:44 2017 +0000"
      },
      "message": "Merge \"ART: Add method verifier check for call site id\""
    },
    {
      "commit": "9aef9924c7e6282600db20bb26ab8da20f8f4ac8",
      "tree": "250eef4b5cc3d255145a482dbf34c3736534c167",
      "parents": [
        "a2dfb0f481810aced8af861a154be69e66eba782"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Apr 23 13:53:50 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Apr 23 13:55:55 2017 -0700"
      },
      "message": "Handle null WellKnownClasses::java_lang_Object\n\nMay be null early during runtime creation. Fixes gcstress tests.\n\nBug: 37531237\nBug: 12687968\n\nTest: test/run-test --host --gcstress --gdb 004-ThreadStress\nTest: test-art-host\n\nChange-Id: I5bee19ba102b046fdbf2ab53722b7e1b87db98b1\n"
    },
    {
      "commit": "5e36c2ff6f2454586a70d702fa4f9dac53841e4a",
      "tree": "429b3f41458014eb230f41c46d5c4274586b6d6e",
      "parents": [
        "9dd326eb801c962a7ff6df5917aa9f4b88db250a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 21 19:11:15 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 21 19:46:22 2017 -0700"
      },
      "message": "ART: Fix missing include\n\nAdd required headers.\n\nBug: 37187694\nTest: mmma art\nChange-Id: I0f39498453973ed9bfbad97965f2dff215caea98\n"
    },
    {
      "commit": "9dd326eb801c962a7ff6df5917aa9f4b88db250a",
      "tree": "e3b5afc9de9151785fcacd1082ad752e4fabb82b",
      "parents": [
        "498305d881ee0a4678a0498692fb1425361d5055",
        "c15a2f4f45661a7f5f542e406282c146ea1a968d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 22 02:22:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 22 02:22:49 2017 +0000"
      },
      "message": "Merge \"ART: Add object-readbarrier-inl.h\""
    },
    {
      "commit": "c15a2f4f45661a7f5f542e406282c146ea1a968d",
      "tree": "50ad6104b0b8739f272782c35a7022cca64d2601",
      "parents": [
        "9ae527f615f61aec4aaca310c52f373e8c3d8d58"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 21 12:09:39 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 21 16:48:00 2017 -0700"
      },
      "message": "ART: Add object-readbarrier-inl.h\n\nMove some read-barrier code into a new header. This prunes the\ninclude tree for the concurrent-copying collector. Clean up other\nrelated includes.\n\nTest: mmma art\nChange-Id: I40ce4e74f2e5d4c692529ffb4df933230b6fd73e\n"
    },
    {
      "commit": "1ca689096b532e007dc9f8ba16db4731e6afd719",
      "tree": "e07c8c5c0eba7494d7dba628caaa1cd2bbe6066f",
      "parents": [
        "9ae527f615f61aec4aaca310c52f373e8c3d8d58"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 18 11:26:22 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 21 15:55:16 2017 -0700"
      },
      "message": "More robust GC verification and corruption dumping\n\nAdded a test for GC heap corruption dumping, added more info to the\ndump like adjacent bytes and card table.\n\nAdded heap corruption detection in\nConcurrentCopying::MarkNonMoving().\n\nBug: 37187694\nBug: 12687968\n\nTest: mm test-art-host-gtest-verification_test -j20\n\nChange-Id: I8c90e45796d0784265aa091b2f8082f0cfb62719\n"
    },
    {
      "commit": "c1d4cd74227cfba9b5fef9cdd319e35ceb66df2e",
      "tree": "ed6e644141a6deaf2f436ca10b5afd187ea048c0",
      "parents": [
        "6b8b07521125e7744327d00e64f897b4dd5d1db9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 21 13:24:52 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 21 13:24:52 2017 -0700"
      },
      "message": "ART: Fix Mac build\n\nAnother missing transitive include.\n\nTest: m\nChange-Id: I3e2691bcf8ddb38e48c7e32dbd9695459f4d9d16\n"
    },
    {
      "commit": "6b8b07521125e7744327d00e64f897b4dd5d1db9",
      "tree": "1a8d6cd6c50fdcb5edc388588e36eb41c78e1324",
      "parents": [
        "e0ffd22714fd4bc4edf81000966b98eae59788dd",
        "a1d2f957a21319d1110bebb9a52f46fd1c67ffaf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 21 18:57:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 21 18:57:27 2017 +0000"
      },
      "message": "Merge changes I6ff2d6f8,I8f60f116\n\n* changes:\n  ART: Clean up art_field.h\n  ART: Clean up art_method.h\n"
    },
    {
      "commit": "e0ffd22714fd4bc4edf81000966b98eae59788dd",
      "tree": "aedc83b3a2cb5b5d0e7afae181784451bce2b727",
      "parents": [
        "2a9dc4dcc5cb6cec1e9a4411ea81aee2ee9daa74",
        "6b040570b5f71bdb6a0aacf51a7613edf35785b7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 21 18:56:17 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 21 18:56:18 2017 +0000"
      },
      "message": "Merge changes from topic \u0027art_move_inline_method_anlyzer_to_compiler\u0027\n\n* changes:\n  ART: Clean up InlineMethodAnalyzer\n  ART: Move InlineMethodAnalyzer into compiler\n"
    },
    {
      "commit": "2a9dc4dcc5cb6cec1e9a4411ea81aee2ee9daa74",
      "tree": "fdd228b34741d240c32376d7efa43daf95a49389",
      "parents": [
        "9bb7ab6750d39461f57fb089d7950e1c137d8e87",
        "1f7079b72965cba0b1a40f53be97a4944ecb4a51"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Apr 21 18:41:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 21 18:41:24 2017 +0000"
      },
      "message": "Merge \"Ignore the optimized location passed to DexFile.loadDex()\""
    },
    {
      "commit": "b81e9e90ee60e602286899fc3fa0048c2fcb1c30",
      "tree": "e4f6d7d370029913f18168bb6f143e95adb876d8",
      "parents": [
        "8d0f3aaf28358697ec812955cdf975ca6c6ff901"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Apr 20 17:35:32 2017 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Apr 21 19:06:29 2017 +0100"
      },
      "message": "Improve deterministic boot image compilation with CC collector.\n\nAllow deterministic compilation with the read barrier configuration.\n\nTest: Compare boot.art produced by different builds of the same tree.\nBug: 37442966\nChange-Id: I6cc0d0d7fdfe4f954765764d9f7f3778b7307028\n"
    },
    {
      "commit": "b95c74b9788886b24b04db782ce64867cb4960d5",
      "tree": "f9b01a5b509d70bf66cfb69433f23d7019b892ce",
      "parents": [
        "d68677c5fde1ace16ea58d65733776c954e7acb4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 20 19:43:21 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 21 09:41:03 2017 -0700"
      },
      "message": "ART: Move InlineMethodAnalyzer into compiler\n\nMove the infrastructure, which is now only used by the compiler.\n\nTest: mmma art\nChange-Id: I4a61e35f23736b226523d7349f49208ad852ad2f\n"
    },
    {
      "commit": "9bb7ab6750d39461f57fb089d7950e1c137d8e87",
      "tree": "44d48b62e16b9ab802f0424eda393f975d665bf6",
      "parents": [
        "d68677c5fde1ace16ea58d65733776c954e7acb4",
        "3ed8ec10be0c79e7f7bbe73a754da0daf997b994"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 21 16:34:44 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 21 16:34:46 2017 +0000"
      },
      "message": "Merge \"Store java_lang_Object_ in the flip callback\""
    },
    {
      "commit": "3ed8ec10be0c79e7f7bbe73a754da0daf997b994",
      "tree": "53e3f3e105d1d4f582a3f35cf874a1f58e1328eb",
      "parents": [
        "bdbc63b892c571101a301ce805ca136acd769218"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 20 19:28:54 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 21 09:26:58 2017 -0700"
      },
      "message": "Store java_lang_Object_ in the flip callback\n\nThere was a race where the GC thread would not have is_marking \u003d\ntrue, and call\nWellKnownClasses::ToClass(WellKnownClasses::java_lang_Object). This\nmeant that the returned class was maybe in the from-space for the\nno image case. The fix was to move this decoding into the flip\ncallback since this callback is called before flipping any thread\nroots.\n\nBug: 37531237\nBug: 12687968\nTest: test-art-host\n\nChange-Id: I9a09249e9c6ea2b3b124e957a9e4b61017869306\n"
    },
    {
      "commit": "a1d2f957a21319d1110bebb9a52f46fd1c67ffaf",
      "tree": "db9b6eda7cd4764e13c07256df14a7c14888ee75",
      "parents": [
        "c6ea7d00ad069a2736f603daa3d8eaa9a1f8ea11"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 20 22:53:58 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 21 08:41:28 2017 -0700"
      },
      "message": "ART: Clean up art_field.h\n\nClean up the header. Fix up other headers including the -inl file,\nin an effort to prune the include graph. Fix broken transitive\nincludes by making includes explicit.\n\nTest: m\nChange-Id: I6ff2d6f89b741d8188e19426eccf4743fec688fc\n"
    },
    {
      "commit": "c6ea7d00ad069a2736f603daa3d8eaa9a1f8ea11",
      "tree": "a6d3332a8592fb806841314d55b206b573d37d86",
      "parents": [
        "d68677c5fde1ace16ea58d65733776c954e7acb4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Feb 01 16:46:28 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 21 08:40:33 2017 -0700"
      },
      "message": "ART: Clean up art_method.h\n\nClean up the header. Fix up other headers including the -inl file,\nin an effort to prune the include graph. Fix broken transitive\nincludes by making includes explicit. Introduce new -inl files\nfor method handles and reference visiting.\n\nTest: source build/envsetup.sh \u0026\u0026 lunch aosp_angler-userdebug \u0026\u0026 mmma art\nTest: source build/envsetup.sh \u0026\u0026 lunch aosp_mips64-userdebug \u0026\u0026 mmma art\nChange-Id: I8f60f1160c2a702fdf3598149dae38f6fa6bc851\n"
    },
    {
      "commit": "d68677c5fde1ace16ea58d65733776c954e7acb4",
      "tree": "c949275647f1a46b30ad64af4c3ce5436431eca2",
      "parents": [
        "6d3c61d8c6d2f96dec8345263c948fae3caa4e1a",
        "9cb0c46402117e5fa83680289c8c097041296fb6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 21 14:24:57 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 21 14:24:58 2017 +0000"
      },
      "message": "Merge \"Fix verifier crash on abstract final class.\""
    },
    {
      "commit": "3a842f5adcbdeb3fd3db4206006a784ccabfc865",
      "tree": "3aaa5a0d63cd1c588c4a381db0b9c3ab7e0b68c5",
      "parents": [
        "6d3c61d8c6d2f96dec8345263c948fae3caa4e1a"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Apr 21 15:24:10 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Apr 21 15:24:10 2017 +0100"
      },
      "message": "ART: Add method verifier check for call site id\n\nBug: 37248626\nTest: dex2oat on bug data\nChange-Id: Iaccd39ae9d4b3ab5134f7b5a9063a7efa2cab498\n"
    },
    {
      "commit": "23caed84eba735b2615f5962b5161f6dc9e8bd4e",
      "tree": "9352996b31bb5d24e141f5369aae0f3bd8f68639",
      "parents": [
        "6d3c61d8c6d2f96dec8345263c948fae3caa4e1a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 21 14:30:18 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 21 14:30:18 2017 +0100"
      },
      "message": "Lower profiler saver thread priority.\n\nSpotted while looking at bug reports. Doesn\u0027t hurt, and better\nbe safe than sorry.\n\nbug:37446669\ntest:manual, looking at bugreports\nChange-Id: Idbd1abc74231fe62207ef5a16c83498e729b2f17\n"
    },
    {
      "commit": "9cb0c46402117e5fa83680289c8c097041296fb6",
      "tree": "e315160be2ee9052e460d6b4b2f9b825057ff0f4",
      "parents": [
        "38870a8a2717ccf1bcd3faddc53b1999985bb29f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 21 13:31:41 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 21 13:54:00 2017 +0100"
      },
      "message": "Fix verifier crash on abstract final class.\n\nRemove a check for erroneous class. It should not matter to\nthe verifier whether the class is just resolved, initialized\nor resolved erroneous. The check was also inherently racy\nand could yield different behavior based on the timing of\nthe verification.\n\nTest: 161-final-abstract-class\nTest: testrunner.py --host\nBug: 37248840\nChange-Id: Ic4d964050bbe52e3de4438ada9e75676956cb6b4\n"
    },
    {
      "commit": "49cda06d5bf003f588ba7839bbf89d606237dfa7",
      "tree": "bc97607c6ae33a69ebdea2346c781f7ac238c9e3",
      "parents": [
        "aa03f6fa38da0166790f2b22b679e6568ad56f7d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 21 13:08:25 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 21 13:25:15 2017 +0100"
      },
      "message": "Rename and obsolete compiler filter names.\n\nART side of the change.\n\nbug:34715556\ntest: test-art-host, jdwp, libcore\nChange-Id: I3a73ae4af2d602431150c8ecfceaddb9ba519cee\n"
    },
    {
      "commit": "bdbc63b892c571101a301ce805ca136acd769218",
      "tree": "de0bcc8aa203c2d00ec5bebd2eb0191ed435ace1",
      "parents": [
        "4e34bd190287f10214e8ea11a61025f18d2429b8",
        "42151c061f1bc60b24c309aecc8381a9c8346383"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 21 00:49:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 21 00:49:25 2017 +0000"
      },
      "message": "Merge changes If234ff55,I2d83fc46,I5ad78a15\n\n* changes:\n  Be able to run jvmti-stress on RI\n  Do native method bind in jvmti-stress\n  Agent libraries need to be searched for JNI functions\n"
    }
  ],
  "next": "0af8cde95a267c86c3e3982f88cab1c7ffb62625"
}
