)]}'
{
  "log": [
    {
      "commit": "8cf9cb386cd9286d67e879f1ee501ec00d72a4e1",
      "tree": "88e86e214b425e444760fe4e0ffeee677e1558a2",
      "parents": [
        "914b7b6a6c9f399b26b41e9160e9871ef749e0db"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 19 09:28:38 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 24 16:07:10 2017 -0700"
      },
      "message": "ART: Include cleanup\n\nLet clang-format reorder the header includes.\n\nDerived with:\n\n* .clang-format:\n BasedOnStyle: Google\n IncludeIsMainRegex: \u0027(_test|-inl)?$\u0027\n\n* Steps:\n find . -name \u0027*.cc\u0027 -o -name \u0027*.h\u0027 | xargs sed -i.bak -e \u0027s/^#include/ #include/\u0027 ; git commit -a -m \u0027ART: Include cleanup\u0027\n git-clang-format -style\u003dfile HEAD^\n manual inspection\n git commit -a --amend\n\nTest: mmma art\nChange-Id: Ia963a8ce3ce5f96b5e78acd587e26908c7a70d02\n"
    },
    {
      "commit": "914b7b6a6c9f399b26b41e9160e9871ef749e0db",
      "tree": "7692aaea42bb8141e589fda63938998af1e2f247",
      "parents": [
        "b67d0c0fcef5e76e579246d48ec005fe31e64f97",
        "3d324fdb9b43742d851aec681846b67203a536f0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 24 21:48:24 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 24 21:48:24 2017 +0000"
      },
      "message": "Merge \"Freeze capabilities JVMTI tests request by default.\""
    },
    {
      "commit": "b67d0c0fcef5e76e579246d48ec005fe31e64f97",
      "tree": "343117b8181faeed565ff244c5dedc9d0a8d1775",
      "parents": [
        "2ae4bc9f5b620bc768e4ae2ecab641a06a488a70",
        "cade5c3c75588da6d873df727acdaf3378a66efa"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jul 24 21:00:39 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 24 21:00:39 2017 +0000"
      },
      "message": "Merge changes I87b3fcb3,I971edf31,I5218a57c\n\n* changes:\n  Track class initializing in transaction\n  Move transaction creation to runtime\n  Test case for clinit support in app image\n"
    },
    {
      "commit": "2ae4bc9f5b620bc768e4ae2ecab641a06a488a70",
      "tree": "071b002a76308f0a2830aa73c251970735ecb513",
      "parents": [
        "8bf4fece8a4cecc869f8684d52e91ade630f84df",
        "e4e812a917345a3cb9ac955c8a84f64dfc26b5d9"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Mon Jul 24 19:11:28 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 24 19:11:28 2017 +0000"
      },
      "message": "Merge \"Allow DexFile#getDexOptNeeded to check case when downgrading is required\""
    },
    {
      "commit": "8bf4fece8a4cecc869f8684d52e91ade630f84df",
      "tree": "fbc018fe9522fec2d923fed4f0c909a0fd3e4d98",
      "parents": [
        "194cf5f7db9762c17a0f2c91308cb060db08f571",
        "279cfba1f6086c25d6737471bc4f66ae79f4e681"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 24 18:44:05 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 24 18:44:05 2017 +0000"
      },
      "message": "Merge \"MIPS: Follow-up to hash-based DexCache methods array\""
    },
    {
      "commit": "279cfba1f6086c25d6737471bc4f66ae79f4e681",
      "tree": "e9ee9c1fb1180c89734ad57b3ee601a5545d9c9e",
      "parents": [
        "62432ae776aa618082865b40b111dbff75aedeb6"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Sat Jul 22 00:24:43 2017 -0700"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Mon Jul 24 09:43:09 2017 -0700"
      },
      "message": "MIPS: Follow-up to hash-based DexCache methods array\n\nThis is a MIPS-specific follow-up to\nhttps://android-review.googlesource.com/#/c/431679/.\n\nTest: booted MIPS32R2 in QEMU\nTest: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU\n\nChange-Id: Ib16cf6613ae3b6537e7fbae1aff9a3316c9fd540\n"
    },
    {
      "commit": "194cf5f7db9762c17a0f2c91308cb060db08f571",
      "tree": "2155adf2d0c41aad74cd802bac1c76377e17c216",
      "parents": [
        "df9224cefd7ef21103f5f0da46139d5afedd204e",
        "e3cacccf015c8e57b974368023b26b4086213b5f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 24 16:42:59 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 24 16:42:59 2017 +0000"
      },
      "message": "Merge \"test: Re-enable javac/dx failing checker tests for Long.compare\""
    },
    {
      "commit": "df9224cefd7ef21103f5f0da46139d5afedd204e",
      "tree": "d10524bc258a050fba499e0a5790ca829e36c83b",
      "parents": [
        "d41f79bdb353beaff6021ffcf59a60518c5a4923",
        "4f342b01a9d6661261a233d2221ae4a3c4e6ac4b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jul 24 16:35:03 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 24 16:35:03 2017 +0000"
      },
      "message": "Merge \"Move logic to get profile class descriptors to profile info\""
    },
    {
      "commit": "4f342b01a9d6661261a233d2221ae4a3c4e6ac4b",
      "tree": "62d76d0784c86a48f2140c708bff0502514a2491",
      "parents": [
        "2727d7ca49eea03fc1cd4cf81447e1c2bb7027e7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jul 21 17:12:39 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jul 24 16:31:40 2017 +0000"
      },
      "message": "Move logic to get profile class descriptors to profile info\n\nMove and simplify logic used to get a descriptor set for app image\ncreation. Code is covered by TestLayoutAppImage in dex2oat_test.\n\nMotivation:\nIf we are class unloading in dex2oat, we won\u0027t have all the dex files\nregistered at once.\n\nBug: 63467744\nTest: test-art-host\nChange-Id: I1e3616ee0a731061c347677713dba07e603eaa08\n"
    },
    {
      "commit": "d41f79bdb353beaff6021ffcf59a60518c5a4923",
      "tree": "7ac3d12b75af1e1692966b248a0964bcc091db78",
      "parents": [
        "a3aa6db876c6e588210b064e358a56ee85d70504",
        "b43b2d8b8ad78bc02924b65f5463418c7aa76881"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 24 15:58:27 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 24 15:58:27 2017 +0000"
      },
      "message": "Merge \"Throw VerifyError when trying to extend a final class.\""
    },
    {
      "commit": "a3aa6db876c6e588210b064e358a56ee85d70504",
      "tree": "1637337b2179220babdab507e12dbdaf18a2a211",
      "parents": [
        "f40efd14aa032cef948f1fdc2ceea771faf4a9df",
        "17272ab679c9b5f5dac8754ac070b78b15271c27"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 24 15:49:52 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 24 15:49:52 2017 +0000"
      },
      "message": "Merge \"ARM64: More JIT Code Cache maintenace\""
    },
    {
      "commit": "f40efd14aa032cef948f1fdc2ceea771faf4a9df",
      "tree": "0530e8968cfef789f07970fc4b5891bbecc07bb2",
      "parents": [
        "ad76ef641d8570affb2e3c728b40876c4ed53fac",
        "3988af6473bf3005da0af13ea7bdcbcb6d187313"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 24 12:42:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 24 12:42:54 2017 +0000"
      },
      "message": "Merge \"Show diff column for fields only if diff is enabled.\""
    },
    {
      "commit": "17272ab679c9b5f5dac8754ac070b78b15271c27",
      "tree": "bb7e52a01a6a28e4906c4f1238079b4478087a7e",
      "parents": [
        "84b65e977302e1cf16d188636c22c164c7793554"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jul 21 14:32:52 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Jul 24 13:11:35 2017 +0100"
      },
      "message": "ARM64: More JIT Code Cache maintenace\n\nMove implementation closer to ARM\u0027s sample code.\n\nTest: art/test.py --target\nChange-Id: Ic205c700528f45afc281fb20e9336c9737d5f409\n"
    },
    {
      "commit": "ad76ef641d8570affb2e3c728b40876c4ed53fac",
      "tree": "3be2b0da866469391593f6c5142c6e4937d5a2d9",
      "parents": [
        "28e535bd94c84d1019f18c46e189928435e2938d",
        "bf9e21a33404440e1723e738975e23f7c1334e18"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 24 11:33:49 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 24 11:33:49 2017 +0000"
      },
      "message": "Merge \"Improve SchedulingLatencyVisitorARM on HCondition latency settings.\""
    },
    {
      "commit": "3988af6473bf3005da0af13ea7bdcbcb6d187313",
      "tree": "c01e23bdad9debaa880fc3a379ed21e02179a2e6",
      "parents": [
        "28e535bd94c84d1019f18c46e189928435e2938d"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Jul 24 09:50:39 2017 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Jul 24 09:50:39 2017 +0100"
      },
      "message": "Show diff column for fields only if diff is enabled.\n\nTest: Confirm that no diff column is shown when looking at instance\n      fields of an object or static fields of a class when no baseline\n      heap dump is given.\n\nChange-Id: Ic72d6aee31b8ca4ddbeaa53178c708fa733ac00b\n"
    },
    {
      "commit": "28e535bd94c84d1019f18c46e189928435e2938d",
      "tree": "a078f294a0f80a5a227bd4ce03d566feca157d37",
      "parents": [
        "62432ae776aa618082865b40b111dbff75aedeb6",
        "78627e4e4df5481e41836eed2e0fd8d5aa54841d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 24 00:12:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 24 00:12:14 2017 +0000"
      },
      "message": "Merge \"ART: Disable part of reg_type_test for CMS\""
    },
    {
      "commit": "78627e4e4df5481e41836eed2e0fd8d5aa54841d",
      "tree": "a078f294a0f80a5a227bd4ce03d566feca157d37",
      "parents": [
        "62432ae776aa618082865b40b111dbff75aedeb6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Jul 23 14:46:03 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Jul 23 14:46:03 2017 -0700"
      },
      "message": "ART: Disable part of reg_type_test for CMS\n\nDisable the test for investigation. Figure out why FillHeap leaves\nenough heap space available to allocate new array classes.\n\nTest: ART_USE_READ_BARRIER\u003dfalse m test-art-host-gtest-reg_type_test\nChange-Id: I486651ae4bb2d96a7cc80583bc6557b88da3d9c1\n"
    },
    {
      "commit": "cade5c3c75588da6d873df727acdaf3378a66efa",
      "tree": "126fc494a05e39d0b2566a608f15e140e5eb915f",
      "parents": [
        "16d1dd86dca33520b44d9802695e19d3b658af3e"
      ],
      "author": {
        "name": "Chang Xing",
        "email": "chxing@google.com",
        "time": "Thu Jul 20 17:56:26 2017 -0700"
      },
      "committer": {
        "name": "Chang Xing",
        "email": "chxing@google.com",
        "time": "Sat Jul 22 16:33:20 2017 -0700"
      },
      "message": "Track class initializing in transaction\n\nAdd a field and a corresponding constructor to transaction which keeps\ntrack of the class that the transaction is initializing.\n\nTo implement constraints for \u003cclinit\u003e behaviors, the transaction needs\nto know which class it is initializing.\n\nTest: make test-art-host -j64\nChange-Id: I87b3fcb3ef15914c79c6687ec8a87058265eaead\n"
    },
    {
      "commit": "16d1dd86dca33520b44d9802695e19d3b658af3e",
      "tree": "c273a6256e2b8ea49e9e1935830fe9d1748ebcf4",
      "parents": [
        "3a3abd08ca92636a706c0efa777c0410258ebd5f"
      ],
      "author": {
        "name": "Chang Xing",
        "email": "chxing@google.com",
        "time": "Thu Jul 20 17:56:26 2017 -0700"
      },
      "committer": {
        "name": "Chang Xing",
        "email": "chxing@google.com",
        "time": "Sat Jul 22 16:07:03 2017 -0700"
      },
      "message": "Move transaction creation to runtime\n\nMove the transaction creation to runtime instead of passing a pointer to\nruntime when EnterTransactionMode. Because later there will be more\nplaces to create transaction so this makes the code cleaner and more\ncompact.\n\nTest: make test-art-host -j64\nChange-Id: I971edf3110eb6634b6e0f7f56256be04517a5281\n"
    },
    {
      "commit": "62432ae776aa618082865b40b111dbff75aedeb6",
      "tree": "3cb1230304f9ac8fa38b72f41fe89dc0ff7b1767",
      "parents": [
        "36898d089e48cd9363ca531b436ece8703e6da1c",
        "cb72007afb26b2cc8ce7bf7b38dd98ca2e9bdedc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jul 22 03:42:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jul 22 03:42:41 2017 +0000"
      },
      "message": "Merge \"Disable valgrind 32-bit x86. It does not like SSE.\""
    },
    {
      "commit": "36898d089e48cd9363ca531b436ece8703e6da1c",
      "tree": "524a435dd0523819e5072bc2c18f42563d16a386",
      "parents": [
        "e3f66f506cb6469ec80267277400cc7c6a3c8bd6",
        "26761f758aff822b1204e05ce37687d0a1557399"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jul 22 03:08:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jul 22 03:08:26 2017 +0000"
      },
      "message": "Merge changes Ia8b678ab,I823201e3\n\n* changes:\n  ART: Move FillHeap to CommonRuntimeTest\n  ART: Account for OOME during array merging\n"
    },
    {
      "commit": "e3cacccf015c8e57b974368023b26b4086213b5f",
      "tree": "9e3b2ea905ac94d284c836a5f8a8aede4a237375",
      "parents": [
        "84b65e977302e1cf16d188636c22c164c7793554"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jul 21 16:23:22 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jul 21 16:23:22 2017 -0700"
      },
      "message": "test: Re-enable javac/dx failing checker tests for Long.compare\n\nPreviously a few tests were disabled because desugar would turn\nLong.compare into lcmp. Re-enable these tests after downstreaming\nnew desugar with the fixes.\n\nBug: 36902714\nChange-Id: I8b1222b3fa52d6969bc3c2c311e95bf3758a8dec\n"
    },
    {
      "commit": "cb72007afb26b2cc8ce7bf7b38dd98ca2e9bdedc",
      "tree": "82b36cd618bd636cf13ffdc7ef9e9e639df42513",
      "parents": [
        "84b65e977302e1cf16d188636c22c164c7793554"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Jul 21 16:12:47 2017 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Jul 21 16:20:03 2017 -0700"
      },
      "message": "Disable valgrind 32-bit x86. It does not like SSE.\n\nRationale:\nWe got a buildbot failure in ART on host-x86-valgrind after\nenabling sse4.2 for hosts (which causes clang to use SSE\nthat is not recognized by valgrind32).\n\nBug: 63585550\n\nTest: ./run_build_test_target.py art-gtest-valgrind32 completed.\n\nChange-Id: Ic7ba4d1fd028ef39ddb002fcaa1b023595117cd3\n"
    },
    {
      "commit": "e3f66f506cb6469ec80267277400cc7c6a3c8bd6",
      "tree": "6d55293bd46988b7e7f84f2b69493e7455fac4c4",
      "parents": [
        "84b65e977302e1cf16d188636c22c164c7793554",
        "b4005f0aa8b520d9fdfe3b894e756566beea3650"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jul 21 23:16:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 21 23:16:10 2017 +0000"
      },
      "message": "Merge \"Templatize loops in imgdiag\""
    },
    {
      "commit": "3a3abd08ca92636a706c0efa777c0410258ebd5f",
      "tree": "dd2be6fb1cd5e70283c44017cdb4d6e0aa723e9b",
      "parents": [
        "84b65e977302e1cf16d188636c22c164c7793554"
      ],
      "author": {
        "name": "Chang Xing",
        "email": "chxing@google.com",
        "time": "Tue Jul 18 16:04:52 2017 -0700"
      },
      "committer": {
        "name": "Chang Xing",
        "email": "chxing@google.com",
        "time": "Fri Jul 21 15:24:32 2017 -0700"
      },
      "message": "Test case for clinit support in app image\n\nAdd a new test case to test how class initializers are executed in\ndifferent situations. Currently clinit for app image is not supported.\n\nTest: make test-art-host -j64\nChange-Id: I5218a57c14eae29299762da3f610d163a16b0b68\n"
    },
    {
      "commit": "b4005f0aa8b520d9fdfe3b894e756566beea3650",
      "tree": "9c958c00db11a1a482731d3c239f07d4a6fdd0db",
      "parents": [
        "8e7ea37bb08304cf420db26f0c2525aa31bb32f6"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue Jun 20 19:11:40 2017 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Jul 21 13:24:01 2017 -0700"
      },
      "message": "Templatize loops in imgdiag\n\nNow converted the code for analyzing and dumping a region to use a template\nclass that can be specialized for each content type.  I still have not\nadded the contents for ArtMethod.\n\nBug: 62554875\nTest: adb shell imgdiag --image-diff-pid\u003d\u003capp pid\u003e --boot-image\u003d/system/framework/boot.art\nChange-Id: I07cecadd566f67c0920039ea35ff7ca2a9951fac\n"
    },
    {
      "commit": "84b65e977302e1cf16d188636c22c164c7793554",
      "tree": "9046e2fabec005707f413d9f92e8cec791bd298d",
      "parents": [
        "8e7ea37bb08304cf420db26f0c2525aa31bb32f6",
        "f60525793a1fd784ce7de82f18e7ad9de242c431"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Jul 21 19:43:30 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 21 19:43:30 2017 +0000"
      },
      "message": "Merge \"Assume all x86/x86_64 hosts support at least sse4.x/popcount.\""
    },
    {
      "commit": "8e7ea37bb08304cf420db26f0c2525aa31bb32f6",
      "tree": "547bd21f540b3964c05ceaab58a2fd6c5826bdb5",
      "parents": [
        "2727d7ca49eea03fc1cd4cf81447e1c2bb7027e7",
        "46331a6bdcb027f16eafef072662f5b1752c20ef"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 21 18:48:22 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 21 18:48:22 2017 +0000"
      },
      "message": "Merge \"Add compiler callbacks as arg to PrepareRuntimeOptions\""
    },
    {
      "commit": "3d324fdb9b43742d851aec681846b67203a536f0",
      "tree": "5c31e0403a53fa222d01e4768a78ea9e98541c31",
      "parents": [
        "e8f48da635c4d07bbe431e5819da8e1fad91a8ef"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 20 15:38:52 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jul 21 10:54:48 2017 -0700"
      },
      "message": "Freeze capabilities JVMTI tests request by default.\n\nSome capabilities might change the characteristics of the runtime when\nthey are gained (for example disabling the jit). We want to test in\nall configurations when possible so freeze the default jvmti\ncapabilities given to jvmti tests to those that are known not to make\nmajor runtime changes.\n\nTest: ./test.py --host -j40\nChange-Id: I90a8ad31f203590153ef53bc4950b2f3952b4970\n"
    },
    {
      "commit": "26761f758aff822b1204e05ce37687d0a1557399",
      "tree": "72bb419ea1209724c370eaa297c7ec3f77ca641c",
      "parents": [
        "64d2d3e9c7d935dfe879f68019970983fee7189d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 20 18:00:39 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 21 10:38:36 2017 -0700"
      },
      "message": "ART: Move FillHeap to CommonRuntimeTest\n\nRefactor common functionality. Clean up the code.\n\nTest: m test-art-host-gtest-monitor_test\nTest: m test-art-host-gtest-reg_type_test\nChange-Id: Ia8b678ab0a84ac76ee162dbc202d3363e9e9c02f\n"
    },
    {
      "commit": "46331a6bdcb027f16eafef072662f5b1752c20ef",
      "tree": "547bd21f540b3964c05ceaab58a2fd6c5826bdb5",
      "parents": [
        "2727d7ca49eea03fc1cd4cf81447e1c2bb7027e7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jul 21 09:49:10 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jul 21 09:49:10 2017 -0700"
      },
      "message": "Add compiler callbacks as arg to PrepareRuntimeOptions\n\nPreviously, the dependency was not obvious.\n\nTest: make\nChange-Id: I52e02f2467fb544856f86219ee8de383647da057\n"
    },
    {
      "commit": "64d2d3e9c7d935dfe879f68019970983fee7189d",
      "tree": "962b71ab236eef1c54080617addc4a44e7686c25",
      "parents": [
        "2727d7ca49eea03fc1cd4cf81447e1c2bb7027e7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 19 23:13:18 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 21 09:45:08 2017 -0700"
      },
      "message": "ART: Account for OOME during array merging\n\nWhen joining class types, in the case of arrays it is possible that\na join type cannot be created (e.g., there\u0027s no Java heap to actually\ncreate the class). In that case report an unresolved reference. For\nAoT this will lead to re-verification at runtime. At runtime, this\nwill most likely fail the class.\n\nHowever, have a special cutout that aborts for AoT on the host, to\nprotect determinism of preopting.\n\nThe decision for an unresolved reference type was made as we do not\nwant to propagate the underlying exception out of verification. This\nwould require significant work along all call edges, violating the\ncurrent design and invariants of the verifier.\n\nExtend reg_type_test.\n\nBug: 63822536\nTest: m test-art-host-gtest-reg_type_test\nChange-Id: I823201e3c401b2c2a46a46fad3327a28e049c181\n"
    },
    {
      "commit": "2727d7ca49eea03fc1cd4cf81447e1c2bb7027e7",
      "tree": "570104d8a0e670fca44dfee36fde452bc3311842",
      "parents": [
        "1a83a66413df15b9d63d62b442ce3c8f7715ea35",
        "6ee332cc58d602bb7f16513795dc32568b176efa"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 21 15:38:35 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 21 15:38:35 2017 +0000"
      },
      "message": "Merge \"Ensure that we don\u0027t overwrite suspension target thread\""
    },
    {
      "commit": "1a83a66413df15b9d63d62b442ce3c8f7715ea35",
      "tree": "1de1336786add03acb4be78462bf5806395a7fb9",
      "parents": [
        "c73753f70ab4fc9a166637bee514b292f0fa0109",
        "753d613704b86d37e9e2286dde22ab3452908f66"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jul 21 15:36:44 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 21 15:36:44 2017 +0000"
      },
      "message": "Merge \"Update VMRuntime.preloadDexCaches() for hash-based arrays.\""
    },
    {
      "commit": "bf9e21a33404440e1723e738975e23f7c1334e18",
      "tree": "c25c5a814530c949745aa1f170505319f57a0d0e",
      "parents": [
        "89ae0f42e38a2f985ac404830f2a05fecf9547e2"
      ],
      "author": {
        "name": "xueliang.zhong",
        "email": "xueliang.zhong@linaro.org",
        "time": "Thu Jun 15 11:01:11 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 21 13:50:00 2017 +0000"
      },
      "message": "Improve SchedulingLatencyVisitorARM on HCondition latency settings.\n\nTest: m test-art-host\nTest: m test-art-target\n\nChange-Id: Ieb42a8511036c86a9d99972dfd7d745f64559685\n"
    },
    {
      "commit": "753d613704b86d37e9e2286dde22ab3452908f66",
      "tree": "1de1336786add03acb4be78462bf5806395a7fb9",
      "parents": [
        "c73753f70ab4fc9a166637bee514b292f0fa0109"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jul 21 12:43:24 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jul 21 14:32:05 2017 +0100"
      },
      "message": "Update VMRuntime.preloadDexCaches() for hash-based arrays.\n\nDo not try to fill entries that already contain some\nresolved item to avoid unnecessary work. We do not know\nwhich of the conflicting items may be needed later.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nTest: Nexus 6P boot.\nBug: 30627598\nBug: 63892794\nChange-Id: Ie52f4455da544c1a3d2a61660c14c13c488c3fd7\n"
    },
    {
      "commit": "c73753f70ab4fc9a166637bee514b292f0fa0109",
      "tree": "a464e300d44b5a3eca10cb00cc42be7c1ab9da96",
      "parents": [
        "530a6b6902b50db43659757a6270b7d111d93a2c",
        "07bfbace6f835e6c748fd68ec7624992478b16c1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jul 21 09:41:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 21 09:41:58 2017 +0000"
      },
      "message": "Merge \"Hash-based DexCache methods array.\""
    },
    {
      "commit": "530a6b6902b50db43659757a6270b7d111d93a2c",
      "tree": "9e337952a5edc8766d953d70ab73cf8187cb8c5d",
      "parents": [
        "24ed4638f9309b16497dbbc91d38c7af23b817ae",
        "2687050dc64fa420ede2a9bd44550bd5af3e9c9a"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Jul 21 08:13:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 21 08:13:34 2017 +0000"
      },
      "message": "Merge \"ahat: Switch to a custom dominators implementation.\""
    },
    {
      "commit": "24ed4638f9309b16497dbbc91d38c7af23b817ae",
      "tree": "8da9a12d04e4845bcaf61cd8682c1dc561b3e2f6",
      "parents": [
        "fb25fbc60cf48933d8ce9bf4ba38148bd4adabac",
        "918dcea8eaa0af96c2e2c09f3aa940ac9e3b109d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 21 07:58:35 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 21 07:58:35 2017 +0000"
      },
      "message": "Merge \"Revert \"Avoid recording CHA class status for dex2oat\"\""
    },
    {
      "commit": "918dcea8eaa0af96c2e2c09f3aa940ac9e3b109d",
      "tree": "858805b6c3faa55761a34137295473c3e4ee80fe",
      "parents": [
        "79ad831d82f78494caa2f1b44ba24ad6f712565e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 21 07:58:14 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 21 07:58:14 2017 +0000"
      },
      "message": "Revert \"Avoid recording CHA class status for dex2oat\"\n\nTests fail\n\nBug: 63905544\nBug: 63467744\n\nThis reverts commit 79ad831d82f78494caa2f1b44ba24ad6f712565e.\n\nChange-Id: I14c4c4e857498c02dc5c15f4bd3248728ecf5ad5\n"
    },
    {
      "commit": "fb25fbc60cf48933d8ce9bf4ba38148bd4adabac",
      "tree": "4f4d78e8aba0ffb34486394e99aedfdae999d419",
      "parents": [
        "e5b1add0a3cfefcb0a7d80227bbb7983f4dee146",
        "79ad831d82f78494caa2f1b44ba24ad6f712565e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jul 21 02:31:50 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 21 02:31:50 2017 +0000"
      },
      "message": "Merge \"Avoid recording CHA class status for dex2oat\""
    },
    {
      "commit": "e5b1add0a3cfefcb0a7d80227bbb7983f4dee146",
      "tree": "8da9a12d04e4845bcaf61cd8682c1dc561b3e2f6",
      "parents": [
        "3b3df4d5d33cbfff345eb5f2eee09edd3c3da04e",
        "186d3219ca2ad450f227ac704282be735c202500"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Fri Jul 21 01:22:33 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 21 01:22:33 2017 +0000"
      },
      "message": "Merge \"Revert \"Set timeout for testrunner in go/ab\"\""
    },
    {
      "commit": "186d3219ca2ad450f227ac704282be735c202500",
      "tree": "5f9665e7b3299f911a2a305e17c5e678cdd51c49",
      "parents": [
        "ba0903b6f2c53befc1a33cce07e54e6fdb4f4d8a"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Fri Jul 21 01:20:57 2017 +0000"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Fri Jul 21 01:20:57 2017 +0000"
      },
      "message": "Revert \"Set timeout for testrunner in go/ab\"\n\nThis reverts commit ba0903b6f2c53befc1a33cce07e54e6fdb4f4d8a.\n\nChange-Id: Ia56e6d4a4a9187f495af2e5f1e9bd9b1e40d7a43\n"
    },
    {
      "commit": "3b3df4d5d33cbfff345eb5f2eee09edd3c3da04e",
      "tree": "458180de0325543f9a8755524ed48ff6f790fa95",
      "parents": [
        "011d99b34091daadea0ce2f0b786a9159054fc92",
        "ed3a357e6b28dbc00a60b72af8bb846775348172"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 21 01:09:45 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 21 01:09:45 2017 +0000"
      },
      "message": "Merge \"Make test 924 less flaky.\""
    },
    {
      "commit": "011d99b34091daadea0ce2f0b786a9159054fc92",
      "tree": "3af20a83535defed5b8504c337dedf85d8662093",
      "parents": [
        "5f2d800175df712f4a1a584575a5a913b8e22704",
        "fcc7d6728ee94e0847af0a628f04bde3bb19e4ce"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 21 00:59:45 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 21 00:59:45 2017 +0000"
      },
      "message": "Merge \"ART: Enable full sanitization under ASAN host by default\""
    },
    {
      "commit": "f60525793a1fd784ce7de82f18e7ad9de242c431",
      "tree": "5b63ffbc991a2b80ef8e779b975cf737c6d5ab3c",
      "parents": [
        "8fe41cf9c995d321da607fa45ad0e752444696a1"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Jul 20 16:47:45 2017 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Jul 20 17:03:35 2017 -0700"
      },
      "message": "Assume all x86/x86_64 hosts support at least sse4.x/popcount.\n\nNote: a small change with potentially big consequences\n      please review carefully\n\nRationale:\n\nSince all true Android x86/x86_64 devices and all x86/x86_64 hosts support\nat least sse4.x/popcount, ideally we would simply drop support for\nanything \"lower\". However, since the emulator running on x86/x86_64\nonly supports as much as the underlying host (a bad design to start\nwith!), we cannot do the full drop until emulator support includes\nsse4.x/popcount.\n\nThis CL is the next best thing to get much more SIMD testing \"out there\"\nIt assumes that all x86/x86_64 hosts support at least sse4.x/popcount.\nThis firstly implies that the ART runtime binary itself may exploit\nthese features. Secondly, this implies thatthe ART runtime passes these\nfeature flags to dex2oat and JIT by calling the method\nInstructionSetFeatures::FromCppDefines(). Since invoking dex2oat\ndirectly does not pick up these flags, cross-compiling from a\nx86/x86_64 host to a x86/x86_64 target should not be affected.\n\nBug: 63585550\n\nTest: test-art-host and test-art-target (FUGU)\n\nChange-Id: I93736cd7b781e4432f3cea036368e230af3d03d0\n"
    },
    {
      "commit": "79ad831d82f78494caa2f1b44ba24ad6f712565e",
      "tree": "c01e8562ab8b73c6d91a6de7697623ae73e88799",
      "parents": [
        "5f2d800175df712f4a1a584575a5a913b8e22704"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 20 13:20:00 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 20 16:36:19 2017 -0700"
      },
      "message": "Avoid recording CHA class status for dex2oat\n\nIn case dex2oat does class unloading, the CHA dependency map may have\ndangling ArtMethod pointers.\n\nTemporary fix until CHA supports class unloading when JIT is\ndisabled.\n\nBug: 63905544\nBug: 63467744\nTest: test-art-host\n\nChange-Id: I883d46273a7a9ecad5d5708122876cc3b177ecad\n"
    },
    {
      "commit": "ed3a357e6b28dbc00a60b72af8bb846775348172",
      "tree": "ee94b390cabe28db2bc13f5e6d900a666e39d8a4",
      "parents": [
        "e8f48da635c4d07bbe431e5819da8e1fad91a8ef"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 20 11:42:12 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 20 22:04:36 2017 +0000"
      },
      "message": "Make test 924 less flaky.\n\nGetThreadState on threads blocked on monitors can be affected by GC\nand other internals. This is because internal suspension of threads\nmarks them as Runnable. To make this test not observe this as much we\nmake it call GetThreadState multiple times and use the most common\nresult as the threads current state.\n\nBug: 62117833\nBug: 63903050\nTest: stress --cpu 64 \u0026\n      while ./test/run-test --host 924; do ; done\n\nChange-Id: Iaa38cb58386416a72a6bb3c26ed90f4b8b623d1b\n"
    },
    {
      "commit": "5f2d800175df712f4a1a584575a5a913b8e22704",
      "tree": "858805b6c3faa55761a34137295473c3e4ee80fe",
      "parents": [
        "8fe41cf9c995d321da607fa45ad0e752444696a1",
        "1194244cda63f442b06b18f8246e079efa658846"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 20 20:06:07 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 20 20:06:07 2017 +0000"
      },
      "message": "Merge \"tools: Do not pass \"\u0026\u003e\" to dalvikvm when running art --profile\""
    },
    {
      "commit": "8fe41cf9c995d321da607fa45ad0e752444696a1",
      "tree": "1f139bce3fc04aa2611a52649b0460ae651fe81c",
      "parents": [
        "fb032a78e440788d5a440a591291b3d167b3c8ea",
        "ba0903b6f2c53befc1a33cce07e54e6fdb4f4d8a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 20 19:34:43 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 20 19:34:43 2017 +0000"
      },
      "message": "Merge \"Set timeout for testrunner in go/ab\""
    },
    {
      "commit": "fb032a78e440788d5a440a591291b3d167b3c8ea",
      "tree": "ca62323da4b2b45d92589b649c5cc2ea096e137c",
      "parents": [
        "e1f602e58f9d2b0bc0c97e651df474c001e40dab",
        "0f414edaa2584bbacdab4d2f129598b9d723b895"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Jul 20 19:09:44 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 20 19:09:44 2017 +0000"
      },
      "message": "Merge \"Added a new mutator called RegisterClobber.\""
    },
    {
      "commit": "e1f602e58f9d2b0bc0c97e651df474c001e40dab",
      "tree": "56720f1d04e69aceb9285183bd14b7326ae37826",
      "parents": [
        "a9894d24088ed066aa534ba7c157ab2f1e11cd71",
        "5354af9d047429b989bf42a4db2f8390cc3467e8"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Jul 20 19:07:46 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 20 19:07:46 2017 +0000"
      },
      "message": "Merge \"Refined HasAtLeast() for x86 and x86_64.\""
    },
    {
      "commit": "a9894d24088ed066aa534ba7c157ab2f1e11cd71",
      "tree": "6d72affd2c3fba3d9713f34d11e13aceddd77d91",
      "parents": [
        "2f1d924e9cd34d081d6c37332e4e8f0f0d191b85",
        "e01b6f674a865a3aef7d66cd91a2d2e226587b50"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 20 18:31:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 20 18:31:23 2017 +0000"
      },
      "message": "Merge \"Move IsVeryLarge check before we create verification results\""
    },
    {
      "commit": "1194244cda63f442b06b18f8246e079efa658846",
      "tree": "d821f1d7ddeacc7fce2ded5bc85a596bf223a5fb",
      "parents": [
        "331f4c4e287791611733120c1a1c2afd55ecdd65"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jul 20 11:08:34 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jul 20 11:10:16 2017 -0700"
      },
      "message": "tools: Do not pass \"\u0026\u003e\" to dalvikvm when running art --profile\n\nPreviously eval would remove the \"\u0026\u003e\" and this would do the right thing,\nbut we are no longer using eval.\n\nThis also fixes art-profile-cc runs on go/lem.\n\nTest: art --profile -cp $PATH_TO_GOLEM_GCLIENT/golem4/generated/benchmarks.dex benchmarks.MicroMethodHandles.java.MicroMethodHandles\nBug: 63892541\nChange-Id: I31fccc5bfdecc22077c4bcc91e7328641c376ca4\n"
    },
    {
      "commit": "ba0903b6f2c53befc1a33cce07e54e6fdb4f4d8a",
      "tree": "477d605ac5e26b3cecfdabf82f16b0af8a27a158",
      "parents": [
        "2f0ac4fb4486e7d9e5c1545d45a2b9b818a80dc3"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Mon Jul 17 17:45:36 2017 -0700"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Thu Jul 20 17:55:59 2017 +0000"
      },
      "message": "Set timeout for testrunner in go/ab\n\nWith this, we will be able to capture timing info of the tests.\n\nTest: ./art/test/testrunner/testrunner.py\nChange-Id: I57131c8e02f5ac92759a9c4977c2ca61b15b43e1\n"
    },
    {
      "commit": "6ee332cc58d602bb7f16513795dc32568b176efa",
      "tree": "60bd28decf56445fff6bdf0bdff4e25b84bb7237",
      "parents": [
        "e8f48da635c4d07bbe431e5819da8e1fad91a8ef"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 20 10:04:11 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 20 10:31:41 2017 -0700"
      },
      "message": "Ensure that we don\u0027t overwrite suspension target thread\n\nThanks to Ivan Maidanski for noticing this issue.\n\nContributed-By: Ivan Maidanski \u003ci.maidanski@samsung.com\u003e\nTest: ./test.py --host -j40\nChange-Id: I826e3770645ecaedd8a4c5e5201747010ddcf550\n"
    },
    {
      "commit": "2f1d924e9cd34d081d6c37332e4e8f0f0d191b85",
      "tree": "55aa28335f4056eb0d09871517e02682d398c93a",
      "parents": [
        "331f4c4e287791611733120c1a1c2afd55ecdd65",
        "3ecac070ad55d433bbcbe11e21f4b44ab178effe"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jul 20 17:11:37 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 20 17:11:37 2017 +0000"
      },
      "message": "Merge \"ARM64: JIT Code Cache maintenance\""
    },
    {
      "commit": "e01b6f674a865a3aef7d66cd91a2d2e226587b50",
      "tree": "1d99c6889746d829a86b375b3d88552f29461b7e",
      "parents": [
        "e8f48da635c4d07bbe431e5819da8e1fad91a8ef"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 19 16:55:04 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 20 09:36:26 2017 -0700"
      },
      "message": "Move IsVeryLarge check before we create verification results\n\nOtherwise we can end up creating verification results when they are\nnot actually needed (if the compiler filter was \u003e\u003d quicken).\n\nBug: 63467744\nTest: test-art-host\nChange-Id: Ied2a12e0e4c2010f3f660e278c3a5111545ba251\n"
    },
    {
      "commit": "07bfbace6f835e6c748fd68ec7624992478b16c1",
      "tree": "5d094a00fbc90455bd9b53e042cf8b4fe8433462",
      "parents": [
        "ba118827465d12177f3996e50133960087b1c916"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 06 14:55:02 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 20 16:33:00 2017 +0100"
      },
      "message": "Hash-based DexCache methods array.\n\nTotal boot*.art size for aosp_angler-userdebug:\n  - arm64:\n    - before: 11603968\n    - after: 10129408 (-1.4MiB, -12.7%)\n  - arm:\n    - before: 8626176\n    - after: 7888896 (-0.7MiB, -8.5%)\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nTest: Nexus 6P boots.\nTest: testrunner.py --target\nTest: Build aosp_mips64-eng\nBug: 30627598\nChange-Id: I7f858605de5f074cbd7f0d9c4c072fbd44aee28f\n"
    },
    {
      "commit": "3ecac070ad55d433bbcbe11e21f4b44ab178effe",
      "tree": "565803b40b7f8be3483c502e1bc6809974c4afee",
      "parents": [
        "24f4f7956edeffb1ae41809e09f14b6d5e7875c8"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jul 20 15:28:44 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jul 20 16:22:47 2017 +0100"
      },
      "message": "ARM64: JIT Code Cache maintenance\n\nCache maintenance operations on ARM64 can cause segmentation faults if\naddresses are not backed by physical RAM. Some Linux kernel verions\nhave a bug that exposes these faults to user-land which crashes\nART. Some of the test devices used by the ART buildbots have this\nissue.\n\nThis CL explicitly faults in memory relevant addresses before\nperforming cache maintenance operations.\n\nTest: art/test.py --target --64 --r\nChange-Id: Id7390c14f75c13b3fbbbbb742afeb9ffef9a3801\n"
    },
    {
      "commit": "331f4c4e287791611733120c1a1c2afd55ecdd65",
      "tree": "1fcf7810c6c8e2df8b6191bb14a69084f3c7cf11",
      "parents": [
        "13c8343a3394414c90f2fcd1e8efff70e7d2387e",
        "ba118827465d12177f3996e50133960087b1c916"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 20 14:09:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 20 14:09:32 2017 +0000"
      },
      "message": "Merge \"ART: Change method lookup to be more consistent to JLS and the RI.\""
    },
    {
      "commit": "ba118827465d12177f3996e50133960087b1c916",
      "tree": "f39728cdafc7810004d51c0bef2728b98993daa9",
      "parents": [
        "64a102dde8c5daad83b991710decb418ce43aac5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 12 15:41:56 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 20 13:35:06 2017 +0100"
      },
      "message": "ART: Change method lookup to be more consistent to JLS and the RI.\n\nThe method lookup for different invoke types was previously\nwidely different and didn\u0027t work well with the dex cache\nmethod array where we have only a single slot for each\nMethodId. The new behavior is to perform the same lookup for\nall cases, distinguishing only between interface and\nnon-interface referencing class, and to further align the\nbehavior with the JLS and the RI. Where the JLS conflicts\nwith the RI, we follow the JLS semantics.\n\nThe new lookup for class methods first searches the methods\ndeclared in the superclass chain (ignoring \"copied\" methods)\nand only then looks in the \"copied\" methods. If the search\nin the superclass chain finds a method that has not been\ninherited (i.e. either a private method or a package-access\nmethod where one of the classes in the chain does not belong\nto the same package, see JLS 8.4.8), we still search the\n\"copied\" methods as there may actually be a method inherited\nfrom an interface. This follows the JLS semantics where\ninherited methods are included in the search (JLS 15.12.2.1)\nbut conflicts with the RI where the private or\npackage-access method takes precedence over methods\ninherited from interfaces.\n\nNote that this search can find an accessible method that is\nnot inherited by the qualifying type, either for a package\naccess method when the referrer is in the same package but\nthe qualifying type is in another package, or for a private\nmethod where the referrer is in the same class but the\nqualifying type is actually a subclass. For the moment we\nallow such calls and we shall consider whether to throw\nan IncompatibleClassChangeError in this situation in future\nto comply with JLS 15.12.4.3.\n\nThe new lookup for interface methods searches the interface\nclass, then all the superinterfaces and then the\njava.lang.Object class, see implicitly declared methods in\ninterfaces, JLS 9.2. The search for the maximally-specific\nnon-abstract superinterface method is not yet implemented,\nbut the difference should be difficult to observe as the\nusual subsequent call to FindVirtualMethodForInterface()\nshould yield the same result for any matching method.\n\nThe new test 162-method-idx-clash exposes several cases\nwhere we previously completely messed up due to the effects\nof the DexCache, or where we were out of line with the RI.\nIt also tests a case where the JLS and the RI disagree and\nwe follow the JLS.\n\nTest: art/test/run-test --host --jvm 162-method-resolution\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nTest: testrunner.py --host --interp-ac\nTest: Nexus 6P boots.\nTest: testrunner.py --target\nBug: 62855082\nBug: 30627598\nChange-Id: If450c8cff2751369011d649c25d28a482a2c61a3\n"
    },
    {
      "commit": "13c8343a3394414c90f2fcd1e8efff70e7d2387e",
      "tree": "c71c2e5775fe82242034c00d0a5c69c4116169bd",
      "parents": [
        "3579eb29f88a9fe4040e4d212e0acaa2e0690946",
        "4147fcc43c2ee019a06e55384985e3eaf82dcb8c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 20 11:32:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 20 11:32:20 2017 +0000"
      },
      "message": "Merge \"MIPS: Reduce Baker read barrier code size overhead\""
    },
    {
      "commit": "3579eb29f88a9fe4040e4d212e0acaa2e0690946",
      "tree": "4b732d4f9aed44e97066b8277a4880d6cbe8e081",
      "parents": [
        "24f4f7956edeffb1ae41809e09f14b6d5e7875c8",
        "420ee30f4c0f8a5bb6048df4fa27e5432ded893b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 20 10:32:35 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 20 10:32:35 2017 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Merge (un)signed extensions and integer additions\""
    },
    {
      "commit": "b43b2d8b8ad78bc02924b65f5463418c7aa76881",
      "tree": "7712cf16e48c5b300655b9759710677b40850cfe",
      "parents": [
        "d44c0d8c7f96644f8176e493de2fbde3eb198bb4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jul 18 17:46:38 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 20 10:53:01 2017 +0100"
      },
      "message": "Throw VerifyError when trying to extend a final class.\n\nComply with JLS 13.4.2. Previously we were throwing ICCE.\n\nTest: Added another test to 066-mismatched-super.\nTest: testrunner.py --host\nBug: 63754965\nChange-Id: I5ceb9c67df99c5135436f6facb387fdb8f252b81\n"
    },
    {
      "commit": "2687050dc64fa420ede2a9bd44550bd5af3e9c9a",
      "tree": "88687ed5f59b1cad0d3e331edc9fad1b7bd5aec4",
      "parents": [
        "e4a19f603a0e112d93b17d7e483bf9e8c9caa27b"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Jul 04 15:55:19 2017 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jul 20 09:31:22 2017 +0100"
      },
      "message": "ahat: Switch to a custom dominators implementation.\n\nRather than relying on perflib\u0027s dominators computation, use our own.\nBenefits:\n* Over 25% improvement in heap dump processing performance, improving\n  ahat startup time by around 1 to 3 seconds on typical Android heap\n  dumps.\n* Provides more flexibility if we want to tweak the dominators\n  computation in the future, for example by treating different\n  soft/weak/finalizer differently or additional performance tuning.\n* Opens the door to future performance optimizations based around\n  eliminating the impedance mismatch between perflib and ahat\u0027s\n  internal representations of the heap dump.\n* Opens the door to possible future features that involve computing\n  dominators of non-heap objects, such as dex code items.\n* Avoids a bug in perflib\u0027s dominators computation when there are\n  duplicate class or instance dumps.\n\nAlso included in this change:\n* Include \"class\" in toString for class objects.\n* Compute Site ObjectsInfos bottom-up in a separate pass.\n\nBug: 34884751\nBug: 33957507\nTest: m ahat-test, with new tests for incoming references and dominators.\nTest: Confirm dominator parity with perflib\u0027s dominators computation on\n      a number of real heap dumps.\nTest: Visually compare information reported for overview, rooted, sites,\n      object, and objects pages on a real heap dump against ahat-1.2.\n\nChange-Id: I4cf8fb177a0aaaee07ad6fddbc574682f91cc0f7\n"
    },
    {
      "commit": "24f4f7956edeffb1ae41809e09f14b6d5e7875c8",
      "tree": "f6d3a32a33dadef02fc5e9b2b61c83399889f0e2",
      "parents": [
        "4d0371a271ff5ae9d0edb317898b2b85cd10fae5",
        "f88b5c0bdf829cba1b3d30d2e428ba165522efeb"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jul 20 03:45:05 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 20 03:45:05 2017 +0000"
      },
      "message": "Merge \"Use the rel_pc instead of computing it.\""
    },
    {
      "commit": "4d0371a271ff5ae9d0edb317898b2b85cd10fae5",
      "tree": "c44a13ae97e6511a11cffc5bb21652abbaf4acd0",
      "parents": [
        "ffb6d49090846d2e71c755f01c7ce8a15ef0a634",
        "00e475ca4dd6697d323f2c2f96d74c7ea9dff861"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 20 03:21:35 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 20 03:21:35 2017 +0000"
      },
      "message": "Merge \"Only update declared methods during class redefinition.\""
    },
    {
      "commit": "ffb6d49090846d2e71c755f01c7ce8a15ef0a634",
      "tree": "3d108011fe46567110501bbc043d935ee6dd261c",
      "parents": [
        "1b1cac278aaee9960ecf1cb2b1f85412c52d4c3e",
        "7897cecf822babe9dd1f379b73a7387c30d31db8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 20 03:13:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 20 03:13:36 2017 +0000"
      },
      "message": "Merge \"ART: Refactor JIT stress mode a runtime debug flag\""
    },
    {
      "commit": "1b1cac278aaee9960ecf1cb2b1f85412c52d4c3e",
      "tree": "9e6db66aa5b819278535af02cd3254331e7fb412",
      "parents": [
        "1c959aa9b9fbc1a18871fbae7ccc9c7eb3c59e7e",
        "56bd56262320a37c1823f28d9f8bd087da2944be"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 20 02:42:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 20 02:42:55 2017 +0000"
      },
      "message": "Merge \"dalvikvm.cc: use proper nativehelper headers\""
    },
    {
      "commit": "1c959aa9b9fbc1a18871fbae7ccc9c7eb3c59e7e",
      "tree": "0cf0495d1e98237138db384754d7657c8b4b56eb",
      "parents": [
        "e8f48da635c4d07bbe431e5819da8e1fad91a8ef",
        "7dc46cf607a1027d0c6382589c11d5c10f8c81ed"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 20 00:54:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 20 00:54:06 2017 +0000"
      },
      "message": "Merge \"testrunner: Don\u0027t override env defaults\""
    },
    {
      "commit": "00e475ca4dd6697d323f2c2f96d74c7ea9dff861",
      "tree": "36fb992769d17d9a8cc2ec3246363ab4529ad484",
      "parents": [
        "e8f48da635c4d07bbe431e5819da8e1fad91a8ef"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 19 16:36:23 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 19 17:50:20 2017 -0700"
      },
      "message": "Only update declared methods during class redefinition.\n\nWe were attempting to update the dex file indexes of copied methods\nduring class redefinition. Since these methods are not in the\nredefined (or even original, necessarily) dex file this causes CHECK\nfailures.\n\nBug: 63864937\nTest: ./test.py --host -j50\nChange-Id: Ieb3a7bde42ef9da651810094e7b8143e2dba9f61\n"
    },
    {
      "commit": "7897cecf822babe9dd1f379b73a7387c30d31db8",
      "tree": "7ed2963c4b048fe27725acd6b16f77d530b189e3",
      "parents": [
        "e8f48da635c4d07bbe431e5819da8e1fad91a8ef"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 19 16:28:59 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 19 17:30:51 2017 -0700"
      },
      "message": "ART: Refactor JIT stress mode a runtime debug flag\n\nDo not use a constexpr default compilation threshold for the JIT.\nInstead use a tri-state that distinguishes non-debug, fast-debug\nand slow-debug modes.\n\nBug: 35644369\nTest: m test-art-host\nChange-Id: I3f8d71126af6b7f6b6aaa7a59cf0a42e5ee3fe01\n"
    },
    {
      "commit": "fcc7d6728ee94e0847af0a628f04bde3bb19e4ce",
      "tree": "ee97028b4125cd734b3f4fc98af543e46d67b979",
      "parents": [
        "57fe2725629681c8a68f6ba5b58d87304ca3f0b1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 19 10:30:22 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 19 17:06:01 2017 -0700"
      },
      "message": "ART: Enable full sanitization under ASAN host by default\n\nEnable ART_ENABLE_ADDRESS_SANITIZER by default when SANITIZE_HOST\nis set.\n\nBug: 31098551\nTest: art/test/testrunner/run_build_test_target.py art-gtest-asan\nTest: art/test/testrunner/run_build_test_target.py art-asan\nChange-Id: I3478113b5056b0197ead931312c0201483162da5\n"
    },
    {
      "commit": "0f414edaa2584bbacdab4d2f129598b9d723b895",
      "tree": "58b6d6b2fefd233deda6683de0906cd2dfe9b849",
      "parents": [
        "bacafb19fa654fb6c7ad610305bed45c2e4682e8"
      ],
      "author": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Tue Jul 18 16:10:51 2017 -0700"
      },
      "committer": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Wed Jul 19 15:30:05 2017 -0700"
      },
      "message": "Added a new mutator called RegisterClobber.\n\nA mutator which changes the values of all registers to random integer.\n\nTest: Ran with dexfuzz until the mutation showed up. Used Dexdump2 to\nfind the bytecode.\nChange-Id: I12579e1476ac69ad42561ba3b2c28701664cd5ae\n"
    },
    {
      "commit": "4147fcc43c2ee019a06e55384985e3eaf82dcb8c",
      "tree": "11ec92efbfddf7736bbc74ed35fcfb3756bfcfb0",
      "parents": [
        "e8f48da635c4d07bbe431e5819da8e1fad91a8ef"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Sat Jun 17 19:57:27 2017 -0700"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Wed Jul 19 15:03:10 2017 -0700"
      },
      "message": "MIPS: Reduce Baker read barrier code size overhead\n\nTest: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU\nTest: test-art-target-gtest\nTest: testrunner.py --target --optimizing\nTest: same tests as above on CI20\nTest: booted MIPS32 and MIPS64 in QEMU with poisoning\n      in configurations:\n      - with Baker read barrier thunks\n      - without Baker read barrier thunks\n      - ART_READ_BARRIER_TYPE\u003dTABLELOOKUP\n\nChange-Id: I79f320bf8862a04215c76cfeff3118ebc87f7ef2\n"
    },
    {
      "commit": "f88b5c0bdf829cba1b3d30d2e428ba165522efeb",
      "tree": "2b503d6bdd5cfc6f705c00296a5284d6dde9a22c",
      "parents": [
        "6c13ce8b4ccdb6127c4428cf8b2c8261dccced20"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 19 14:18:33 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 19 14:18:33 2017 -0700"
      },
      "message": "Use the rel_pc instead of computing it.\n\nBug: 23762183\n\nTest: Compiles.\nChange-Id: I5fe96c444bed89b4b9d3e96ffc37555678428be1\n"
    },
    {
      "commit": "e8f48da635c4d07bbe431e5819da8e1fad91a8ef",
      "tree": "144e5b35cfc54ec7b745ef71439ba505b13789f3",
      "parents": [
        "187ff4576847ab54db7e2eea6e6a55ccf7d1c40a",
        "a308a327884920cbb1e3e62964c4b5a01c29af8c"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jul 19 21:12:18 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 19 21:12:18 2017 +0000"
      },
      "message": "Merge \"Change kMultiDexSeparator from \u0027:\u0027 to \u0027!\u0027\""
    },
    {
      "commit": "7dc46cf607a1027d0c6382589c11d5c10f8c81ed",
      "tree": "a1d1d24c17066e9fdf64ad8fdb2cba2d23a7db02",
      "parents": [
        "6c13ce8b4ccdb6127c4428cf8b2c8261dccced20"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jul 19 13:48:31 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jul 19 14:06:35 2017 -0700"
      },
      "message": "testrunner: Don\u0027t override env defaults\n\nAllow customizing the different binaries used by testrunner, for example\n\nDX\u003dsome-other-tool testrunner.py\n\nwill now use a custom DX. Previously it was hardcoded to always use\nDX from HOST_OUT_INTERMEDIATES/dx.\n\nTest: JACK\u003decho art/test/testrunner.py\nChange-Id: I76133493767746561b44ffc69c5ef399bd8f9941\n"
    },
    {
      "commit": "187ff4576847ab54db7e2eea6e6a55ccf7d1c40a",
      "tree": "7fecc1f7d9c662d32233a2399516072c23ec0392",
      "parents": [
        "6c13ce8b4ccdb6127c4428cf8b2c8261dccced20",
        "1a088d440a3fac4e477a11af68adae9dcd3afd00"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 19 20:50:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 19 20:50:23 2017 +0000"
      },
      "message": "Merge \"Use AtomicDexRefMap for compiled classes\""
    },
    {
      "commit": "5354af9d047429b989bf42a4db2f8390cc3467e8",
      "tree": "25e0aaa3dcf4da018ad9bff7113ce6d66af6e937",
      "parents": [
        "6f7b23acfccd7ec0f13ad51747bd60c682655025"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Jul 19 11:13:27 2017 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Jul 19 11:17:20 2017 -0700"
      },
      "message": "Refined HasAtLeast() for x86 and x86_64.\n\nRationale:\nThis refinement is needed once we start passing in more\narchitecture specific flags on x86_* builds. This CL\nalso makes the arm version a bit more readable.\n\nTest: instruction_set_features_test\nBug: 63585550\n\nChange-Id: Ia6fe47654141feaf1899da225abaee8a5ea8249a\n"
    },
    {
      "commit": "56bd56262320a37c1823f28d9f8bd087da2944be",
      "tree": "f4c69e6ee512d1dc425c6fe90403c8b0faff23b9",
      "parents": [
        "6c13ce8b4ccdb6127c4428cf8b2c8261dccced20"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jul 19 10:31:46 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jul 19 10:31:46 2017 -0700"
      },
      "message": "dalvikvm.cc: use proper nativehelper headers\n\nlibnativehelper exports headers under nativehelper. These were\navailable before incorrectly as global headers in order to give\naccess to jni.h.\n\nTest: modules using dalvikvm.cc find headers\nBug: 63762847\nChange-Id: I24776efb77b7d86d3b9d2ef78bc17bffe2e02f33\n"
    },
    {
      "commit": "6c13ce8b4ccdb6127c4428cf8b2c8261dccced20",
      "tree": "8ab864e63e3c3a0a0b82bd3c67f3144bff231539",
      "parents": [
        "dcc6617d48692ba7bf19426d767e9d094050fdb4",
        "79400aa5124f89daec47d3cf7c6c38030547a770"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 19 17:24:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 19 17:24:23 2017 +0000"
      },
      "message": "Merge \"Whitelist user_code_suspension_lock_ for ConditionVariable wait\""
    },
    {
      "commit": "1a088d440a3fac4e477a11af68adae9dcd3afd00",
      "tree": "fbec331c6c0274af132bb2df38b209477ee9224f",
      "parents": [
        "57fe2725629681c8a68f6ba5b58d87304ca3f0b1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jul 18 11:43:57 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 19 09:55:34 2017 -0700"
      },
      "message": "Use AtomicDexRefMap for compiled classes\n\nChanged compiled_classes_ to use an AtomicDexRefMap and deleted\nthe lock since it was no longer necessary.\n\nThis map is more compact than a SafeMap. RAM numbers for verify\nfilter on a large app (host arm compile):\n\nMaximum resident set size (kbytes): 250012-\u003e243472\nnative alloc: 19284128B-\u003e13951600B\n\nBug: 6346774\nTest: test-art-host\nChange-Id: Iace66945b49433f353603a713593c53be6893cc5\n"
    },
    {
      "commit": "dcc6617d48692ba7bf19426d767e9d094050fdb4",
      "tree": "d14aee12364040ff79acec4f92693863a47cb226",
      "parents": [
        "57fe2725629681c8a68f6ba5b58d87304ca3f0b1",
        "520dadff2190a5bcdb48838dbcccddc8fbbf0c97"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 19 16:41:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 19 16:41:41 2017 +0000"
      },
      "message": "Merge \"Unbreak Odroid measurements.\""
    },
    {
      "commit": "57fe2725629681c8a68f6ba5b58d87304ca3f0b1",
      "tree": "96b7ddbd95cb5a57839473b443c2dc48b3eb9154",
      "parents": [
        "42cd8e7ca4ed38a2cefd7a695c54c77036cb62e4",
        "01db5f78f627cc64f80b0c0a4eedd0a3dc8b46ca"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 19 15:59:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 19 15:59:14 2017 +0000"
      },
      "message": "Merge \"Pass the logger to the JIT compiler.\""
    },
    {
      "commit": "42cd8e7ca4ed38a2cefd7a695c54c77036cb62e4",
      "tree": "d37095478ab3231e66c9de82173343060856a171",
      "parents": [
        "fce06454f19df94f6992c0f03c0b9acf7bd395d4",
        "3cfe3fcfbd800938d7280cc3343e86a034ca25a4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 19 15:49:11 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 19 15:49:11 2017 +0000"
      },
      "message": "Merge \"Revert \"Timeout the test run before go/ab timeout to capture test info\"\""
    },
    {
      "commit": "79400aa5124f89daec47d3cf7c6c38030547a770",
      "tree": "280b6f2c77ce4a76bd8f196579499064fc19d711",
      "parents": [
        "527f18fcebb8f5799bad483b8164fe35ce3688f2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 18 15:34:21 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 19 08:35:34 2017 -0700"
      },
      "message": "Whitelist user_code_suspension_lock_ for ConditionVariable wait\n\nConditionVariable::Wait checks to make sure the current lock status is\nsane. We need to whitelist the user_code_suspension_lock_ for being\nheld through the wait when it is a threads resume_cond_ since this\nlock needs to be held through the entirety of user-code suspension.\n\nWe also add a check to make sure the thread will not deadlock.\n\nBug: 63813338\nTest: stress --cpu 64 \u0026 \\\n      while ./test/run-test --host --jit 1904; do; done\n\nChange-Id: I24577b66629279106de328aad1afd191725c94fb\n"
    },
    {
      "commit": "3cfe3fcfbd800938d7280cc3343e86a034ca25a4",
      "tree": "5f9665e7b3299f911a2a305e17c5e678cdd51c49",
      "parents": [
        "ef9f3cb8aa5f2cfc7318fdbb83bb413120cc65b0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 19 15:34:10 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 19 15:34:10 2017 +0000"
      },
      "message": "Revert \"Timeout the test run before go/ab timeout to capture test info\"\n\nNeeds go/art-buildbot fixes, for example:\nhttps://build.chromium.org/p/client.art/builders/bullhead-armv8-gcstress-debug/builds/42/steps/test%20optimizing/logs/stdio\n\nThe timings look odd too: all the tests pass in a few seconds. Or maybe we don\u0027t print / it\u0027s hard to find the one that is taking a long time?\n\nThis reverts commit ef9f3cb8aa5f2cfc7318fdbb83bb413120cc65b0.\n\nChange-Id: I34cb46c5c5e2dacc0c6414d5ea1003ffa1d22101\n"
    },
    {
      "commit": "520dadff2190a5bcdb48838dbcccddc8fbbf0c97",
      "tree": "6e4eda47f0e258bf807b5ce0a62cb063b9f0407c",
      "parents": [
        "c5b1b067fb91c10c75dd0e6dbfd91bebe74347d5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 19 15:33:11 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 19 15:34:09 2017 +0100"
      },
      "message": "Unbreak Odroid measurements.\n\nOdroid run Linux/target, which doesn\u0027t support ashmem.\n\nTest: test.py\nChange-Id: Icd92d2a87ea9987c9580037ef195f6e63641283d\n"
    },
    {
      "commit": "fce06454f19df94f6992c0f03c0b9acf7bd395d4",
      "tree": "32775c9d2c16b91a2899dab318d54d9ad6e3c5b9",
      "parents": [
        "c5b1b067fb91c10c75dd0e6dbfd91bebe74347d5",
        "43ce5f82dae4dc5eebcf40e54b81ccd96eb5fba3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 19 14:32:35 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 19 14:32:35 2017 +0000"
      },
      "message": "Merge \"Change flush order in JIT code cache\""
    },
    {
      "commit": "01db5f78f627cc64f80b0c0a4eedd0a3dc8b46ca",
      "tree": "d1ee9267408e2f4d777d28bfc3f65c480f7ecd3f",
      "parents": [
        "c5b1b067fb91c10c75dd0e6dbfd91bebe74347d5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 19 15:05:49 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 19 15:05:49 2017 +0100"
      },
      "message": "Pass the logger to the JIT compiler.\n\nTo avoid effects of concurrent method entrypoints update,\njust pass the logger to the JIT compiler, which will invoke\nit directly with the pointer to the newly allocated code.\n\nTest: test.py --trace\nChange-Id: I5fbcd7cbc948b7d46c98c1545d6e530fb1190602\n"
    },
    {
      "commit": "43ce5f82dae4dc5eebcf40e54b81ccd96eb5fba3",
      "tree": "32775c9d2c16b91a2899dab318d54d9ad6e3c5b9",
      "parents": [
        "c5b1b067fb91c10c75dd0e6dbfd91bebe74347d5"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jul 19 10:34:27 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jul 19 13:26:02 2017 +0100"
      },
      "message": "Change flush order in JIT code cache\n\nFlush the data cache before flushing the instruction when dual mapped.\n\nBug: 62356545\nTest: art/test.py -j4 --jit --64 -r --verbose -t test-art-target-run-test-debug-prebuild-jit-no-relocate-ntrace-gcstress-checkjni-picimage-npictest-ndebuggable-no-jvmti-916-obsolete-jit64\nTest: Using an Android N image and testing on device from master-art\nChange-Id: Ia73da7449cc3a40be0128825233086924eca90a5\n"
    },
    {
      "commit": "c5b1b067fb91c10c75dd0e6dbfd91bebe74347d5",
      "tree": "09f04931241192a82e8a63893e9619d7195d6c8b",
      "parents": [
        "4ce0f9a270b4c5bceb805f396daafe0a68e20e39",
        "e431e2758d62cf56f7f347f5a8c9d79e41b6dcd7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 19 06:12:57 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 19 06:12:57 2017 +0000"
      },
      "message": "Merge \"art: use proper nativehelper headers\""
    },
    {
      "commit": "4ce0f9a270b4c5bceb805f396daafe0a68e20e39",
      "tree": "4e8978a1550d57c48803ad7bbc5c5a207986d4cb",
      "parents": [
        "bacafb19fa654fb6c7ad610305bed45c2e4682e8",
        "41acdc1df1bceaa462d134b8ce30419d301e76d7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 19 02:46:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 19 02:46:23 2017 +0000"
      },
      "message": "Merge \"Fix the default ownership of dex files in ClassLoaderContext\""
    },
    {
      "commit": "e431e2758d62cf56f7f347f5a8c9d79e41b6dcd7",
      "tree": "b8733533e2478069aabbdc3a34d0f40aff33e1b1",
      "parents": [
        "b98d384eb424ad7e1dc9816392ded33dce0e0372"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Jul 18 16:53:49 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Jul 18 18:25:55 2017 -0700"
      },
      "message": "art: use proper nativehelper headers\n\nlibnativeheader exports headers under nativeheader. These were\navailable before incorrectly as global headers in order to give\naccess to jni.h.\n\nTest: modules using art find headers\nBug: 63762847\nChange-Id: I5c820d677e94e07b2859e78610bc997fe51b41dc\n"
    },
    {
      "commit": "41acdc1df1bceaa462d134b8ce30419d301e76d7",
      "tree": "4e8978a1550d57c48803ad7bbc5c5a207986d4cb",
      "parents": [
        "bacafb19fa654fb6c7ad610305bed45c2e4682e8"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jul 18 17:45:32 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jul 18 17:48:36 2017 -0700"
      },
      "message": "Fix the default ownership of dex files in ClassLoaderContext\n\nBy default the context should have the ownership.\n\nTest: valgrind --leak-check\u003dfull\n../out/host/linux-x86/nativetest/art_runtime_tests/class_loader_context_test\nBug: 38138251\n\nChange-Id: I21ff048018abba61999b6025281c73fc9899cae0\n"
    },
    {
      "commit": "e4e812a917345a3cb9ac955c8a84f64dfc26b5d9",
      "tree": "bf830d83f8d7ade1d875903ed5d8529d706d3b11",
      "parents": [
        "2f0ac4fb4486e7d9e5c1545d45a2b9b818a80dc3"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Thu May 25 20:09:58 2017 -0700"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Wed Jul 19 00:15:56 2017 +0000"
      },
      "message": "Allow DexFile#getDexOptNeeded to check case when downgrading is required\n\nThe change in the API will allow comparison of compiler filter in case when\ndowngrade is required. Previously, it used to only consider cases of compiler\nfilter upgrades.\n\nTest: make \u0026 boot\nBug: 36598475\n(cherry-picked from commit cf3d122a9234414b7cd2aab340d1450f3e9da213)\n\nChange-Id: Ice292ef4f16c373297821c40e39987f3de914c67\n"
    },
    {
      "commit": "a308a327884920cbb1e3e62964c4b5a01c29af8c",
      "tree": "4bd09065c52f18685dc9e10d9eabdcdb29a51539",
      "parents": [
        "bacafb19fa654fb6c7ad610305bed45c2e4682e8"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jul 18 16:51:51 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jul 18 17:02:27 2017 -0700"
      },
      "message": "Change kMultiDexSeparator from \u0027:\u0027 to \u0027!\u0027\n\nThe \u0027:\u0027 separator is commonly used to separate class path elements. That\nmeans that we cannot easily encode multidex location in a classpath\nwithout complicating the parsing logic unnecessarily (e.g. when encoding\nclasspaths in the oat file).\n\nFor easy parsing and understanding kMultiDexSeparator and\nkClassPathSeparator should have different values. \u0027:\u0027 is a wide spread\nclasspath separator so this CL changes the value of kMultiDexSeparator to\n\u0027!\u0027 which is also commonly used to denote an object inside a given\ncontainer.\n\nTest: m test-art-host\nBug: 38138251\nChange-Id: I30995c553d9131478c6c071b27327df6d2de06a7\n"
    },
    {
      "commit": "bacafb19fa654fb6c7ad610305bed45c2e4682e8",
      "tree": "d1bb4f952fcf86aa9ff935cac6fcccea479f2488",
      "parents": [
        "b12d4322fc5c0f3e0b742b9b4f3098c8346dcd71",
        "4865712f12d79f994ef0c2dbc88216f742456809"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 18 23:30:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 18 23:30:38 2017 +0000"
      },
      "message": "Merge \"Changed isInvokeCallInst() to getDifferentInvokeCallOpcode().\""
    }
  ],
  "next": "b12d4322fc5c0f3e0b742b9b4f3098c8346dcd71"
}
