)]}'
{
  "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "ef9f3cb8aa5f2cfc7318fdbb83bb413120cc65b0",
      "tree": "8042921b24a35eedcf32f88626abc1df1b422b86",
      "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": "Tue Jul 18 21:50:16 2017 +0000"
      },
      "message": "Timeout the test run before go/ab timeout to capture test info\n\ngo/ab timeouts in 14500 secs. The testrunner will now have a global timeout\nto end all the test runs before go/ab timeout so to capture test info. It\nalso prints out time the duration for each test if timeout is hit.\n\nTest: ./art/test/testrunner/testrunner.py\nChange-Id: If29d2dbe69b8117d9ebf848c582451c0ad39711a\n"
    },
    {
      "commit": "420ee30f4c0f8a5bb6048df4fa27e5432ded893b",
      "tree": "fd72cba9ed09cf78e9377677fd144821fd9f6743",
      "parents": [
        "2f0ac4fb4486e7d9e5c1545d45a2b9b818a80dc3"
      ],
      "author": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Tue Feb 21 18:10:26 2017 +0000"
      },
      "committer": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Tue Jul 18 20:19:58 2017 +0100"
      },
      "message": "ARM: VIXL32: Merge (un)signed extensions and integer additions\n\nTest: m test-art-target-run-test-551-checker-shifter-operand\nChange-Id: I041e80e51bf0954b38ab20dfa9b14aa7f6d6c53b\n"
    },
    {
      "commit": "b02ba93fb8089ae70229c4e3e90478cb4a9e4668",
      "tree": "dee702cd8570b7993a13d34789ed5b819913ccc8",
      "parents": [
        "24ff0235ab631baccd49fb491197d86d1ef97279"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 13 15:53:54 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 18 13:28:00 2017 +0100"
      },
      "message": "Don\u0027t encode OatQuickMethodHeader for non-compiled methods.\n\nRequires changes to the quickening info format stored in vdex.\n\nLarge app:\n\nBefore\nodex size: 5.5MB\nvdex size: 48MB (49308168 bytes)\n\nAfter:\nodex size: 1.2MB -78%\nvdex size: 48MB (49701846 bytes) +1%\n\nbug: 62120170\nTest: test.py\nChange-Id: I5ae0b103dc57bdd17aa772f4e43db954d109fd44\n"
    },
    {
      "commit": "252eda65ae216ff36a4eca2195d1ec3b29612035",
      "tree": "7271fe4970e0b75dbec12958c28b8490f18165af",
      "parents": [
        "0d32f4eb356b7823ee39a09e62dfcb496a6cc049",
        "bb090c41e3d0694643c807ff3bf22982eb634ad9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 18 04:08:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 18 04:08:55 2017 +0000"
      },
      "message": "Merge \"Depend on dx binary directly\""
    },
    {
      "commit": "d317295ed07384c69d5890d6b17b80d57139a082",
      "tree": "7ef48ea60165f89c852bf957207c65c155d49026",
      "parents": [
        "71a8e5b25f0be5ab5bf0e1c73a9e5aabc3a23488",
        "0cb172874481f736c6b7c491dd621166cc25561b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 18 00:12:13 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 18 00:12:13 2017 +0000"
      },
      "message": "Merge \"Do superclass validation at compile time and log with new class status.\""
    },
    {
      "commit": "bb090c41e3d0694643c807ff3bf22982eb634ad9",
      "tree": "40d6bc1c829362f0a35bc1eec294741792a88120",
      "parents": [
        "a638954a75f28017ea8987a147f571c551c2f9e0"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 17 16:24:05 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 17 16:24:05 2017 -0700"
      },
      "message": "Depend on dx binary directly\n\nI5f265132690ad28b3139954fea44eb0c4a43393a changed $(DX) to be a java\ncommand line that runs java -jar dx.jar.  The rest of the test runner\nis going executing $(HOST_OUT_EXECUTABLES)/dx directly, so make it\ndepend on $(HOST_OUT_EXECUTABLES)/dx instead of $(DX).\n\nTest: art/test/testrunner/run_build_test_target.py -j110 art-jit-gcstress\nChange-Id: I520e2aae899e4be9c41822c8b2c74468f153d6f9\n"
    },
    {
      "commit": "0cb172874481f736c6b7c491dd621166cc25561b",
      "tree": "2408750b6e08c686b89cee5df0ddae736a775092",
      "parents": [
        "890045e5a768257d8def42827a09a516ebe3e07e"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Jul 12 14:51:49 2017 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Jul 17 14:09:56 2017 -0700"
      },
      "message": "Do superclass validation at compile time and log with new class status.\n\nTries to perform superclass validation for classes that are resolved,\nbut not initialized at runtime. If successful, saves the result in the\noat file with a new class status. At runtime, the superclass validation\ncan be skipped during class initialization, saving some time and\nreducing string accesses.\n\nResults show savings of 50kB PSS in maps on startup, with slight\ndecrease in startup time.\n\nMaps (average of 100 runs)\nBefore: dex 9941.3 odex 15159.8 total 25101.1 launch 908\nAfter: dex 9897.4 odex 15155.7 total 25053.1 launch 906.6\n\nBug: 63456114\nTest: mm test-art-host\nChange-Id: If67a4a49d61781b6d561c26118d7e0c6b9cc0d6f\n"
    },
    {
      "commit": "5fde01a13f5000d16fc8f5b96aa0d2f3623d1961",
      "tree": "1bd8c45a438e8d1906a8f9cfb017385addb54de3",
      "parents": [
        "890045e5a768257d8def42827a09a516ebe3e07e",
        "7d47d5d3feae4f4c856d67e8725bec17681237c6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jul 17 18:43:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 17 18:43:10 2017 +0000"
      },
      "message": "Merge \"Revert test changes for post startup methods change\""
    },
    {
      "commit": "7d47d5d3feae4f4c856d67e8725bec17681237c6",
      "tree": "e86a9fb7422069d97f705ef069d53a73639e2ad1",
      "parents": [
        "65d793bfa91085db5f84b6ee90a3dcdafcafed1b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jul 17 11:07:08 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jul 17 11:24:26 2017 -0700"
      },
      "message": "Revert test changes for post startup methods change\n\nTest is still flaky.\n\nBug: 63635729\nTest: test/run-test --host 595-profile-saving\n\nChange-Id: I77d40fcd033869e3f5396e6824255856276f5812\n"
    },
    {
      "commit": "d4472455580db696d0f211f8e6f7d99d78b3fa79",
      "tree": "be0c531588dc19c384b695e268fac074a87678d7",
      "parents": [
        "a3669adfaa84fbd184b5d672a958b6355656ce86",
        "42f16581dc7bf1bfebe505d061379643adbb4a33"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Jul 17 07:42:01 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 17 07:42:01 2017 +0000"
      },
      "message": "Merge \"Testing: Remove old run-all-tests script\""
    },
    {
      "commit": "092a4046ff7bd3d7e24bc77cecf3d1bb0aa52107",
      "tree": "966086d6f9b69f1a677110f2d3cd3b9f0491bc3d",
      "parents": [
        "5e7eb2faccf8f4a28e9fcda26053a5b388f2190a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 12 08:46:44 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jul 14 14:52:23 2017 -0700"
      },
      "message": "Ensure jvmti agents don\u0027t share ThreadLocalStorage\n\nBug: 63665647\nTest: ./test.py --host -j40\n\nChange-Id: Iea33cca5b708f60390b8c79462ca991363ad33a2\n"
    },
    {
      "commit": "5e7eb2faccf8f4a28e9fcda26053a5b388f2190a",
      "tree": "12b2936d445607d1bd7294d3f4a6ba19c27d8951",
      "parents": [
        "6e875347976b1f332731be775dfd066fda730085",
        "88fd720b6799184c8ad61e766a6d37af33ed30ef"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 14 15:13:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 14 15:13:41 2017 +0000"
      },
      "message": "Merge \"Add Jvmti Suspend/ResumeThread functions\""
    },
    {
      "commit": "6e875347976b1f332731be775dfd066fda730085",
      "tree": "2d7678f2350e322c710a49df70c59660569ab568",
      "parents": [
        "bac2bd1c2fbdd94f4d4dfe83d8451f655e875e36",
        "f8db2c3945e746fcbf307832ac2f7826d5ec178a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 14 14:03:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 14 14:03:40 2017 +0000"
      },
      "message": "Merge \"ART: Add support for constructor method handles\""
    },
    {
      "commit": "f8db2c3945e746fcbf307832ac2f7826d5ec178a",
      "tree": "fc579f67f17b2ccbb218889f2484ef6f5013da1c",
      "parents": [
        "c5515fd96887f70101640fddf9a3189ff936c08b"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jul 07 20:07:12 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jul 14 13:04:30 2017 +0100"
      },
      "message": "ART: Add support for constructor method handles\n\nAdd well known methods for MethodHandles.lookup() and\nMethodHandles.Lookup.findConstructor(). These are used to call the\nJava code that create a constructor transform.\n\nSeparate method handle resolution paths for fields and methods in the\nclass linker.\n\nUpdate test 952-invoke-custom-kinds to include a constructor method\nhandle. The test classes now match dx/tests/135-invoke-custom.\n\nBug: 62774190\nTest: Update 952-invoke-custom-kinds\nChange-Id: I9a007254a856422c24397c4df3ef3dfbf6bdd840\n"
    },
    {
      "commit": "06410c093de2b8a21bdbd7dfd9ce324fd4e95c3f",
      "tree": "0dfcfaa8955bdddf1246b1fdb1463f154f1d5def",
      "parents": [
        "c5515fd96887f70101640fddf9a3189ff936c08b",
        "4014d84dde88948b7842ead4cf8f5733d6d46e84"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 14 09:06:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 14 09:06:55 2017 +0000"
      },
      "message": "Merge \"test: Add support for jasmin\""
    },
    {
      "commit": "48a951ba629fa374e36a48cde016db10eecd6a88",
      "tree": "a4e2955d7beb65559573001e26e9d33231681bb1",
      "parents": [
        "06bed3009b94b392ce6be43d72f4b10803565c72"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 13 17:04:02 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 13 17:04:02 2017 -0700"
      },
      "message": "Revert \"Revert \"Relax HasSeenMethod check\"\"\n\nTest: test-art-target\n\nThis reverts commit c2b6a63880463f4448ba721d11888d8310a4061f.\n"
    },
    {
      "commit": "06bed3009b94b392ce6be43d72f4b10803565c72",
      "tree": "63acb06a7ad44782c588cafb21c5c2eb1665409c",
      "parents": [
        "99d50e80f3d186c9ae19736b9b224ee319d936f9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 13 13:23:18 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 13 16:59:18 2017 -0700"
      },
      "message": "Revert \"Revert \"Record post startup methods in profile\"\"\n\nTest: test/run-test 595-profile-saving\n\nThis reverts commit a867f7ab437dd6c1458088964986d0fe7275625c.\n\nChange-Id: I2826bdddda446925856991de4b0b786c8c05831e\n"
    },
    {
      "commit": "4014d84dde88948b7842ead4cf8f5733d6d46e84",
      "tree": "319ac611a95065f8bd75dd9d07c763f98900e060",
      "parents": [
        "6375a04cae864416499865453fecd2b50706b3b2"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jul 11 11:58:44 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jul 13 13:17:30 2017 -0700"
      },
      "message": "test: Add support for jasmin\n\nAdding .j files in a jasmin directory will place those classes into\nthe same jar as src/src2 source files.\n\nAdding .j files in a jasmin-multidex directory will place those classes\ninto the same jar as src-multidex source files.\n\nJasmin classes have medium priority and will overwrite any .java\nclasses.\n\nSmali classes have the highest priority and smali classes\nwill overwrite any jasmin classes.\n\nUsing jasmin is preferred for tests that can run cross-platform.\n\n(Also convert two of the tests to use jasmin instead of smali).\n\nTest: art/test/run-test --host --optimizing --build-with-jack 064-field-access\nTest: DESUGAR\u003dfalse art/test/run-test --host --optimizing --build-with-javac-dx  064-field-access\nTest: DESUGAR\u003dfalse art/test/run-test --host --optimizing --build-with-javac-dx 606-erroneous-class\nTest: art/test/run-test --host --optimizing --build-with-jack 606-erroneous-class\nTest: #(manual) run-test --jvm and check that .class is there as a build artifact\nBug: 62855082\nChange-Id: I5966d37f603bb5b93f75a842e7d597721afafacd\n"
    },
    {
      "commit": "a44c44549c8688b0e7257571601625e9eb88cea8",
      "tree": "994f1496175b29559f2a06c1bc125d7af809300a",
      "parents": [
        "f6a122c2cdbd871c0073ee5f90449be4fad34dea"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 13 18:49:35 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 13 18:49:35 2017 +0100"
      },
      "message": "Fix compressible string check for ctors with `hibyte`.\n\nOnly the low 8 bits of the `hibyte` are relevant but we\nwere checking the whole `hibyte`, erroneously creating\nan uncompressed string when the low bits are zero but\nhigh bits are non-zero. String.equals() depends on all\ncompressible Strings being actually compressed.\n\nTest: Added regression test to 021-string2.\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nBug: 31040547\nBug: 63661357\nChange-Id: I31690b544de928ce9c6f39f3d144d3e2029f38f6\n"
    },
    {
      "commit": "88fd720b6799184c8ad61e766a6d37af33ed30ef",
      "tree": "80e49456eafd44b0ad8790be456ae06949fcc506",
      "parents": [
        "1cba8d219331e4d6994359e8f9104e5db2c8f8a9"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jun 30 08:31:59 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 13 09:11:03 2017 -0700"
      },
      "message": "Add Jvmti Suspend/ResumeThread functions\n\nEnable the can_suspend jvmti capability and implement all required\nfunctionality associated with it.\n\nTest: ./test.py --host -j40\nBug: 34415266\nBug: 62821960\nBug: 63579748\n\nChange-Id: I83b92de7f81622e1658114b034918e8295805b6e\n"
    },
    {
      "commit": "42f16581dc7bf1bfebe505d061379643adbb4a33",
      "tree": "bef1c4e7d1c22bbbdbc4109c63dbdf8a9704c052",
      "parents": [
        "8ea20746896a5930d99b74d54213ff5a742ae937"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jul 12 11:55:22 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jul 13 09:43:25 2017 +0100"
      },
      "message": "Testing: Remove old run-all-tests script\n\nUpdate test.py with additional help\n\nUpdate README.txt\n\nTest: art/test.py -r\nChange-Id: I25320aff9bd7041a1aad738119aec1422e5a0309\n"
    },
    {
      "commit": "a867f7ab437dd6c1458088964986d0fe7275625c",
      "tree": "e575d817d4cdc79626d4c70b87d1e09b02a78d81",
      "parents": [
        "9f3a7c5e59a0a0caec950970fe5c636973d0421c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 13 07:57:57 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 13 07:59:23 2017 +0000"
      },
      "message": "Revert \"Record post startup methods in profile\"\n\nBreaks target tests.\n\nThis reverts commit 5594f11fa8a8a1efc24d1b258592f68cf462eec8.\n\nChange-Id: I5ff4aab14bb241e287f042a9a90458e61306985e\n"
    },
    {
      "commit": "9f3a7c5e59a0a0caec950970fe5c636973d0421c",
      "tree": "329b98e0afd872c2d1fc0f84819fa9748ce44741",
      "parents": [
        "5f2614f8183c9ad6ea85519dbdcb25f9fa8c78f1",
        "c2b6a63880463f4448ba721d11888d8310a4061f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 13 07:59:12 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 13 07:59:12 2017 +0000"
      },
      "message": "Merge \"Revert \"Relax HasSeenMethod check\"\""
    },
    {
      "commit": "c2b6a63880463f4448ba721d11888d8310a4061f",
      "tree": "1fa740c0248f976fa5cdc29405e7b9e109f7aceb",
      "parents": [
        "80e6d7376d10edcc6e0abbb5d34e7cfaff3d55c1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 13 07:58:55 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 13 07:58:55 2017 +0000"
      },
      "message": "Revert \"Relax HasSeenMethod check\"\n\nParent change breaks target tests.\n\nThis reverts commit 80e6d7376d10edcc6e0abbb5d34e7cfaff3d55c1.\n\nChange-Id: Ic6510e2d6f05df88364f0f27836ac30e60064bf8\n"
    },
    {
      "commit": "5c956a7c6764112553f96614e56cf2a114579466",
      "tree": "9a6d40998775aa4e6995815eaef8965535ae5ac4",
      "parents": [
        "00c86428090061e47e4635d45ce0a6ef1f98a675",
        "4430b256e06ce550c9c1fe8ce9bccd1590629fe8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 13 01:52:35 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 13 01:52:35 2017 +0000"
      },
      "message": "Merge \"ART: Disable some ASAN w/ interp-ac checks tests\""
    },
    {
      "commit": "80e6d7376d10edcc6e0abbb5d34e7cfaff3d55c1",
      "tree": "699dc6781d90a21eca889b85de8770f6f2b09fb2",
      "parents": [
        "817498dfe4c4a64ddb330c1195f54d12f63f4fd7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 12 15:17:51 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 12 15:24:08 2017 -0700"
      },
      "message": "Relax HasSeenMethod check\n\nIgnore hot parameter for now and see if this fixes the flaky test.\n\nTest: m\nBug: 63635729\nChange-Id: I23c2894b08d3a55af2a7a536e7964c4dd52a4f75\n"
    },
    {
      "commit": "817498dfe4c4a64ddb330c1195f54d12f63f4fd7",
      "tree": "1fa740c0248f976fa5cdc29405e7b9e109f7aceb",
      "parents": [
        "625380a362c6014e9f0b79637eb4e7c9d6372c86",
        "282431bd4ff6b2e72bc9ba206c2ca70010dc55d6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 12 19:14:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 12 19:14:14 2017 +0000"
      },
      "message": "Merge \"Disable test 163-app-image-methods for gcstress\""
    },
    {
      "commit": "282431bd4ff6b2e72bc9ba206c2ca70010dc55d6",
      "tree": "002b2cfb50bf95c30c7d0e66599ae2a0fc8b014e",
      "parents": [
        "4bbbe4006bb06386f2419bcc36ec5e6784781f6b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 12 10:28:54 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 12 10:29:32 2017 -0700"
      },
      "message": "Disable test 163-app-image-methods for gcstress\n\nHas been failing while initializing the boot classpath. Not clear\nwhy yet.\n\nTest: test-art-host\n\nChange-Id: I2755ae0a065c33a3fe88a1ade6301531c13c4fb0\n"
    },
    {
      "commit": "39b179d26ad95b2256f15cb9042bb9e7518bca8e",
      "tree": "9626926e340bb977e06e1608a5a9778e1bb27815",
      "parents": [
        "4bbbe4006bb06386f2419bcc36ec5e6784781f6b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jul 12 18:04:23 2017 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jul 12 18:07:20 2017 +0100"
      },
      "message": "Fix ART run-test 990-method-handle-and-mr with javac+dx.\n\nTest: art/test/testrunner/testrunner.py -t 990-method-handle-and-mr (with ANDROID_COMPILE_WITH_JACK\u003dfalse)\nBug: 37707231\nChange-Id: Iec53475818e3bf140d2f5f6112c66e5246fc51bd\n"
    },
    {
      "commit": "4bbbe4006bb06386f2419bcc36ec5e6784781f6b",
      "tree": "a7f4b8f0d6b246f22213914302b873d1a94c6b5f",
      "parents": [
        "ca67ae5b67c81bcd0d7eba03d9975a0c57b91582",
        "5594f11fa8a8a1efc24d1b258592f68cf462eec8"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 12 16:30:37 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 12 16:30:37 2017 +0000"
      },
      "message": "Merge \"Record post startup methods in profile\""
    },
    {
      "commit": "08dd84adab79f98b2f2e7dfbccf8ef6b07cd3f2e",
      "tree": "f171c11372ad3826d91853a0e125be14e12d029d",
      "parents": [
        "8ea20746896a5930d99b74d54213ff5a742ae937",
        "97c46466aea25ab63a99b3d1afc558f0d9f55abb"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jul 12 10:38:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 12 10:38:10 2017 +0000"
      },
      "message": "Merge \"Introduce a Marking Register in ARM64 code generation.\""
    },
    {
      "commit": "8ea20746896a5930d99b74d54213ff5a742ae937",
      "tree": "f5f3ee7a2d42103ed197ef3f74698c362153dc70",
      "parents": [
        "a97772fe0b2b5193bff62da6893b195ef183c2bc",
        "2b592abe1c12dd78614a5173256e430ed2f89ee8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 12 09:13:59 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 12 09:13:59 2017 +0000"
      },
      "message": "Merge \"test: Make 079-phantom less flakey.\""
    },
    {
      "commit": "5594f11fa8a8a1efc24d1b258592f68cf462eec8",
      "tree": "8b077a4ee54f0c49aaced410f57ce03a7467a7a0",
      "parents": [
        "65f1c2edd02f3936aef94c7313932069e66a1167"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 07 15:18:44 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jul 11 13:51:01 2017 -0700"
      },
      "message": "Record post startup methods in profile\n\nRecord post startup methods in the profile by visiting the methods\nfor all the loaded classes. This data will be used for layout\noptimizations and generating the boot image profile.\n\nThe maps profile size doesn\u0027t seem to get larger after doing a basic\npost launch use case. The change in profile size is hard to reliably\nmeasure.\n\nVerified by dumping a profile with profman and confirming that\nthere are post startup methods in the profile.\n\nAdded test to 595-profile-saving.\n\nDid a test for maps to see how long we hold the class table lock. The\nresults are 4ms in the longest case. This should be short enough to\nnot cause jank if run every 20s or so.\n\nTest: test-art-host\nBug: 36457259\nChange-Id: I82e36957fcdc8d9e072c0193478bd1ef0ce09a67\n"
    },
    {
      "commit": "4430b256e06ce550c9c1fe8ce9bccd1590629fe8",
      "tree": "a0d7d03a663baf7440d2d0312003059b8293e3a3",
      "parents": [
        "00cca3a275562d110a8b35094b9b12fac37f67ab"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 11 10:47:22 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 11 10:51:06 2017 -0700"
      },
      "message": "ART: Disable some ASAN w/ interp-ac checks tests\n\nThe access-checks interpreter has larger stack frames than the\nregular interpreter, especially under address sanitization (and\nespecially with user poisoning enabled). This can lead to stack\noverflow errors. Disable the tests.\n\nBug: 31098551\nTest: ART_ENABLE_ADDRESS_SANITIZER\u003dtrue SANITIZE_HOST\u003daddress m test-art-host\nChange-Id: I41f321ecf8f4ba155d3a2a184f3754600e5dee7e\n"
    },
    {
      "commit": "2b592abe1c12dd78614a5173256e430ed2f89ee8",
      "tree": "f4fbf07290725d31c567cf95a6d45aaefb8c1dcc",
      "parents": [
        "6375a04cae864416499865453fecd2b50706b3b2"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jul 06 13:16:34 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jul 11 10:30:20 2017 -0700"
      },
      "message": "test: Make 079-phantom less flakey.\n\nDefinitely block the main thread until the GC has cleared out the native\ndata objects.\n\nIntroduces new happens-before orderings which weren\u0027t there\npreviously:\n\n* freeNativeStorage(dataA) happens-before printing \"nulling 2\"\n* freeNativeStorage(dataB) happens-before bitmap shutdown\n\nThis removes the races that occurred between the printing of\n\"nulling 2\" and \"freeNativeStorage\".\n\nBug: b/22287285\nTest: art/test/run-test --host --optimizing 079-phantom\nChange-Id: I04a4ecc2d3ac68470010b61d3eb1c2fedac55cca\n"
    },
    {
      "commit": "7ddd605b343948dba9c094a25fff4b0896f3c62a",
      "tree": "ffe185c947f02e4b3c68603203c8e3c7c2862bbc",
      "parents": [
        "00cca3a275562d110a8b35094b9b12fac37f67ab"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 11 10:17:13 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 11 10:18:19 2017 -0700"
      },
      "message": "ART: Add FileNotFoundException to preloads for test 912\n\nThe JIT might load a class for exception handling.\n\nBug: 63581208\nTest: art/test/testrunner/testrunner.py -b --host -t 912\nChange-Id: Ifc812c88a59ebe779b29e0bb8846877e3799176f\n"
    },
    {
      "commit": "97c46466aea25ab63a99b3d1afc558f0d9f55abb",
      "tree": "afd225f51d28a77329bc2590a025400e088f260c",
      "parents": [
        "00cca3a275562d110a8b35094b9b12fac37f67ab"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 11 14:04:03 2017 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jul 11 17:43:27 2017 +0100"
      },
      "message": "Introduce a Marking Register in ARM64 code generation.\n\nWhen generating code for ARM64, maintain the status of\nThread::Current()-\u003eGetIsGcMarking() in register X20,\ndubbed MR (Marking Register), and check the value of that\nregister (instead of loading and checking a read barrier\nmarking entrypoint) in read barriers.\n\nTest: m test-art-target\nTest: m test-art-target with tree built with ART_USE_READ_BARRIER\u003dfalse\nTest: ARM64 device boot test\nBug: 37707231\nChange-Id: Ibe9bc5c99a2176b0a0476e9e9ad7fcc9f745017b\n"
    },
    {
      "commit": "82b351f1b3027485f378ec955ad29cc1e7314013",
      "tree": "e9bc7f600b6cf877ccf12380d6b2e0588619c6ad",
      "parents": [
        "f5f88da9d871cd510dcfff5d5e4bb547332df804"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jul 05 14:34:25 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Jul 11 10:08:17 2017 +0100"
      },
      "message": "Fix MethodHandle resolution for invoke-direct\n\nResolving invoke-direct needs to consider whether the target should\nhave invocation type kInvokeDirect or kInvokeSuper.\n\nBug: 36957105\nTest: art/test/run-tests --host 952-invoke-custom-kinds\nChange-Id: I117033f351925bca7e19072ab212f9f5519f43cb\n"
    },
    {
      "commit": "43e99b099a8ca71eda14d8009fd38cb0d441b694",
      "tree": "627382bd12b0321c54aa7d06fa5092313b7634c3",
      "parents": [
        "6375a04cae864416499865453fecd2b50706b3b2"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Wed Jun 28 10:53:58 2017 +0200"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Mon Jul 10 17:37:08 2017 +0200"
      },
      "message": "MIPS: Print register names instead of register numbers in disassembler\n\nTest: ./testrunner.py --optimizing --target on CI20 and in QEMU\nTest: mma test-art-host-gtest\n\nChange-Id: I1fc375ae34ee8fd994192705c45d8f30a35dfc56\n"
    },
    {
      "commit": "b2cad54aa5e5947b5b670ed397cdeaf000411745",
      "tree": "baa9db26d6169d66971780579e8d1d6d1f0dde61",
      "parents": [
        "53d305734e881b15fc01bc482deb1dc216d67731"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 10 11:18:57 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 10 11:18:57 2017 +0100"
      },
      "message": "Also backlist tests under jit/ndebuggable.\n\nIn case the JIT had time to kick in.\n\nTest: test.py\nChange-Id: Ib2fae33df279603c3e564718194a6f18b867756a\n"
    },
    {
      "commit": "cde8c35dd11c590d42bce37d05dc3041c1249456",
      "tree": "308b32ebab9f4eb66268e0720c37df70ffb38b6d",
      "parents": [
        "2a546e14e55f7e0d8bbf122572b7bbd600400362"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 10 09:28:18 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 10 09:28:18 2017 +0100"
      },
      "message": "Blacklist 104-growth-limit under ASAN.\n\nbug: 63514331\nTest: test.py\nChange-Id: Icd20df3399feb5d488db3a0972d2158e0aab4845\n"
    },
    {
      "commit": "2a546e14e55f7e0d8bbf122572b7bbd600400362",
      "tree": "44e9a34e48b662df3eab1986a5797085b42fb03b",
      "parents": [
        "e61682fc562a8ada3d0be8c375b05365ffbc2aa7",
        "4b361a87520643c888a3d2c52dffa050fabd7a0b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Jul 08 14:22:42 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jul 08 14:22:42 2017 +0000"
      },
      "message": "Merge \"Fix region space when used with SetLengthToUsableSizeVisitor.\""
    },
    {
      "commit": "a3920a0435fa63a0ee98ccd3c87d7af960086eaa",
      "tree": "8051cc333fea2d30cf5cb11ddbaeb24c27ccb7d5",
      "parents": [
        "22a4837770ed388cf2d7b2a24586b15bd5228ca6",
        "c19cd2faf041a71e1b16af70109e301905aa01b8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 07 17:55:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 07 17:55:34 2017 +0000"
      },
      "message": "Merge changes Id0b98e74,I5d05b171\n\n* changes:\n  Track jvmti allocations related to object tagging\n  Add support for tracking jvmti allocations\n"
    },
    {
      "commit": "22a4837770ed388cf2d7b2a24586b15bd5228ca6",
      "tree": "946f146811839c7ae1e8fe330ca502cfacdfc32f",
      "parents": [
        "1cba8d219331e4d6994359e8f9104e5db2c8f8a9",
        "5995a8e51d842d4e423ac15267b7b8c103194f98"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 07 16:53:28 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 07 16:53:28 2017 +0000"
      },
      "message": "Merge changes from topics \u0027cts_jvmti_intrinsics_test\u0027, \u0027cts_jvmti_at_hide_fixes\u0027\n\n* changes:\n  test: Add tests for tracing compiler intrinsics\n  run-test: Move run-test-jvmti-java to CTS directory\n"
    },
    {
      "commit": "1cba8d219331e4d6994359e8f9104e5db2c8f8a9",
      "tree": "3f0daf67a5150b240a5289610a126e0694b4f25f",
      "parents": [
        "334a1c591ad8931d944d460107936b21e4d2331b",
        "f774a4e5243b9b06f3c71ea9b67fc40b96a78342"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 07 16:18:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 07 16:18:38 2017 +0000"
      },
      "message": "Merge \"ART: Improve Dbg::GetRecentAllocations\""
    },
    {
      "commit": "c19cd2faf041a71e1b16af70109e301905aa01b8",
      "tree": "35cdb586302bbcaffbe1d37647dd5b54ced403ab",
      "parents": [
        "8ddfd9f66af232d0beb706881e1e0764c44b4a63"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 06 14:12:13 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jul 07 08:54:58 2017 -0700"
      },
      "message": "Track jvmti allocations related to object tagging\n\nObject tagging overhead can be significant. We now surface that\noverhead via the jvmti-extension for memory use.\n\nTest: ./test.py --host -j40\nBug: 62065509\n\nChange-Id: Id0b98e74d66a1a99ac89186176ade39c922569cd\n"
    },
    {
      "commit": "4b361a87520643c888a3d2c52dffa050fabd7a0b",
      "tree": "6864a78324a58c3c44895cb63bf86b21244250e1",
      "parents": [
        "4ca07d1e8033a823b1732499ead728c47ea023c7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 06 15:30:10 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 07 11:28:08 2017 +0100"
      },
      "message": "Fix region space when used with SetLengthToUsableSizeVisitor.\n\nThe region space relies on obj-\u003eSizeOf for some of its logic.\nBy having SetLengthToUsableSizeVisitor \"change\" the SizeOf\nwhat\u0027s being allocated.\n\nThe bug happens during RegionSpace::ClearFromSpace: for unevac regions\nwe iterate over following regions. If LiveBytes !\u003d Top() - Begin()\n(which happen for large allocations using SetLengthToUsableSizeVisitor),\nwe break the loop.\n\nThe next region to analyze is a large tail, and we see LiveBytes() \u003d\u003d 0\n(tails apparently always have live bytes \u003d\u003d 0), the code is then\nhappy to release the large tail, even though the large object is still\nlive.\n\nbug: 37187694\nbug: 62889232\nTest: 659-unpadded-array\nChange-Id: Ia99b67256b0e28a80095bd5cdae9068ea5e8b4a8\n"
    },
    {
      "commit": "f774a4e5243b9b06f3c71ea9b67fc40b96a78342",
      "tree": "f7622bc30dc7bb229f90ff4cd621168bebbfe9f7",
      "parents": [
        "73e64c47c510ea5a0061272ae98e85c070f5c5b1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 06 22:15:18 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 07 00:11:30 2017 -0700"
      },
      "message": "ART: Improve Dbg::GetRecentAllocations\n\nMove ClassTable to const char* instead of std::string, and let it\nknow when it needs to keep a copy of the string itself. This avoids\nlots of temporary allocations.\n\nIncrease the stack depth in test 098 to better cover this behavior.\nAdd allocations of proxies and arrays to cover the backing storage.\n\nImprovements on test 098:\n\nBefore:\n\nheaptrack stats:\n        allocations:            598174\n        leaked allocations:     186\n        temporary allocations:  132302\n\n65797 calls to allocation functions with 3.34KB peak consumption from\nart::StringTable::Add(char const*)\n65666 calls to allocation functions with 144B peak consumption from\nart::StringTable::IndexOf(char const*) const\n\nAfter:\n\nheaptrack stats:\n        allocations:            466828\n        leaked allocations:     186\n        temporary allocations:  1002\n\nBug: 37620770\nTest: m test-art-host\nTest: art/test/testrunner/testrunner.py -b --host -t 098\nTest: SANITIZE_HOST\u003daddress art/test/testrunner/testrunner.py -b --host -t 098\nChange-Id: Iee496c96471dbb825c22b2656598c95f7c029a2f\n"
    },
    {
      "commit": "efdfc85f24cf1ca96000cb58dc20558dce721f23",
      "tree": "a7e48960a33390ca041ff8266d0cb3d32e504761",
      "parents": [
        "73e64c47c510ea5a0061272ae98e85c070f5c5b1",
        "e64ed9ebf4873844ee26bdb50466e264560fb6a6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 07 06:50:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 07 06:50:20 2017 +0000"
      },
      "message": "Merge \"Remove java.lang (re)definition tests from class_linker_test\""
    },
    {
      "commit": "e64ed9ebf4873844ee26bdb50466e264560fb6a6",
      "tree": "be6a8a3b9a0fd5963de2156864ebedf355d25b00",
      "parents": [
        "7b46197bc2459b3324e0049277a911e31414bb52"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Jul 06 22:01:00 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Jul 06 22:01:00 2017 -0700"
      },
      "message": "Remove java.lang (re)definition tests from class_linker_test\n\nThere is a dx issue when processing extensions of java.lang package.\n\n\"\n...\ntrouble processing \"java/lang/JavaLangFromD.class\".\nIll-advised or mistaken usage of a core class (java.* or javax.*)\nwhen not building a core library.\n...\n\"\n\nRemove the checks until we figure out how to verify this behavior on all\nour configurations.\n\nThis is a partial revert of commit\ncdd4912eef02cce1ae4ec95e025794dced089466.\n\nTest: ANDROID_COMPILE_WITH_JACK\u003dfalse cmma\ntest-art-host-gtest-class_linker_test\nBug: 38138251\n\nChange-Id: Ib05253eaebab1299dfb36b54a7c99d3362a7ed72\n"
    },
    {
      "commit": "c2583d207f21003b8338d07b3f28b6656457f1d5",
      "tree": "13ad6a70304e49c9b68cb0bbaa186f5d462d572f",
      "parents": [
        "6d2e76b421181ebb3a419b51bfc2d3243572a677"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 06 17:58:38 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 06 19:26:22 2017 -0700"
      },
      "message": "Disable test 141 for ASAN\n\nUntil we figure out why its failing here.\n\nBug: 31098949\nTest: test/testrunner/run_build_test_target.py -j40 art-asan\nChange-Id: I3938ef80c6270e36d668868c3d358bc3520111ac\n"
    },
    {
      "commit": "6d2e76b421181ebb3a419b51bfc2d3243572a677",
      "tree": "07817f7d1a0b9f63fc16dd5c4647b866cb3170f5",
      "parents": [
        "22d121f5f9ffc1620966350dd8be9a6a0194a6e5",
        "c7affbdd3818e2f9a6c54503648639656d5fa34a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 06 23:36:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 06 23:36:34 2017 +0000"
      },
      "message": "Merge \"Add explicit nativebridge header dependency to art test.\""
    },
    {
      "commit": "c7affbdd3818e2f9a6c54503648639656d5fa34a",
      "tree": "c3f064c68157d005900d7ef5dc599c2e136db595",
      "parents": [
        "209b4c7141d7da61790844cd58bd0a9bab2951d8"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Jul 06 11:26:51 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Jul 06 23:35:40 2017 +0000"
      },
      "message": "Add explicit nativebridge header dependency to art test.\n\nThese headers are moving out of the global include.\n\nTest: links\nChange-Id: I3b95ff6728d0a0d0597108647051d1768696a700\n"
    },
    {
      "commit": "16c60630848fd280997bc378ac0518d24532f889",
      "tree": "58f425c16a863a139f1b705ffb2aa1f7c6dfd41c",
      "parents": [
        "22ae7b3b3b764161ed2d1c163b5d3c561cef5b20",
        "c9658049f924d2faf1e39246d300ca03db8278b6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 06 22:42:27 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 06 22:42:27 2017 +0000"
      },
      "message": "Merge \"Eliminate false negatives from ART 141-class-unload test.\""
    },
    {
      "commit": "8ddfd9f66af232d0beb706881e1e0764c44b4a63",
      "tree": "15c8512257668a05bcda7cc4ba82a75b3c597c09",
      "parents": [
        "7b46197bc2459b3324e0049277a911e31414bb52"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 05 16:33:46 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 06 15:00:01 2017 -0700"
      },
      "message": "Add support for tracking jvmti allocations\n\nAdds a jvmti extension for getting the amount of memory allocated and\nby jvmtiEnvs and currently live.\n\nBug: 62065509\nTest: ./test.py --host -j40\nChange-Id: I5d05b171260d91f9c415f7a5cb40cc01b48d7d07\n"
    },
    {
      "commit": "7b46197bc2459b3324e0049277a911e31414bb52",
      "tree": "d1415e7d77bd9110194878f93222f057fabbbb9c",
      "parents": [
        "0656044bf8b1d5053cdea6615f4d0aebad5b64b8",
        "cdd4912eef02cce1ae4ec95e025794dced089466"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Jul 06 21:12:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 06 21:12:54 2017 +0000"
      },
      "message": "Merge changes I8d0f5341,Iced0de7c,I742cd614\n\n* changes:\n  Add fast path to FindClass for DelegateLastClassLoader\n  Add DelegateLastClassLoader to the list of WellKnownClassLoaders\n  Refactor FindClass code in class linker\n"
    },
    {
      "commit": "c9658049f924d2faf1e39246d300ca03db8278b6",
      "tree": "32d5366affd9671802d91371cb4f3451c1474463",
      "parents": [
        "0656044bf8b1d5053cdea6615f4d0aebad5b64b8"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Thu Jul 06 12:39:10 2017 -0700"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Thu Jul 06 12:58:17 2017 -0700"
      },
      "message": "Eliminate false negatives from ART 141-class-unload test.\n\nThis test looks for memory mappings of the 141-class-unload\nclass file. In previous versions of Android these mappings\nappeared as lines in the file /proc/\u003cpid\u003e/maps which contained\nthe string \"@141-class-unload-ex.jar\". Android now uses a\ndifferent encoding for these mappings. Memory mappings of the\n141-class-unload class file now contain either the string\n\"141-class-unload-ex.odex\", or the string\n\"141-class-unload-ex.vdex\". The test has been updated to now\nsearch for mappings which contain either of these strings.\n\nTo see what entries exist in /proc/\u003cpid\u003e/maps file run the ART\ntest 141-class-unload under the control of the debugger, and set\na breakpoint for Heap::CollectGarbageInternal(). When the\nbreakpoint is triggered run \"adb shell\" in a different terminal\nwindow and run the command\n\"grep 141-class-unload-ex /proc/\u003cpid\u003e/maps\".\n\nTest: ./run-test --gdb --debuggable --no-optimize --always-clean 141\nThis test was run against the emulators for aosp_arm-eng,\naosp_arm64-eng, aosp_mips-eng, aosp_mips64-eng, aosp_x86-eng,\nand aosp_x86_64-eng.\n\nChange-Id: Iadf8dc9cb9cc6884d82ff9993c13d24369c4955c\n"
    },
    {
      "commit": "cdd4912eef02cce1ae4ec95e025794dced089466",
      "tree": "d212b7d061f5dad7861945b9d86cea728e68d133",
      "parents": [
        "7865ac7e233b8a8dcfd6ca8466d30b39a8089c3e"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jul 05 20:09:53 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Jul 06 12:32:16 2017 -0700"
      },
      "message": "Add fast path to FindClass for DelegateLastClassLoader\n\nTest: m test-art-host\nBug: 38138251\nChange-Id: I8d0f534195c31a5d291e38b0eea47534a5d471fb\n"
    },
    {
      "commit": "5995a8e51d842d4e423ac15267b7b8c103194f98",
      "tree": "a6cb1ad9f6710163af32843f7f7948eabfb9bda9",
      "parents": [
        "c4543f526754c0936ac11b791d6de510ad0aea57"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 27 17:20:50 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jul 06 11:57:24 2017 -0700"
      },
      "message": "test: Add tests for tracing compiler intrinsics\n\nEnsure that ART TI MethodEntry/MethodExit events are correctly\nreported for all intrinsics (for public api).\n\nTest: art/test/run-test --host --optimizing 988-method-trace\nChange-Id: Iab90e9cfffb3c644df7fffac26f35a66b95e299a\n"
    },
    {
      "commit": "c4543f526754c0936ac11b791d6de510ad0aea57",
      "tree": "89beb2422c7643ca69c2c1fd03463a5994b0e59a",
      "parents": [
        "4c4d9df7c79747978d2f927994a7b3c11a079075"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jul 06 11:05:33 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jul 06 11:56:52 2017 -0700"
      },
      "message": "run-test: Move run-test-jvmti-java to CTS directory\n\nrun-test-jvmti-java will also now build against the android SDK,\nwhich means it takes on a framework dependency.\n\nMove the \u0027run-test-jvmti-java\u0027 make target from\nart/test to cts/hostsidetests/jvmti/run-tests to avoid having\nthe ART buildbots compile it (which do not include the framework\nin their manifest).\n\n(It also prevents an \u0027mma\u0027 in ART directory from having to build the framework).\n\nTest: make -j32 run-test-jvmti-java build-art\nTest: art/test.py -b --host\nBug: 63390896\nChange-Id: I17b71d07559d0ef6f757f31369bd87b2d6e666d0\n"
    },
    {
      "commit": "0656044bf8b1d5053cdea6615f4d0aebad5b64b8",
      "tree": "3842f5694a0a98b275b8ec38cf7962979d5f45ee",
      "parents": [
        "8054c1d7da8ced97e5371d5a18dcf5ddd388835d",
        "ba17dbd5f23d6f6acf3fb60b6dd65dc34bd833de"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 06 18:42:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 06 18:42:00 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Fixed Literal String intern mismatch.\"\"\""
    },
    {
      "commit": "e32097c4d7f068673b531384340bb55f4b2ac011",
      "tree": "db61cfbf71702d960f659a1bb57b41ef25d7b5f1",
      "parents": [
        "209b4c7141d7da61790844cd58bd0a9bab2951d8",
        "4c174286c5a87183ace4ed46a3f811096669367a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 06 17:45:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 06 17:45:38 2017 +0000"
      },
      "message": "Merge \"Add jvmti GetBytecodes function.\""
    },
    {
      "commit": "4c174286c5a87183ace4ed46a3f811096669367a",
      "tree": "1ada45e97525e0370fe491f2d480a40aee440fb8",
      "parents": [
        "4c4d9df7c79747978d2f927994a7b3c11a079075"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 05 10:18:18 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 06 15:25:34 2017 +0000"
      },
      "message": "Add jvmti GetBytecodes function.\n\nEnables the can_get_bytecodes capability.\n\nTest: ./test.py --host -j40\nBug: 34414073\nChange-Id: If74cfcb9ecab1b4e53fa0708cf09285b9f64b5be\n"
    },
    {
      "commit": "e15c48f3fc237dd196b0ad946f775bcd9784d3ca",
      "tree": "bc2739b6ddbe36f4f0d5801871c38f386ca0024a",
      "parents": [
        "5da37807bb1ab3f7f4cc8f111ad4819d766fc0ff",
        "775224df29c2539be706f1fb5ebd01a4da58b0a6"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jul 05 17:46:37 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 05 17:46:37 2017 +0000"
      },
      "message": "Merge \"Extend dexdump2 tests for invoke-custom\""
    },
    {
      "commit": "5da37807bb1ab3f7f4cc8f111ad4819d766fc0ff",
      "tree": "0b6d0fc74b5b0f0029100584476e3a96e3bb6863",
      "parents": [
        "4c4d9df7c79747978d2f927994a7b3c11a079075",
        "3b15545581b32edbb3fa66967a01cd4d3b0bb5c2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 05 17:21:39 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 05 17:21:39 2017 +0000"
      },
      "message": "Merge \"Prune methods in image DexCache based on referencing class.\""
    },
    {
      "commit": "3b15545581b32edbb3fa66967a01cd4d3b0bb5c2",
      "tree": "58a63b6c19a5084a141309c05b8c5629331abd2b",
      "parents": [
        "4a77b1e96733be419c0cb571448e8590c803bd91"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 05 11:41:33 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 05 16:12:00 2017 +0100"
      },
      "message": "Prune methods in image DexCache based on referencing class.\n\nThis is a follow-up to\n    https://android-review.googlesource.com/353911\nwhere we did the same thing for fields.\n\nTest: 163-app-image-methods\nTest: testrunner.py --host\nTest: testrunner.py --host --jit\nBug: 30627598\nChange-Id: Ic24546f7e4a42f0f85e224a65ce1c8f7f1439340\n"
    },
    {
      "commit": "4ca07d1e8033a823b1732499ead728c47ea023c7",
      "tree": "625e13491ed0ac20ff723831b84994e9bcf81816",
      "parents": [
        "b25a31a182b089c91a6dad784a5b3bbf86d2e1a9",
        "bc4b013b2fceec81b094775400ce210af23188d6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 05 12:44:59 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 05 12:44:59 2017 +0000"
      },
      "message": "Merge \"Address missed review comments.\""
    },
    {
      "commit": "640fbdc7516a40883f219bd3c9f0e7b8a49842b4",
      "tree": "09b4ed23b6904c78ce6b1229b0b70f9a8830717f",
      "parents": [
        "4a77b1e96733be419c0cb571448e8590c803bd91",
        "2a3471fc83383bfe3e060799482e372420ba6150"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 05 10:28:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 05 10:28:20 2017 +0000"
      },
      "message": "Merge \"Disambiguate memory accesses in instruction scheduling\""
    },
    {
      "commit": "775224df29c2539be706f1fb5ebd01a4da58b0a6",
      "tree": "85687aa5b98282f768d8dcb4837a30380aab2b6b",
      "parents": [
        "4dd8880401bc7cd7bc748e5f828771611aa7bdc1"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jul 05 11:04:01 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jul 05 11:04:01 2017 +0100"
      },
      "message": "Extend dexdump2 tests for invoke-custom\n\nBug: 36957105\nTest: art/test/dexdump/run-all-tests\nChange-Id: Ib61dab73502868214d30a26315d08597961b4d98\n"
    }
  ],
  "next": "631827d9b200c93f24816c6869d72426f9fed8e3"
}
