)]}'
{
  "log": [
    {
      "commit": "238fdfcec3bc5bdb81a7d73efc13db4958e428d5",
      "tree": "4c88adf76b9824bdb17792ba560f33223c6f76a4",
      "parents": [
        "c64fb4d48a39abc63db1aa6f62bf7ba6c0c7935e",
        "512717899b31a609a1ef7ea4a271d8421a30dcca"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 27 19:40:19 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 27 19:40:20 2017 +0000"
      },
      "message": "Merge \"Ensure \u0027modified\u0027 field of ArtClassDefinition is always initialized.\""
    },
    {
      "commit": "b20a9da907360d524119bfeb606d3853800ca524",
      "tree": "01f8f9e721a1b59104ab23791a6a5535fc8ecddd",
      "parents": [
        "3b8adf50f6e634390a31027bdb0a22a35b7a0384",
        "34d8e08c647eb00a28418afb5b799f3b2463b0e6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 27 18:27:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 27 18:27:40 2017 +0000"
      },
      "message": "Merge \"Ensure jvmtiCapabilities structs are initialized.\""
    },
    {
      "commit": "512717899b31a609a1ef7ea4a271d8421a30dcca",
      "tree": "fb60e0f1568afaed4d08fb2666f98a3db1c33ddd",
      "parents": [
        "7a0ab7862e61d8006d661ec80b670809068f5bb0"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Mar 24 17:28:30 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Mar 27 10:11:36 2017 -0700"
      },
      "message": "Ensure \u0027modified\u0027 field of ArtClassDefinition is always initialized.\n\nThis field was not always being initialized due to the use of a\ndefault constructor. This meant we would go down unintended code paths\nin some circumstances.\n\nTest: ./test.py --host -j40\nBug: 36602266\n\nChange-Id: Iba3521d4a2fa752a7ba59dcbcbbd30e0c09869ff\n"
    },
    {
      "commit": "34d8e08c647eb00a28418afb5b799f3b2463b0e6",
      "tree": "7d3b160b4f5d88e4ef30fa2727ae39f032a9501a",
      "parents": [
        "7a0ab7862e61d8006d661ec80b670809068f5bb0"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Mar 27 09:50:36 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Mar 27 09:50:36 2017 -0700"
      },
      "message": "Ensure jvmtiCapabilities structs are initialized.\n\nWe were not zero-ing a handful of jvmtiCapabilities structs.\n\nBug: 31455788\nTest: ./test.py --host -j40\nChange-Id: Ia8c67a10e3b9068bb198392d48831b36290953bf\n"
    },
    {
      "commit": "3b8adf50f6e634390a31027bdb0a22a35b7a0384",
      "tree": "837941d79ad7c52b0b5c4809c10aca6186df924b",
      "parents": [
        "7a0ab7862e61d8006d661ec80b670809068f5bb0",
        "1edc8cf259b5cf90da0a7840468d6a5d6e7b3ee5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 27 16:22:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 27 16:22:17 2017 +0000"
      },
      "message": "Merge \"Check for unattached threads in JVMTI functions\""
    },
    {
      "commit": "85f884104c3427c14874132a88c17faf6a5cb3b9",
      "tree": "aa128093ed6f633141445217a45613ee6c20a768",
      "parents": [
        "7f56a7459f946731391452d152b060695783c87c",
        "18ea1c9e9281b5c143b8c376d76c3ff9cae885fb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 27 10:53:39 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 27 10:53:40 2017 +0000"
      },
      "message": "Merge \"\"Revert^6 \"CHA for interface method.\"\"\"\""
    },
    {
      "commit": "7f56a7459f946731391452d152b060695783c87c",
      "tree": "6fe66a54a075069f28d33d3e1c92aaacd2c16098",
      "parents": [
        "5a2bb55f477225c9f263d890fa2102e24b4a22f9",
        "2f814aab42591b7b4093d79851d9d2920538a5ef"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 27 09:35:04 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 27 09:35:05 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Make original dex file be more deduplicated\"\"\""
    },
    {
      "commit": "18ea1c9e9281b5c143b8c376d76c3ff9cae885fb",
      "tree": "1b2a4a2d8c15fc9a01e539f29275a05833cb44f9",
      "parents": [
        "624dc59e7d0ab8b916a986b502cb358d16182234"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 27 08:00:18 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 27 09:02:22 2017 +0100"
      },
      "message": "\"Revert^6 \"CHA for interface method.\"\"\"\n\nUpdate test expectations for CHA tests flaking on no-dex2oat.\n\nbug:36344221\n\nThis reverts commit 27ef25f084017421ca05508208f436b5fc11df73.\n\nChange-Id: Ie92adc7a2ec3b3081a1c57d71f8c89247e58cd46\n"
    },
    {
      "commit": "624dc59e7d0ab8b916a986b502cb358d16182234",
      "tree": "df4f49fc0a2099fa353a4a67f07dff7855055a4e",
      "parents": [
        "5b8f4e952f17df3ef28c2d06b3a2e890e1d2b708",
        "f6d4668c42933e2f85ddbc94e276c49db4e2b1dd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 27 07:57:46 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 27 07:57:47 2017 +0000"
      },
      "message": "Merge \"Improvements in the Inliner.\""
    },
    {
      "commit": "1edc8cf259b5cf90da0a7840468d6a5d6e7b3ee5",
      "tree": "30d22092b249eaa019279693709a0726f94cb2f5",
      "parents": [
        "f5ca86683eae31741d61a86730d7395dc83843fd"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Mar 24 14:22:56 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Mar 24 15:48:54 2017 -0700"
      },
      "message": "Check for unattached threads in JVMTI functions\n\nCalling the JVMTI functions with an unattached thread is required to\nreturn JVMTI_ERROR_UNATTACHED_THREAD.\n\nTest: ./test.py --host -j40\nBug: 36576873\nChange-Id: I312b4e0a5e5fb66961f6efcc36d9480626c3461f\n"
    },
    {
      "commit": "2f814aab42591b7b4093d79851d9d2920538a5ef",
      "tree": "7ff34f1d63f8520208dd4689171968bbc59f983b",
      "parents": [
        "a7c04c4fe6623985ba2d0cca942d5e1e584f4358"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Mar 24 15:21:34 2017 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Mar 24 15:27:20 2017 -0700"
      },
      "message": "Revert \"Revert \"Make original dex file be more deduplicated\"\"\n\nThis reverts commit a7c04c4fe6623985ba2d0cca942d5e1e584f4358.\n\nReason for revert: Issue with target buildbots was fixed\n\nTest: m clean \u0026\u0026 ./test.py --target -j8\nBug: 31455788\n\nChange-Id: If00ef9433a9308810a40ea4e0d809987c934cef8\n"
    },
    {
      "commit": "ae60e48f1077a2221549c733623c25f79733caf0",
      "tree": "369e1142bf5212876f88565cba178be7785d8351",
      "parents": [
        "f5ca86683eae31741d61a86730d7395dc83843fd",
        "3458359832973c8eddfdd50f06f8ea050b89dadf"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 24 18:52:17 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 24 18:52:18 2017 +0000"
      },
      "message": "Merge \"Move backtrace logic to backtrace_helper.h\""
    },
    {
      "commit": "3458359832973c8eddfdd50f06f8ea050b89dadf",
      "tree": "0c04b316e2df1351de219fa2ab83b1af673f89d6",
      "parents": [
        "6efac9929f8952e4871e8c423c923989fc6f2ad2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 23 23:51:34 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 24 09:29:21 2017 -0700"
      },
      "message": "Move backtrace logic to backtrace_helper.h\n\nRefactor this out so we can use it other places.\n\nTest: test/run-test --host --gcstress --dev --64 048\n\nChange-Id: I1c357714badd417a67a34cd5d371ddbf1282a179\n"
    },
    {
      "commit": "a6cefa7de1b2712680396a1c7efb25851b8d7bac",
      "tree": "5789070aa220f2ac2763aef5c2969bec658969d0",
      "parents": [
        "fc01c0ff87170ac2da9fe981bacabdce078f563e",
        "f25cc730ff70f085daf527f69a02fdee69aee16b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 24 15:57:02 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 24 15:57:04 2017 +0000"
      },
      "message": "Merge \"Deterministic DexCache in heap images.\""
    },
    {
      "commit": "f6d4668c42933e2f85ddbc94e276c49db4e2b1dd",
      "tree": "3343addb8cde45eb4070d4876f26bef1002248dc",
      "parents": [
        "0bbb750f6ff9a52bc4649995fc78ebea87e31dd1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 28 17:41:45 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 24 14:02:54 2017 +0000"
      },
      "message": "Improvements in the Inliner.\n\n- Change from a depth limit to a total number of HInstructions\n  inlined limit. Remove the dex2oat depth limit argument.\n- Add more stats to diagnose reasons for not inlining.\n- Clean up logging to easily parse output.\n\nIndividual Ritz benchmarks improve from 3 to 10%.\n\nNo change in other heuristics. There was already an instruction budget.\nNote that the instruction budget is rarely hit in the \"apps\" I\u0027ve tried\nwith.\n\nCompile-times improve from 5 to 15%.\nCode size go from 4% increase (Gms) to 1% decrease (Docs).\n\nbug:35724239\ntest: test-art-host test-art-target\n\nChange-Id: I5a35c4bd826cf21fead77859709553c5b57608d6\n"
    },
    {
      "commit": "da9f7eb3e7734b58576f71bad6d90aeea112f408",
      "tree": "cd837794175dee75b2c5dd253b20daac9efba25d",
      "parents": [
        "ca32c317eeb989d9cbe330bab6ea35a8fd2ca18f",
        "27ef25f084017421ca05508208f436b5fc11df73"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 24 08:59:45 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 24 08:59:46 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert^4 \"CHA for interface method.\"\"\""
    },
    {
      "commit": "27ef25f084017421ca05508208f436b5fc11df73",
      "tree": "2059bf861c7992cfa195e7301451b98908c8abc6",
      "parents": [
        "fb185130f35bbfe2ba1875974ed39ef0b3c7a77f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 24 08:59:22 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 24 08:59:22 2017 +0000"
      },
      "message": "Revert \"Revert^4 \"CHA for interface method.\"\"\n\nStill failing on the bots.\n\nThis reverts commit fb185130f35bbfe2ba1875974ed39ef0b3c7a77f.\n\nChange-Id: I1629e237dd41ce4784ccadbfc346352dfcbdb137\n"
    },
    {
      "commit": "ca32c317eeb989d9cbe330bab6ea35a8fd2ca18f",
      "tree": "55535bfe8cba0a8efa794e51fdbe9dba79b7f0ff",
      "parents": [
        "6efac9929f8952e4871e8c423c923989fc6f2ad2",
        "a7c04c4fe6623985ba2d0cca942d5e1e584f4358"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 24 08:57:02 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 24 08:57:04 2017 +0000"
      },
      "message": "Merge \"Revert \"Make original dex file be more deduplicated\"\""
    },
    {
      "commit": "a7c04c4fe6623985ba2d0cca942d5e1e584f4358",
      "tree": "ede1a98db77cfb0a05e3d445b7e1f7aed3d242d3",
      "parents": [
        "9556cb2bfc6788656d53a9ddb2159ca2040f6e38"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 24 08:55:08 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 24 08:55:08 2017 +0000"
      },
      "message": "Revert \"Make original dex file be more deduplicated\"\n\nBug: 31455788\n\nThis reverts commit 9556cb2bfc6788656d53a9ddb2159ca2040f6e38.\n\nChange-Id: If22f2bd9d1b788c2a784dbe0e7f0c2304d8e4a59\n"
    },
    {
      "commit": "b8006e60d86fd11cc45ae2868bc28bc939808279",
      "tree": "a826aa3f19a669d86128ce09bd92164d41a36840",
      "parents": [
        "f13821e90275f90279a4211891102237f89f8415",
        "9556cb2bfc6788656d53a9ddb2159ca2040f6e38"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 23 20:11:46 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 23 20:11:47 2017 +0000"
      },
      "message": "Merge \"Make original dex file be more deduplicated\""
    },
    {
      "commit": "f13821e90275f90279a4211891102237f89f8415",
      "tree": "4ff3b08d082eb283bf5978f363a8a1de10f30ef0",
      "parents": [
        "594e8b13a6b9aca4670b819b3fb6e59fbaf6ddb4",
        "fb185130f35bbfe2ba1875974ed39ef0b3c7a77f"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Mar 23 19:26:50 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 23 19:26:51 2017 +0000"
      },
      "message": "Merge \"Revert^4 \"CHA for interface method.\"\""
    },
    {
      "commit": "f25cc730ff70f085daf527f69a02fdee69aee16b",
      "tree": "2f36f61990add16e7519d8b93506d6049dd7764c",
      "parents": [
        "7591bdadf72a2fe155f937b8dc66f6249cedd014"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 16 16:18:15 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 23 15:25:27 2017 +0000"
      },
      "message": "Deterministic DexCache in heap images.\n\nPreload each slot in dex cache arrays with the candidate\nentry with the lowest index.\n\nAlso fix a discrepancy where we used to keep an ArtField*\nin the DexCache if we kept the declaring class rather than\nbased on the class referenced in the corresponding FieldId.\nThis can result in accessing a field through a FieldId with\nan unresolved class as demonstrated by the regression test.\n\nTest: 159-app-image-fields\nTest: testrunner.py --host\nBug: 30627598\nChange-Id: I34735047cb064ff462cd9859e86a61ddf8615ecd\n"
    },
    {
      "commit": "47e01b7b2d79c1a75ec9b67ab7af656f83d9185f",
      "tree": "7a9510fe1db9cfc29d89240456300869a71710ce",
      "parents": [
        "ae7eef6ee1bdca135587a1aa4f0661faa96d15a8",
        "b01335ca9387bfb8f8a770839b90315553e5b2b7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 22 23:38:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 22 23:38:37 2017 +0000"
      },
      "message": "Merge \"Add even more logging failed to copy GC error\""
    },
    {
      "commit": "ae7eef6ee1bdca135587a1aa4f0661faa96d15a8",
      "tree": "4be64d96dc6c8fce0033d40ab2031d5d9b13ccde",
      "parents": [
        "efc457719642e1301f00172fc8235018f67028db",
        "9c527e7d0d6a99c1a7e7dc541a408ed1858ea2c2"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Mar 22 23:13:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 22 23:13:39 2017 +0000"
      },
      "message": "Merge \"MIPS64: Extend instruction_set_features_mips64_test\""
    },
    {
      "commit": "fb185130f35bbfe2ba1875974ed39ef0b3c7a77f",
      "tree": "47cab7e151d7de2d86d9499e264273f7262699b9",
      "parents": [
        "a861b0daacd508dacfdac6c337c1128904e5b386"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Mar 16 16:19:15 2017 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Mar 22 14:26:20 2017 -0700"
      },
      "message": "Revert^4 \"CHA for interface method.\"\n\nThis reverts commit 43e99be9db10111a2d6e094882cd06c248c69e11.\n\nAlso fix the issue that tries to change invoke-interface to\nan invoke-virtual of a cross-dexfile proxy method. Added a\ntestcase.\n\nTest: run-libcore-tests.sh --mode\u003dhost --variant\u003dX64 --debug\nTest: ART_TEST_JIT\u003dtrue m -j20 test-art-host-run-test\nChange-Id: Iacdf9d7ad93590e8163ed59d5838d70700a69018\n"
    },
    {
      "commit": "b01335ca9387bfb8f8a770839b90315553e5b2b7",
      "tree": "385433d381e0649dcbfb8140b65dfd3978a68b3d",
      "parents": [
        "f9806373ca50896ac54cb9da49a030c13ec14769"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 22 13:15:01 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 22 14:06:23 2017 -0700"
      },
      "message": "Add even more logging failed to copy GC error\n\nAdd logging for object address and type.\n\nBug: 36516822\nTest: m\nChange-Id: I636044af673d9adc1079269b408fcdeecc33d21d\n"
    },
    {
      "commit": "24c0570839e284132ca9e7bfc1f5556405d864ab",
      "tree": "ddb3311dc3a972b029e88daeedcc6c0c003bbdd9",
      "parents": [
        "f633fb0f1b959410dbb7ce114e203aba1cfa4059",
        "f7ada95d3a1f1408bdf4851f65e0f99d52f92b46"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 22 18:31:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 22 18:31:26 2017 +0000"
      },
      "message": "Merge \"Log the errno code for failed flock() invocations\""
    },
    {
      "commit": "9556cb2bfc6788656d53a9ddb2159ca2040f6e38",
      "tree": "7ff34f1d63f8520208dd4689171968bbc59f983b",
      "parents": [
        "f11cbe1361cc93f07e7a5ab1c9f0af4605552535"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Mar 21 11:21:36 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Mar 22 09:43:30 2017 -0700"
      },
      "message": "Make original dex file be more deduplicated\n\nNow when retransformClasses is called we will use the DexCache from\nthe transformed class to hold the original dex file. This means that\nthere should be fewer redundant copies of dex files lying around from\nclass redefinition.\n\nBug: 31455788\nTest: mma -j40 test-art-host-gtest\nTest: ./test/testrunner/testrunner.py --host -j40\n\nChange-Id: I60150e436d79aabb36da31ec679cb7ec4c820573\n"
    },
    {
      "commit": "f7ada95d3a1f1408bdf4851f65e0f99d52f92b46",
      "tree": "80c13bbe180b00332397cd560460782517180793",
      "parents": [
        "99b7c20caa1ad6f67b027f9fceecabd6e7b76bba"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Mar 21 20:02:07 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 22 09:10:20 2017 -0700"
      },
      "message": "Log the errno code for failed flock() invocations\n\nScopedFlock was asserting the success of flock()\ninvocation without logging errno. This CL adds the errno log\nbefore the abort.\n\nTest: m\nBug: 36369345\nChange-Id: I24209784b795c37463fb790fcd0793369eeab492\n"
    },
    {
      "commit": "9be1524c8561920fd7d10717ca832639e0a158dc",
      "tree": "ec375dd1714d39e4e7e53780158d4bc7a9f6c9ce",
      "parents": [
        "a861b0daacd508dacfdac6c337c1128904e5b386",
        "640a104d25db5a46a53c45e7132db577188729cc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 21 18:53:43 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 21 18:53:44 2017 +0000"
      },
      "message": "Merge \"Avoid use of pthread_getschedparam (except on the Mac)\""
    },
    {
      "commit": "640a104d25db5a46a53c45e7132db577188729cc",
      "tree": "0fca534117b2794ab3dcb3d437a49141124f6d3d",
      "parents": [
        "211d0cdee08c7fe98ea64d6c5f117859fda8bde0"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Mar 20 15:03:42 2017 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Mar 21 09:27:40 2017 -0700"
      },
      "message": "Avoid use of pthread_getschedparam (except on the Mac)\n\nSquashed commit of two cherry-picks:\n\n    During Thread::DumpState the pthread may have exited.\n    We have the tid, use that instead.\n\n    Test: m -j50 test-art-host -k\n    Test: adb shell kill -3 `pid system_server`\n    Bug: 36445592\n\n    (cherry picked from commit 08e762782a1e352c329945e0df3f35da7e71ad8a)\n\n    Restore broken code for the Mac\n\n    Test: m -j48\n    Bug: 36445592\n\n    (cherry picked from commit 4b16f0b860f4d59601706305b2949b98db586a47)\n\nTest: m -j48 \u0026\u0026 flashall \u0026\u0026 m -j8 test-art-host\nBug: 36445592\nChange-Id: I96d51614f569338d85de0fd59188445df3289dfd\n"
    },
    {
      "commit": "f11cbe1361cc93f07e7a5ab1c9f0af4605552535",
      "tree": "ede1a98db77cfb0a05e3d445b7e1f7aed3d242d3",
      "parents": [
        "3bd2346db702894ef6c61372e7a83930b1c613ac",
        "3f98053f954fff56543fedc5349b439cac92f992"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 21 16:18:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 21 16:18:16 2017 +0000"
      },
      "message": "Merge \"Downgrade duplicate method DCHECKs to WARNINGs\""
    },
    {
      "commit": "3bd2346db702894ef6c61372e7a83930b1c613ac",
      "tree": "a2e4e01b0d9189ea41cb6fd8051caf4912052a8c",
      "parents": [
        "4bf58cef5570c54e5422031b7932b1565b27b260",
        "24ea7398535d7a4da58de6722d0087bd10fc70c2"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Mar 21 10:44:52 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 21 10:44:54 2017 +0000"
      },
      "message": "Merge \"ART: Remove com.android.dex.Dex from well_known_classes.\""
    },
    {
      "commit": "9c527e7d0d6a99c1a7e7dc541a408ed1858ea2c2",
      "tree": "739e5289c3a800085aa5aee397e773a7c3186e78",
      "parents": [
        "51e5474b7b8e4e80e791403e937470f575340dc1"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Mon Mar 20 09:11:06 2017 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Tue Mar 21 09:42:08 2017 +0100"
      },
      "message": "MIPS64: Extend instruction_set_features_mips64_test\n\nAdded \"mips64r6\" case and compared against \"default\".\n\nTest: mma test-art-target-gtest-instruction_set_features_mips64_test\n\nChange-Id: I1937912d69393fdd69a0e9779b597393dfa0bacf\n"
    },
    {
      "commit": "cbb65ae216a47a080c2ff301b593f86d7ac2c1a2",
      "tree": "7ceeafe366776d5c63d9978c188e4a8efcd33ca2",
      "parents": [
        "46ef4a6f7f59f65c77ef99d4a8d9fcd6d6d3ef0b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Mar 20 11:33:34 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Mar 20 14:01:02 2017 -0700"
      },
      "message": "jdwp: switch to SOCK_SEQPACKET.\n\nWhen sending the process\u0027s PID to adbd, we use\nTEMP_FAILURE_RETRY(send(...)), and check if the result is non-negative.\nHowever, this could theoretically return short, leaving adbd waiting\nfor the rest of the PID. Switch the socket to a SOCK_SEQPACKET to\nsidestep all of this.\n\nBug: http://b/36411868\nTest: adb jdwp\nChange-Id: I0ec75912ac579868f77554e3c6db23c7ab95a34c\n"
    },
    {
      "commit": "3f98053f954fff56543fedc5349b439cac92f992",
      "tree": "25982649f23cb2c40ecdd3ab75ce17d397fcb7fc",
      "parents": [
        "10f9467522f63168336cfdb1bfc71698a356d1a1"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Mar 17 15:10:32 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Mar 20 18:16:45 2017 +0000"
      },
      "message": "Downgrade duplicate method DCHECKs to WARNINGs\n\nThese DCHECKs were causing spurious failures when testing with\ndebug ART. Duplicate methods could cause multiple methods in\na class to have the same name and signature. Overriding these\nmethods could make it so that methods are owned by the wrong type.\nThough the corrupted methods arrays could be a cause for concern \n(hence the DCHECKs) but in the most common case it should be fine\nas the duplicated methods cannot be invoked.\n\nAs both of these situations can be caused by some versions of\nproguard and are present in some released apps, we are downgrading\nthese to warnings even on Debug builds.\n\nBug: 32549051\nBug: 32546154\nBug: 36446088\n\nTest: ./test/testrunner/testrunner.py --host -j40\nChange-Id: Ib26f30718726a9064056855192cef302f3df1eeb\n"
    },
    {
      "commit": "f9806373ca50896ac54cb9da49a030c13ec14769",
      "tree": "ff17cf35463c8d8d11891282a0d5839a2d887f80",
      "parents": [
        "35c3ace32134156356da9c6b40d98586d4433553",
        "5a9e51d39ed3d1015f20b3d12b35747612cca40e"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Mar 20 17:14:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 20 17:14:11 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Introduce a number of MSA instructions for MIPS64\"\"\""
    },
    {
      "commit": "24ea7398535d7a4da58de6722d0087bd10fc70c2",
      "tree": "7cdfb35a2c8a38cb40fd0eb286a24d2c1e2974c3",
      "parents": [
        "35c3ace32134156356da9c6b40d98586d4433553"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Mar 20 11:35:30 2017 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Mar 20 11:43:01 2017 +0000"
      },
      "message": "ART: Remove com.android.dex.Dex from well_known_classes.\n\nUnused after change 6b2dc3156a2140a5bfd9cbbf5d7dad332ab5f5bd.\n\nTest: make build-art-host\nChange-Id: Ib2259c4a3ac1ee7320284a2e2fc08bbc39f9a89b\n"
    },
    {
      "commit": "35c3ace32134156356da9c6b40d98586d4433553",
      "tree": "0b39b8df49a251af65eff847eb01abe3d12e6612",
      "parents": [
        "211d0cdee08c7fe98ea64d6c5f117859fda8bde0",
        "8f10486b82b7b2cf3ca1a3d2f59f46075d831071"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Mar 20 08:43:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 20 08:43:28 2017 +0000"
      },
      "message": "Merge \"Don\u0027t special case kRuntimeISA for getting image info.\""
    },
    {
      "commit": "89b0d9336920653e64f127803067d0faaea6cdba",
      "tree": "c46354558157fd0ab9bfe047d2eb318789f1337a",
      "parents": [
        "931507c4d11887be6682fc0b4799323df9015a89",
        "33dca562d5ed9f52f63ced2334c066333ca073e9"
      ],
      "author": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Sat Mar 18 02:56:08 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 18 02:56:09 2017 +0000"
      },
      "message": "Merge \"Revert \"Make sigchain actually own the signal chain.\"\""
    },
    {
      "commit": "33dca562d5ed9f52f63ced2334c066333ca073e9",
      "tree": "b13ca4ec329595953d3aa3b04b0323f2dee173ca",
      "parents": [
        "7600fa9234e02cf5108a3a82babf3d3ab82fcddd"
      ],
      "author": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Sat Mar 18 02:51:37 2017 +0000"
      },
      "committer": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Sat Mar 18 02:51:37 2017 +0000"
      },
      "message": "Revert \"Make sigchain actually own the signal chain.\"\n\nThis reverts commit 7600fa9234e02cf5108a3a82babf3d3ab82fcddd.\n\nChange-Id: Ia46db2a7df0c0ac07107a8db06f42ff1afd4a97e\n"
    },
    {
      "commit": "931507c4d11887be6682fc0b4799323df9015a89",
      "tree": "9f1637eee5d4cab1791bc581488256f8e18df584",
      "parents": [
        "fe4b2231ce32109a5c4f83a69cec962190db9b13",
        "7600fa9234e02cf5108a3a82babf3d3ab82fcddd"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Sat Mar 18 01:42:22 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 18 01:42:23 2017 +0000"
      },
      "message": "Merge \"Make sigchain actually own the signal chain.\""
    },
    {
      "commit": "7600fa9234e02cf5108a3a82babf3d3ab82fcddd",
      "tree": "7fc841d365122ae618b657c7bd3fa28e8151e870",
      "parents": [
        "ed883a11b8cd7f3712bd30fca1e2b0fb641bff63"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Mar 15 17:40:42 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Mar 17 17:04:31 2017 -0700"
      },
      "message": "Make sigchain actually own the signal chain.\n\nsigchain exists to make sure that art\u0027s signal handler is at the front,\nbut it currently does this by putting the fault manager in the actual\nsignal handler slot and having that handler call into sigchain when it\ndoesn\u0027t want to handle a signal. sigchain also has a \"special signal\nhandler\" (used for native bridge) that runs before user handlers, but\nafter ART\u0027s.\n\nMove maintenance of the signal chain into sigchain itself, and use the\nsame mechanism to handle the ART handler and the native bridge handler.\n\nAlso, clean up some bugs:\n  - InvokeUserSignalHandler was using the wrapper sigprocmask instead\n    of the actual one.\n  - Use SIG_SETMASK instead of SIG_BLOCK between calling handlers, in\n    case one of the handlers changes the signal mask.\n  - Correctly handle sigaction without SA_SIGINFO.\n\nBug: http://b/36205469\nBug: http://b/36262089\nTest: NPE with dalvikvm with/without TEST_NESTED_SIGNAL defined (arm/aarch64)\nChange-Id: I416b13de800d3e23424cf20688ccfd7e4e48a111\n"
    },
    {
      "commit": "fe4b2231ce32109a5c4f83a69cec962190db9b13",
      "tree": "c46354558157fd0ab9bfe047d2eb318789f1337a",
      "parents": [
        "10f9467522f63168336cfdb1bfc71698a356d1a1",
        "9545f6db8b2487ecb940f91c29ce814ec6b1ea25"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Mar 17 22:03:49 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 17 22:03:49 2017 +0000"
      },
      "message": "Merge \"Accept output profile path from dalvikvm command\""
    },
    {
      "commit": "9545f6db8b2487ecb940f91c29ce814ec6b1ea25",
      "tree": "96975e0fb443225542455d33cee5d481896debdc",
      "parents": [
        "a345d3144c56e510866848fd677b05adc7780189"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Mar 16 19:05:09 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Mar 17 11:38:52 2017 -0700"
      },
      "message": "Accept output profile path from dalvikvm command\n\nTest: run dalvikvm with -Xps-profile-path\nBug: 36032648\n\nChange-Id: I34640afe1cf0e7b192ad082ccde2784faab1ba4c\n"
    },
    {
      "commit": "fc1361d322e34c16dde6b0deaa710c8dd23e2bd9",
      "tree": "02272c755b0549ed546358cda94771c815c76397",
      "parents": [
        "13c5e256a3f527352782159973134da6199acab3",
        "cbb7ceeda2a35d0dc03a44c0b18c2932da2a72c0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 17 17:40:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 17 17:40:07 2017 +0000"
      },
      "message": "Merge \"Increase resolved classes save delay to 5s\""
    },
    {
      "commit": "13c5e256a3f527352782159973134da6199acab3",
      "tree": "1c6e6b2c631f2b3c5b07c5f21b375c598c2f216e",
      "parents": [
        "7591bdadf72a2fe155f937b8dc66f6249cedd014",
        "a0d2164747377a34a926c69c2e9e8debfa7e6909"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Mar 17 16:09:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 17 16:09:22 2017 +0000"
      },
      "message": "Merge \"MIPS64: Add MSA instruction set feature option\""
    },
    {
      "commit": "2f1f1679d2ce9efd1d1817820015eb6ac26d9bfb",
      "tree": "cc71590b25fc3375e5e3a881e11f902008e8fce3",
      "parents": [
        "8f2b925473cfdc7650cef407102957befe0c6bb5",
        "fc38e919bad23670e38a484d4728f300406415c3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 17 10:49:28 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 17 10:49:30 2017 +0000"
      },
      "message": "Merge \"Do not assume type relationship when recording \"not assignable\"\""
    },
    {
      "commit": "5a9e51d39ed3d1015f20b3d12b35747612cca40e",
      "tree": "17d4d1e616d5a516dc8187f165fc68ee97ada185",
      "parents": [
        "8f2b925473cfdc7650cef407102957befe0c6bb5"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Thu Mar 16 16:11:43 2017 +0000"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Fri Mar 17 11:17:49 2017 +0100"
      },
      "message": "Revert \"Revert \"Introduce a number of MSA instructions for MIPS64\"\"\n\nThis reverts commit 219bf253e5158c4f3438e70864b8bf7235c1e193.\n\nFixed memory leak in assembler_mips64_test.cc.\n\nTest: mma valgrind-test-art-host-gtest-assembler_mips64_test64\n\nChange-Id: I238833fd4555623c2716432fc67eab7696f1e28e\n"
    },
    {
      "commit": "8f2b925473cfdc7650cef407102957befe0c6bb5",
      "tree": "4af3395adaf03cb4a60cd40e7b3ee4196645eb9e",
      "parents": [
        "de9b8d63ef548d56de9c9d4657a7b916050d81ad",
        "6b2dc3156a2140a5bfd9cbbf5d7dad332ab5f5bd"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Mar 17 09:05:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 17 09:05:56 2017 +0000"
      },
      "message": "Merge \"ART: Get rid of most of java.lang.DexCache.\""
    },
    {
      "commit": "fc38e919bad23670e38a484d4728f300406415c3",
      "tree": "ec249a6773e571244d30c980263e32c750fb4c96",
      "parents": [
        "f83f3f6ecb1153d96cc8007e8a0d1e35af4d3f38"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 16 16:51:59 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 17 08:59:25 2017 +0000"
      },
      "message": "Do not assume type relationship when recording \"not assignable\"\n\nThe verifier may record that an interface I does not extend a\nclass A. If A is not j.l.Object, this is always true, but\nA might change after a system update from a class to an interface.\n\nbug: 34849974\ntest: verifier_deps_test\nChange-Id: Ic2876edce9a2a6f7b402420a5e01763aba2b39a4\n"
    },
    {
      "commit": "de9b8d63ef548d56de9c9d4657a7b916050d81ad",
      "tree": "4e6e466b05883591fd8c34435f7eff23157c754c",
      "parents": [
        "9e2a1cadf7fa7959343a9b201392eaa6e50dcdd9",
        "cc9d1cbb1fb3dfb8fc5a395982afaebaecbc90e5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 17 03:02:49 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 17 03:02:50 2017 +0000"
      },
      "message": "Merge \"Change some pending OOME asserts to be pending exception\""
    },
    {
      "commit": "9e2a1cadf7fa7959343a9b201392eaa6e50dcdd9",
      "tree": "713964a4312110d6dd38047de7323df6d1c93b11",
      "parents": [
        "9bb8928a8e0b04e530e49315009725f73aceb762",
        "4f2e957b07c8b6e48bbd7593bb64f3c5214fa489"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 16 23:11:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 16 23:11:56 2017 +0000"
      },
      "message": "Merge \"Ensure the GC visits Obsolete Methods\""
    },
    {
      "commit": "cc9d1cbb1fb3dfb8fc5a395982afaebaecbc90e5",
      "tree": "6f2ee965c57ca31488e67b5a288a89623fe5daff",
      "parents": [
        "14f01c28d7c4b75e10bf2205747b387598ae6b51"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 16 15:50:57 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 16 15:51:41 2017 -0700"
      },
      "message": "Change some pending OOME asserts to be pending exception\n\nThere may be non OOM exceptions like StackOverflowError.\n\nRegression test infeasible.\n\nBug: 36290957\n\nTest: test-art-host\n\nChange-Id: I7128c78fc57a9a709b32b947e3741adc29a846cc\n"
    },
    {
      "commit": "4f2e957b07c8b6e48bbd7593bb64f3c5214fa489",
      "tree": "efcfcaaa1efdc567449c406e7107da2e94c127c2",
      "parents": [
        "ed883a11b8cd7f3712bd30fca1e2b0fb641bff63"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Mar 16 13:13:31 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Mar 16 14:23:46 2017 -0700"
      },
      "message": "Ensure the GC visits Obsolete Methods\n\nWe were previously not visiting obsolete methods during GCs. This\ncould lead to the use of stale pointers.\n\nBug: 36335999\nTest: ./test/testrunner/testrunner.py --host --interp-ac --gcstress -j40\n\nChange-Id: I2b5c7c75b29f9037204a860501fcdb78104b5e7a\n"
    },
    {
      "commit": "051071718085ce807a2e7c55278a8d723e238e86",
      "tree": "396c41b8b887544f2905c5f97055e2f123c67730",
      "parents": [
        "ed883a11b8cd7f3712bd30fca1e2b0fb641bff63"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 16 13:17:50 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 16 13:25:00 2017 -0700"
      },
      "message": "Delete SrcMap\n\nNo longer used. SrcMapElem is still used by elf_debug_line_writer.h.\n\nAddress previous comments from aog/351387.\n\nTest: make\n\nChange-Id: Ib1525168b14889abbdc78ba20c64f3223b140a51\n"
    },
    {
      "commit": "ed883a11b8cd7f3712bd30fca1e2b0fb641bff63",
      "tree": "b13ca4ec329595953d3aa3b04b0323f2dee173ca",
      "parents": [
        "f0502d990265253992a54567bcd3ce5c8aa0ce59",
        "cbcedbf9382bc773713cd3552ed96f417bf1daeb"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 16 19:56:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 16 19:56:10 2017 +0000"
      },
      "message": "Merge \"Add method info to oat files\""
    },
    {
      "commit": "dae1744676f20300d3ac8eef49f9dc10dfbe8e2f",
      "tree": "6880031b1ade54d6e6d366ae96fb153e1adacafc",
      "parents": [
        "4408ecbd7357a2d6ac5e1d25cfe178cc7b153884",
        "a345d3144c56e510866848fd677b05adc7780189"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Mar 16 17:57:24 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 16 17:57:25 2017 +0000"
      },
      "message": "Merge \"Ensure the profile is written to disk at shutdown\""
    },
    {
      "commit": "6b2dc3156a2140a5bfd9cbbf5d7dad332ab5f5bd",
      "tree": "a335cae93c0eabae63e39b8bc13ef3e15f4f7e50",
      "parents": [
        "f83f3f6ecb1153d96cc8007e8a0d1e35af4d3f38"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Mar 14 13:26:12 2017 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Mar 16 17:56:04 2017 +0000"
      },
      "message": "ART: Get rid of most of java.lang.DexCache.\n\nAll remaining functionality is moved over to native. The DexCache\nobject itself is allocated in the Java heap, even though there\u0027s no\nlonger much of a reason to do so. It can be changed in a future change\nif needed.\n\nThis also renames mirror::Class:GetInterfaces to GetProxyInterfaces\nsince it\u0027s supposed to be called only for proxies.\n\nTest: test-art-host, cts -m CtsLibcoreTestCases\n\nChange-Id: Ie261f22a9f80c929f01d2b456f170c7a464ba21c\n"
    },
    {
      "commit": "4408ecbd7357a2d6ac5e1d25cfe178cc7b153884",
      "tree": "66f0750670a1d4aca33420e1f350a5831f62c10a",
      "parents": [
        "5736a2d0b6e921befbbf6f1d09248eff6a61af78",
        "32f53883993fbed5f08c1e13606e91acb3715d5d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 16 17:53:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 16 17:53:26 2017 +0000"
      },
      "message": "Merge \"Fix sign extension issues\""
    },
    {
      "commit": "cbcedbf9382bc773713cd3552ed96f417bf1daeb",
      "tree": "58eed766a69ddddbc41d21624244e14547fa1dff",
      "parents": [
        "ef62210a1466c133056c4bfdae9f8f5417065eff"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Mar 12 22:24:50 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 16 10:20:34 2017 -0700"
      },
      "message": "Add method info to oat files\n\nThe method info data is stored separately from the code info to\nreduce oat size by improving deduplication of stack maps.\n\nTo reduce code size, this moves the invoke info and inline info\nmethod indices to this table.\n\nOat size for a large app (arm64): 77746816 -\u003e 74023552 (-4.8%)\nAverage oat size reduction for golem (arm64): 2%\n\nRepurposed unused SrcMapElem deduping to be for MethodInfo.\nTODO: Delete SrcMapElem in a follow up CL.\n\nBug: 36124906\n\nTest: clean-oat-host \u0026\u0026 test-art-host-run-test\n\nChange-Id: I2241362e728389030b959f42161ce817cf6e2009\n"
    },
    {
      "commit": "41e604aac001ef023ad61f672239b76ccf33489b",
      "tree": "518cc006471e205633c9adf7c71739f547cded30",
      "parents": [
        "e9cd81c14609fa9dae2125e96ec4d86ca959117f",
        "31afbec96e9f9c8e58778694e74aea7ce55e1378"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Mar 16 14:20:30 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 16 14:20:30 2017 +0000"
      },
      "message": "Merge \"ART: Bit intrinsics for Mterp interpreter\""
    },
    {
      "commit": "e9cd81c14609fa9dae2125e96ec4d86ca959117f",
      "tree": "e261a0445fc6a8bbd1c21cda9c012b3392e606fe",
      "parents": [
        "a70b683cd796f7e5bb50d8d282f72c50c89af250",
        "9e57abacecc683f50dd6c9870a32ee075eaf86a8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 16 13:30:22 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 16 13:30:24 2017 +0000"
      },
      "message": "Merge \"Fix String::DoReplace() using obsolete `this`.\""
    },
    {
      "commit": "8f10486b82b7b2cf3ca1a3d2f59f46075d831071",
      "tree": "088237e99a06dae74e965249fef4eb0f3e0db0cc",
      "parents": [
        "8a31bb939f2ab1fe3f745ade40408ac07267208a"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Feb 22 12:34:01 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Mar 16 12:39:20 2017 +0000"
      },
      "message": "Don\u0027t special case kRuntimeISA for getting image info.\n\nTest: m test-art-host\nBug: 34385298\nBug: 35659889\n\nChange-Id: I0732760483c69fbe5e73602161f3ba74f0f50860\n"
    },
    {
      "commit": "31afbec96e9f9c8e58778694e74aea7ce55e1378",
      "tree": "1ad1633c75fb6c65fbb25d09fb9dcf92c4a81b8c",
      "parents": [
        "c53528a048e47ef8c51fc5c9667061ebd840adf1"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Mar 14 15:30:19 2017 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Mar 16 05:31:59 2017 -0700"
      },
      "message": "ART: Bit intrinsics for Mterp interpreter\n\nAnother batch of interpreter intrinisics, mostly around bit\nmanipulation.  Also some formatting changes and inclusion of a\ncomprehensive list of recognized intrinisics (to assist with\ntelling what\u0027s left to do).\n\nBug: 30933338\n\nBenchmarks:\n   20% Improvement for Reversi\n   10% Improvement for Scimark2\n    3% Improvement for ChessBench\n\nTest: ART_TEST_INTERPRETER\u003dtrue m test-art-host\nTest: art/tools/run-libcore-tests --host (edited for force -Xint)\n\nNote: Added intrinsics have existing test coverage via\n082-inline-execute, 123-inline-execute2, 565-checker-rotate,\n564-checker-bitcount, 566-checker-signum \u0026 567-checker-compare\n\nChange-Id: I29f0386e28eddba37c44f9ced44e7d5f8206bb47\n"
    },
    {
      "commit": "9e57abacecc683f50dd6c9870a32ee075eaf86a8",
      "tree": "27ef93c87f3ce9f09414620f77b35f6d0949fb22",
      "parents": [
        "26ec3cad4968ae32ce9d04c3046f766df46d9bd7"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 16 10:45:40 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 16 10:55:24 2017 +0000"
      },
      "message": "Fix String::DoReplace() using obsolete `this`.\n\nChange it to a static function taking a Handle\u003c\u003e.\n\nTest: testrunner.py --host --interp-ac --gcstress -t 021-string2\nBug: 36335996\nChange-Id: I5ab3e7adc59d6a9095290e57d5ce5d46b79f089b\n"
    },
    {
      "commit": "a0d2164747377a34a926c69c2e9e8debfa7e6909",
      "tree": "9caac32f19123ba154ec236e15438a032ec193ee",
      "parents": [
        "f83f3f6ecb1153d96cc8007e8a0d1e35af4d3f38"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Wed Mar 15 14:09:41 2017 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Thu Mar 16 10:55:34 2017 +0100"
      },
      "message": "MIPS64: Add MSA instruction set feature option\n\nMSA (MIPS SIMD Architecture) is SIMD extension which will be used\nfor ART Vectorizer implementation on MIPS64.\n\nTest: mma test-art-target in QEMU\nTest: mma test-art-host-gtest\n\nChange-Id: Ib8cdbac78f7d91c2929bfe5cc29c8795fee26358\n"
    },
    {
      "commit": "32f53883993fbed5f08c1e13606e91acb3715d5d",
      "tree": "21f85b6af385db5059898a771c9f99107e17668b",
      "parents": [
        "7f4e4281f8889511a9d641ed1eb47f92692efbb1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Mar 15 15:25:24 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Mar 15 21:09:47 2017 -0700"
      },
      "message": "Fix sign extension issues\n\nFix sign extension issues when reading and writing pointers to\nint32_t fields.  Cast the pointer to a uint32_t to check if it\nfits, and cast it through uintptr_t and uint32_t.\n\nBug: 36281983\nTest: m -j test-art-host with LibartImgHostBaseAddress \u003d\u003d 0xa0000000\nChange-Id: Idec99dcb5a47f2633a4f14c98af8e23c46dc7052\n"
    },
    {
      "commit": "cbb7ceeda2a35d0dc03a44c0b18c2932da2a72c0",
      "tree": "d1f206344952f23d25f4385cc8ef0525f01aa233",
      "parents": [
        "96cc0a004b5685d8a3fea3cee3105fbbff73437f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Mar 14 15:23:03 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 16 01:29:45 2017 +0000"
      },
      "message": "Increase resolved classes save delay to 5s\n\nIncrease to 5s instead of 2s. 2s is not long enough for some apps\nlaunch slowly with interpret-only filter.\n\nMaps launch avg 10 samples 5s: 1041.5\nMaps launch avg 10 samples 2s: 1073.6\n\nTest: mm\n\nChange-Id: I5e73fccf69ba8fcaa9eca035e409467fe3c39951\n"
    },
    {
      "commit": "e685de7cd0ffc7017a2c310653dc9b6ab9821243",
      "tree": "00aaa406c122d8dd1c9faaf3f2c1d4be6fda7430",
      "parents": [
        "c53528a048e47ef8c51fc5c9667061ebd840adf1",
        "51e417b45fa13050318715d2ad3da99d90b5f334"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Mar 16 01:15:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 16 01:15:17 2017 +0000"
      },
      "message": "Merge \"Tweak ProfileSaver saving strategy\""
    },
    {
      "commit": "a345d3144c56e510866848fd677b05adc7780189",
      "tree": "e17b48d6bffe0174f3307b00f1d8c70d39409eea",
      "parents": [
        "51e417b45fa13050318715d2ad3da99d90b5f334"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Mar 14 18:45:55 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 15 17:19:45 2017 -0700"
      },
      "message": "Ensure the profile is written to disk at shutdown\n\nForce profile saving during shutdown. It will make benchmark automation\nmuch easier.\n\nTest: test-art-host\nBug: 26719109\nChange-Id: I529aa1a7b1192c53960fdb4ddc13b10b99e846cc\n"
    },
    {
      "commit": "c53528a048e47ef8c51fc5c9667061ebd840adf1",
      "tree": "c86f3b2a130f3f9972d0b638651626d418da04e7",
      "parents": [
        "fcfaa8d823017eb209fd6e18a6fe496f4c979026",
        "73a7564e3b49b8475cb43ddc0d55fffdd43bee77"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 15 23:41:51 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 15 23:41:52 2017 +0000"
      },
      "message": "Merge \"Add more logging to OOM in fallback space DCHECK\""
    },
    {
      "commit": "51e417b45fa13050318715d2ad3da99d90b5f334",
      "tree": "e32464e15dbce92747a0383d11498ec5d9b309b9",
      "parents": [
        "13ef0447b43ecbf18d3c4e4c72d66bbbc1815f0c"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Mar 14 17:58:21 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 15 16:18:33 2017 -0700"
      },
      "message": "Tweak ProfileSaver saving strategy\n\nTo minimize the I/O, we used to store the number of methods/classes we\nlast saved globally in the profiler saver. This is no longer viable once\nwe want to track secondary dex files for profiling because each file\nmight save a different set of methods.\n\nTo make sure we do not miss data for secondary dex profiles,\nstore the number of last saved methods separetely for each profile file.\n\nTest: test-art-host\nBug: 26719109\nChange-Id: I3a657f63d26f68c7ca83a754f6e4aa2c9d946176\n"
    },
    {
      "commit": "fcfaa8d823017eb209fd6e18a6fe496f4c979026",
      "tree": "aa16954ce73fa029a571162f40d55bab47eb7069",
      "parents": [
        "f01704050792cdb1556b1e2aab415d40424a7280",
        "219bf253e5158c4f3438e70864b8bf7235c1e193"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 15 22:37:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 15 22:37:48 2017 +0000"
      },
      "message": "Merge \"Revert \"Introduce a number of MSA instructions for MIPS64\"\""
    },
    {
      "commit": "73a7564e3b49b8475cb43ddc0d55fffdd43bee77",
      "tree": "198125fa6e463389d9437ca18c3de9ae941721f5",
      "parents": [
        "ef62210a1466c133056c4bfdae9f8f5417065eff"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 15 14:54:27 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 15 14:54:27 2017 -0700"
      },
      "message": "Add more logging to OOM in fallback space DCHECK\n\nAdd more logging to find out if the object size is valid for its\nregion.\n\nBug: 36233460\nTest: test-art-host\nChange-Id: I046c2094a8964a95293b9abfdfa07050dc572482\n"
    },
    {
      "commit": "219bf253e5158c4f3438e70864b8bf7235c1e193",
      "tree": "0ba845434b3b5679ee62b099c42ad455b4dcc37d",
      "parents": [
        "dcabc8b740bf3066d59348ffdf21c164d2b27cb4"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Mar 15 20:37:50 2017 +0000"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Mar 15 20:37:50 2017 +0000"
      },
      "message": "Revert \"Introduce a number of MSA instructions for MIPS64\"\n\nThis reverts commit dcabc8b740bf3066d59348ffdf21c164d2b27cb4.\n\n\nReason:\nFAILING TESTS\nvalgrind-test-art-host-gtest-assembler_mips64_test32\nninja: build stopped: subcommand failed.\n19:36:36 ninja failed with: exit status 1\nmake: *** [run_soong_ui] Error 1\n\nChange-Id: If658375528d2a0f34bb6b22b6565fab1d863b3f5\n"
    },
    {
      "commit": "ef62210a1466c133056c4bfdae9f8f5417065eff",
      "tree": "d92a51e1fe1bc5c0d73aeb018e8d4042f7ea0d54",
      "parents": [
        "76c84ce90e731413482c316ed59b6334ae90a6c9",
        "f2f1c9dab95892ec2983f57185c2bb0fbce80f80"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 15 18:01:50 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 15 18:01:51 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Refactor annotation code for obsolete methods.\"\"\""
    },
    {
      "commit": "bdaa613753b1ead0a49a1aaa653e88995a8764b0",
      "tree": "37e5bda41a0e7df7c4e48a0179c6acf4815bc3dc",
      "parents": [
        "ba05290bb69e6bc9750d2485cd3dbfb013e61412",
        "a22a656c7a641243f1ea989d32231d1962331d29"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 15 17:27:15 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 15 17:27:16 2017 +0000"
      },
      "message": "Merge \"Fix RegType invariant checks.\""
    },
    {
      "commit": "f2f1c9dab95892ec2983f57185c2bb0fbce80f80",
      "tree": "163613230c2afb656f9ee2b232253d76624e3bf8",
      "parents": [
        "8a31bb939f2ab1fe3f745ade40408ac07267208a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Mar 15 15:35:46 2017 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Mar 15 09:19:22 2017 -0700"
      },
      "message": "Revert \"Revert \"Refactor annotation code for obsolete methods.\"\"\n\nThe number of InterruptedExceptions created during runtime shutdown is\nsometimes inconsistent so we will filter those out of the test results.\n\nThis reverts commit 65e0775010121498a37fa26c64fcc5bb17a6c1b5.\n\nReason for revert: Fixed issue with test flakes\n\nBug: 31455788\nTest: stress --cpu 60; while ./test/run-test --host 980; do; done\n\nChange-Id: Idf53ea11ceec1f48c433da468b31092bf230de57\n"
    },
    {
      "commit": "92d578f48d2c00497f15d9fe45f7683d9af0e109",
      "tree": "3efef0c0de1728e968803d2a51b5c3b065d9d4f0",
      "parents": [
        "8a31bb939f2ab1fe3f745ade40408ac07267208a",
        "dcabc8b740bf3066d59348ffdf21c164d2b27cb4"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Mar 15 15:58:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 15 15:58:57 2017 +0000"
      },
      "message": "Merge \"Introduce a number of MSA instructions for MIPS64\""
    },
    {
      "commit": "6e54f78c7c1e01c1a91a458c6e51cca1c7d13ad4",
      "tree": "49f291aa374928e368ea5cdb05ea54ab62f5d003",
      "parents": [
        "0a1f0798176250853c1fb83f00a436a183d2bfc1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 08 15:27:09 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 15 12:45:05 2017 +0000"
      },
      "message": "Only look at vdex related access flags for class/fields/methods.\n\nclass/fields/methods can have a lot of flags, but only a handful\nof them affect verification.\n\nbug: 35913145\ntest: verifier_deps_test\nChange-Id: I5c374b50e811b5e134cdb868a2cc674900a1bdec\n"
    },
    {
      "commit": "99d035fa0f6915d011d2be9ab2303266ec2fee34",
      "tree": "bfe29e3e50b339fdb393f84e27f651235eb8c427",
      "parents": [
        "31c6ea571197d227fa62ee563461f35ec10ca838",
        "f44d36c8423f81cbb5e9f55d8813e26ffa1a7f3b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 15 10:33:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 15 10:33:18 2017 +0000"
      },
      "message": "Merge \"Revert^2 \"Hash-based DexCache field array.\"\""
    },
    {
      "commit": "a22a656c7a641243f1ea989d32231d1962331d29",
      "tree": "fa25fb8ff611aad39838efeb900485082c948bb6",
      "parents": [
        "fbe1516b91f2117bb9c7282aaea5537572f62dd7"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 14 15:44:22 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Mar 15 10:25:52 2017 +0000"
      },
      "message": "Fix RegType invariant checks.\n\nMove the checks from the base constructor to constructors of\nthe most derived classes. While in the base constructor, the\nvtable points to the base class implementations of virtual\nfunction, so we were not checking what we intended. And when\nthe check failed, we tried to call a pure virtual function\nRegType::Dump() and crashed while constructing an abort\nmessage.\n\nAlso, avoid an unnecessary std::string construction in\nRegType::CheckInvariants() as StringPiece can be compared\nwith const char* directly.\n\nTest: testrunner.py --host\nBug: 32548008\nChange-Id: Ice7ca298132f87f8b1671b6578aeec221f0e7930\n"
    },
    {
      "commit": "31c6ea571197d227fa62ee563461f35ec10ca838",
      "tree": "905b94fe3fb98a0f5eb3dc5d965d993e09ed638a",
      "parents": [
        "279aa660f450b83a9abc69ccf14c9a95fce96a73",
        "bc26b72a96c6e67a30d819506d643cb259886030"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Mar 15 08:45:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 15 08:45:57 2017 +0000"
      },
      "message": "Merge \"Make image oat checksum depend on secondary images.\""
    },
    {
      "commit": "65e0775010121498a37fa26c64fcc5bb17a6c1b5",
      "tree": "5849c59b4e2de57fa8156149597f4a921a2f04d9",
      "parents": [
        "5378b64af97f9ae06082c697a6b13d2b98e02abb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 15 06:56:35 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 15 06:58:57 2017 +0000"
      },
      "message": "Revert \"Refactor annotation code for obsolete methods.\"\n\nTest has flakes.\nBug: 31455788\n\nThis reverts commit 672a0b75c91af44749b1e946684e6a65a884d778.\n\nChange-Id: If00ecbd31abe204bcaf8341eceb674e07c0ac8f2\n"
    },
    {
      "commit": "bfe66b01844328bab508f305df3b5d46ca6798a7",
      "tree": "de590d9346e3b7ffe3725b36792264dc28d5f4f4",
      "parents": [
        "9f2498c21a7d02605e61c5b2145ba55abf1c3703",
        "43e99be9db10111a2d6e094882cd06c248c69e11"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 15 06:29:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 15 06:29:10 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Revert \"CHA for interface method.\"\"\"\""
    },
    {
      "commit": "43e99be9db10111a2d6e094882cd06c248c69e11",
      "tree": "fb4d9ed1e6a5230c3a54e07157f017cf60167e51",
      "parents": [
        "8f301e26943c53485abc2da5ff1907f7c2e0ff0c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 15 06:28:52 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 15 06:28:52 2017 +0000"
      },
      "message": "Revert \"Revert \"Revert \"CHA for interface method.\"\"\"\n\nBreaks libcore tests.\n\nThis reverts commit 8f301e26943c53485abc2da5ff1907f7c2e0ff0c.\n\nChange-Id: Iea46176118be9e05aceb06f2d290961bb1f38265\n"
    },
    {
      "commit": "875e3225c52570a806a8d3719ea89ef9d72bf7ae",
      "tree": "10597eb6e63f7da237cca23e75889c5583561d4e",
      "parents": [
        "bff6bac661d05ad184c831a2b0b224260f2e2956",
        "672a0b75c91af44749b1e946684e6a65a884d778"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 14 21:10:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 14 21:10:33 2017 +0000"
      },
      "message": "Merge \"Refactor annotation code for obsolete methods.\""
    },
    {
      "commit": "b43836abb325f15790f279632931419cd32fdb4d",
      "tree": "6637b667e17aa6a6485c81cafaf75cc9f9d3bc12",
      "parents": [
        "c1af10e85eb517de8794eb11dbde7d464eac4220",
        "d8ce4e73ef9cbbe7cb58ab4ee3258558ee4e73a7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 14 19:11:02 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 14 19:11:03 2017 +0000"
      },
      "message": "Merge \"Don\u0027t send ClassFileLoadHook before JVMTI_PHASE_START.\""
    },
    {
      "commit": "f44d36c8423f81cbb5e9f55d8813e26ffa1a7f3b",
      "tree": "324b41485ce6c414c1a006c72cbcc5ed9f466138",
      "parents": [
        "8d6768d47b66a688d35399d524ad5a5450e9d9d4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 14 14:18:46 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 14 19:03:20 2017 +0000"
      },
      "message": "Revert^2 \"Hash-based DexCache field array.\"\n\nTest: testrunner.py --host --interpreter\nBug: 30627598\n\nThis reverts commit 6374c58f2ea403b3a05fb27376110fe4d0fc8e3f.\n\nChange-Id: I275508e288a85d3aa08f7405a1a4f362af43b775\n"
    },
    {
      "commit": "c1af10e85eb517de8794eb11dbde7d464eac4220",
      "tree": "38e0bc379435cc5de2252b57e8bb1692b370c5f6",
      "parents": [
        "b6b76e47720336c25812688c286853caa71894df",
        "8d6768d47b66a688d35399d524ad5a5450e9d9d4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 14 19:01:01 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 14 19:01:02 2017 +0000"
      },
      "message": "Merge \"Revert^6 \"Hash-based dex cache type array.\"\""
    },
    {
      "commit": "b6b76e47720336c25812688c286853caa71894df",
      "tree": "777bf0218e6ae70c864c17dedcd163d5bad1edab",
      "parents": [
        "7f4e4281f8889511a9d641ed1eb47f92692efbb1",
        "5e03a305edafb49a34b436d9a858281e53d390f2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 14 18:45:04 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 14 18:45:05 2017 +0000"
      },
      "message": "Merge \"ART: Refactor libopenjdkjvmti\""
    },
    {
      "commit": "7f4e4281f8889511a9d641ed1eb47f92692efbb1",
      "tree": "c0c708ef2de16e0c2936e120e72d107044d47d60",
      "parents": [
        "8ae7a8f8bbe3677594a89836431e2cc31f267fb6",
        "8f301e26943c53485abc2da5ff1907f7c2e0ff0c"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Tue Mar 14 17:31:33 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 14 17:31:34 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"CHA for interface method.\"\"\""
    },
    {
      "commit": "672a0b75c91af44749b1e946684e6a65a884d778",
      "tree": "7ae1c2fd5b9e2e7d155d9427848000d381e138d0",
      "parents": [
        "01ea2aa05d6889b4ec08679606d3cdf36b302a8f"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Mar 10 13:09:57 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Mar 14 10:18:12 2017 -0700"
      },
      "message": "Refactor annotation code for obsolete methods.\n\nReading annotations on obsolete ArtMethod* objects would cause\nproblems due to reading from the wrong dex file. We refactored that\ncode so now it always uses the correct dex file when reading\nannotations. This was rarely a problem since obsolete ArtMethods are\nonly ever exposed to the runtime itself which rarely reads\nannotations.\n\nWe also add a test for redefining Object.class. This is one of the\nsmall number of classes where the runtime will read it\u0027s annotations\noff of obsolete methods.\n\nBug: 31455788\nTest: ./test/testrunner/testrunner.py --host -j40\nChange-Id: I5f1c58464b89a7a9198a7b26b015b102a7dc9c2f\n"
    },
    {
      "commit": "dcabc8b740bf3066d59348ffdf21c164d2b27cb4",
      "tree": "1b16fe71dc17f5e3fad5e1f6a865141b5d22da6b",
      "parents": [
        "96cc0a004b5685d8a3fea3cee3105fbbff73437f"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Fri Mar 10 11:53:48 2017 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Tue Mar 14 17:21:19 2017 +0100"
      },
      "message": "Introduce a number of MSA instructions for MIPS64\n\nAdded a number of MSA (The MIPS SIMD Architecture) instructions.\nAdded assembler tests for each instruction.\nMade necessary changes in disassembler for these instructions.\n\nTest: mma test-art-host-gtest\n\nChange-Id: I380f02c6ae5424a96ad999037153228acb07a108\n"
    },
    {
      "commit": "5e03a305edafb49a34b436d9a858281e53d390f2",
      "tree": "97b34d7eb5ab9b1408325c7d8f9085c9f6f6cf67",
      "parents": [
        "fbe1516b91f2117bb9c7282aaea5537572f62dd7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 13 13:10:00 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 14 08:18:08 2017 -0700"
      },
      "message": "ART: Refactor libopenjdkjvmti\n\nMove jvmti.h to its own folder and fix up include setup.\n\nBug: 31455788\nTest: m\nChange-Id: I5beb66fc5d0178746216f61f9214cda54fc2c7ac\n"
    },
    {
      "commit": "8d6768d47b66a688d35399d524ad5a5450e9d9d4",
      "tree": "0b8733baef378d9e060c8e74319a3846489590b2",
      "parents": [
        "fbe1516b91f2117bb9c7282aaea5537572f62dd7"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 14 10:13:21 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 14 13:55:13 2017 +0000"
      },
      "message": "Revert^6 \"Hash-based dex cache type array.\"\n\nFixed ImageWriter to write class table also if it contains\nonly boot class loader classes. Added a regression test and\nadded extra checks for debug-build to verify that dex cache\ntypes from app image are also in the class table. Removed\nsome unnecessary debug output.\n\nTest: 158-app-image-class-table\nBug: 34839984\nBug: 30627598\nBug: 34659969\n\nThis reverts commit 0b66d6174bf1f6023f9d36dda8538490b79c2e9f.\n\nChange-Id: I6a747904940c6ebc297f4946feef99dc0adf930c\n"
    },
    {
      "commit": "d8ce4e73ef9cbbe7cb58ab4ee3258558ee4e73a7",
      "tree": "988c0445016207568160123ac8063487130d8b27",
      "parents": [
        "ebecb7e183eff584827555e918753e86f86e01e0"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 27 10:52:29 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Mar 13 17:45:06 2017 -0700"
      },
      "message": "Don\u0027t send ClassFileLoadHook before JVMTI_PHASE_START.\n\nAll the classes we load prior to transitioning into JVMTI_PHASE_START\nare tightly coupled into the runtime itself. For this reason\nredefining them in the ways allowed by the ClassFileLoadHook during\nfirst load could cause difficult to diagnose problems with the\nruntime. Since there is no good way to determine if the new definition\nis safe nor to report that the definition was ignored we instead\nsimply do not send this event during this stage of runtime\ninitialization.\n\nTest: ./test/testrunner/testrunner.py --host -j40 -b\nChange-Id: I813f2ced49a2a85e485a6f2cf94edb024799c5c0\n"
    },
    {
      "commit": "13ef0447b43ecbf18d3c4e4c72d66bbbc1815f0c",
      "tree": "6fadb55eac1eb097c44279412162463a71e152b0",
      "parents": [
        "cab9aeb472510c23b1ae17d72523428cf303b2bb",
        "8de129774aeb8ad4ae0623e2d335cfd52e63f5c1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 13 21:27:28 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 13 21:27:29 2017 +0000"
      },
      "message": "Merge \"Fix issues due to updated toolchain.\""
    },
    {
      "commit": "bc26b72a96c6e67a30d819506d643cb259886030",
      "tree": "7e84ce42ecb0d560b3ad3f44d7d4bcc5c7e1745a",
      "parents": [
        "96c4715d5ce952999f066ec74ecc8609a0856733"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Mar 10 14:27:10 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Mar 13 16:10:32 2017 +0000"
      },
      "message": "Make image oat checksum depend on secondary images.\n\nRather than explicitly having to load and combine the checksums from\nsecondary images in the case of multi-image, have the image oat\nchecksum for the primary image depend on the contents of all the\nimages.\n\nBug: 35659889\nBug: 34385298\nBug: 35992406\n\nTest: test-art-host\nTest: Manually add field to ZygoteInit, update boot image, verify image\n      is properly relocated and used on device.\nChange-Id: I38bd957d165682edabd0fd1874e8ef7acf923deb\n"
    }
  ],
  "next": "0b66d6174bf1f6023f9d36dda8538490b79c2e9f"
}
