)]}'
{
  "log": [
    {
      "commit": "810fa41e9c19b5569d03b1d7d48eb36add1f135f",
      "tree": "56bd3f2c68dfc24f0488b33ac789e8b3712f17bb",
      "parents": [
        "f64ab19b98ce87b75337afba6684de27e89389a2",
        "f50ac103426588d9f7c014ef2d2b9c766f8dc25e"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Nov 15 15:04:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 15 15:04:47 2018 +0000"
      },
      "message": "Merge \"Simplify hidden_api.h logic\""
    },
    {
      "commit": "f64ab19b98ce87b75337afba6684de27e89389a2",
      "tree": "e781b37dbe4dc3cf1ae830e699211938ace8c345",
      "parents": [
        "721538fa5c8c1a49c552453592e4bd1510995054",
        "a8e8cdf529b97a15204fef7b955144d0a1d17bed"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 15 13:10:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 15 13:10:21 2018 +0000"
      },
      "message": "Merge \"Disable path restrictions on buildbot-build.sh.\""
    },
    {
      "commit": "721538fa5c8c1a49c552453592e4bd1510995054",
      "tree": "f4fc42b589cb9e44b89038b084f61c5047114568",
      "parents": [
        "3c92ff4afe372ab0850ce95321ba4112b7f3dfdd",
        "4e3734a53614a1db710ea34b81f1cc2260790e7a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 15 12:24:35 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 15 12:24:35 2018 +0000"
      },
      "message": "Merge \"Rename HVecReduce::GetKind() to GetReductionKind().\""
    },
    {
      "commit": "3c92ff4afe372ab0850ce95321ba4112b7f3dfdd",
      "tree": "ad11302117615683e27319e1d0cc59f382a8c384",
      "parents": [
        "e923524e86b579846092487cc70d5e639d448603",
        "8786fd93e01b9c88f708c14743925489f8db8c28"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 15 09:48:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 15 09:48:38 2018 +0000"
      },
      "message": "Merge \"x86/x86-64: Remove broken codegen for MIN/MAX reduction.\""
    },
    {
      "commit": "e923524e86b579846092487cc70d5e639d448603",
      "tree": "3128336a1b879758dd656104411b26d6910daaac",
      "parents": [
        "0bcbe9399dfc546db5c81b13979afc85da19d025",
        "ec3adef6e4a5c71d16d4e9d00ef810759ea7da15"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 15 06:00:19 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 15 06:00:19 2018 +0000"
      },
      "message": "Merge \"libdexfile: rename kVerifyNone to kVerifyNothing\""
    },
    {
      "commit": "4e3734a53614a1db710ea34b81f1cc2260790e7a",
      "tree": "2d1c5afdff2a46e71d6c576da2d0da0eb7e44f04",
      "parents": [
        "8786fd93e01b9c88f708c14743925489f8db8c28"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 15:45:28 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 18:44:19 2018 +0000"
      },
      "message": "Rename HVecReduce::GetKind() to GetReductionKind().\n\nAvoid hiding HInstruction::GetKind().\n\nTest: m test-art-host-gtest\nChange-Id: If7334af437d0a6d93b8228763451c80876aa4d00\n"
    },
    {
      "commit": "0bcbe9399dfc546db5c81b13979afc85da19d025",
      "tree": "ba60269d976c8e7587cfe3a02e0cc16fbd544f64",
      "parents": [
        "01d45400c7fb057a8c3832708ae5b237a05645db",
        "4deaa9b3780998df8d0dca9670446aeae1df93ef"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 18:08:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 18:08:20 2018 +0000"
      },
      "message": "Merge changes I1617a601,Ifa324bea\n\n* changes:\n  ART: Apply --no-inline-from\u003d option on device.\n  Postpone DexCache preloading in the ImageWriter.\n"
    },
    {
      "commit": "01d45400c7fb057a8c3832708ae5b237a05645db",
      "tree": "467279ab5192d79298f20a03b56762c9db1c1a9e",
      "parents": [
        "b56e8353020acda1a8285daa11c69f57060cd015",
        "cbdca728b45a3eae3f6f7da4b499b292ebc42ea5"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Nov 14 18:07:13 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 18:07:13 2018 +0000"
      },
      "message": "Merge \"Add art-linux-bionic-x64 target-config\""
    },
    {
      "commit": "4deaa9b3780998df8d0dca9670446aeae1df93ef",
      "tree": "c4787f31662fe9e71ab1ff8321be3850460540bc",
      "parents": [
        "38cf60adda75d4d8646a3b4caa33c239e48dee03"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 14:48:15 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 17:22:06 2018 +0000"
      },
      "message": "ART: Apply --no-inline-from\u003d option on device.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Manually check that compiling boot image with\n      appropriate options on host and on device yields\n      identical results.\nBug: 119436742\n\nChange-Id: I1617a601a3a82e2ebd687a6b53e7e8a7ff610d87\n"
    },
    {
      "commit": "38cf60adda75d4d8646a3b4caa33c239e48dee03",
      "tree": "6f36c95c21eb2af2bf43d3f7728260f697d20533",
      "parents": [
        "e99f73533df5e3b8c4b2afef753ee50ffb9ff050"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 13 16:17:02 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 17:18:42 2018 +0000"
      },
      "message": "Postpone DexCache preloading in the ImageWriter.\n\nPreload the DexCache with deterministic contents just before\nwe\u0027re about to copy it to the image memory.\n\nPreviously the contents of the preloaded dex cache arrays\nwere further modified by the OatWriter. As long as OatWriter\nwas processing the same data on a single thread, this was\ndeterministic but it was not working as originally intended.\n\nAlso fix OatWriter::InitImageMethodVisitor::StartClass() to\nuse the deterministic ClassLinker::LookupResolvedType()\nrather than checking only the DexCache.\n\nClean up OatWriter::InitImageMethodVisitor::VisitMethod(),\ncall LookupResolvedMethod() instead of ResolveMethod() for\nboot image methods as they should be already resolved.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Manually verify with oatdump that dex cache array\n      contents are the same when compiling on host and\n      on the device.\nBug: 119436742\nChange-Id: Ifa324beabac2482621529655f72b4f734bd62030\n"
    },
    {
      "commit": "f50ac103426588d9f7c014ef2d2b9c766f8dc25e",
      "tree": "bac6537c3cd63cc382e24d9b94f0eb64f18ab0a4",
      "parents": [
        "b56e8353020acda1a8285daa11c69f57060cd015"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Oct 17 18:00:06 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Nov 14 16:49:40 2018 +0000"
      },
      "message": "Simplify hidden_api.h logic\n\nRefactor GetMemberAction to return a boolean whether access to a class\nmember should be denied. This also moves StrictMode consumer\nnotification into hidden_api.cc and removes notifications for toasts.\nTests are changed accordingly.\n\nTest: phone boots\nTest: m test-art\nMerged-In: I02902143de0ff91d402ba79c83f28226b1822a6f\nChange-Id: I02902143de0ff91d402ba79c83f28226b1822a6f\n(cherry picked from commit 51995f90adaa0e5047dee56d22f15e4225e70517)\n"
    },
    {
      "commit": "ec3adef6e4a5c71d16d4e9d00ef810759ea7da15",
      "tree": "2dfccbc2d529ad40c23681d3bbfcb9e47d5e62eb",
      "parents": [
        "b56e8353020acda1a8285daa11c69f57060cd015"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Nov 14 16:16:37 2018 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Nov 14 16:16:37 2018 +0000"
      },
      "message": "libdexfile: rename kVerifyNone to kVerifyNothing\n\nDisambiguation for clang compiler drop.\n\nBug: 119327768\nTest: art/tools/buildbot-build.sh --host -j32\nTest: Treehugger\nChange-Id: I5937868cdde6127ffca92d1dbb9be3ede6792b88\n"
    },
    {
      "commit": "8786fd93e01b9c88f708c14743925489f8db8c28",
      "tree": "23611dc79c1a9c37160827b56dce0cfa10878d1a",
      "parents": [
        "e99f73533df5e3b8c4b2afef753ee50ffb9ff050"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 15:47:03 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 15:48:38 2018 +0000"
      },
      "message": "x86/x86-64: Remove broken codegen for MIN/MAX reduction.\n\nThis broken code was currently unreachable.\n\nTest: m\nBug: 117863065\nChange-Id: I573d94bc30a53727958a6a66fb3a0afb00dcbbd2\n"
    },
    {
      "commit": "b56e8353020acda1a8285daa11c69f57060cd015",
      "tree": "cb570cb734aa7d51761985639c42b77f9b8f97d0",
      "parents": [
        "d0834e4a44440a8faf199024a030731ad26aae68",
        "12dd9aee74a588bf31f151cebba930849b4baceb"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Nov 14 14:13:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 14:13:52 2018 +0000"
      },
      "message": "Merge \"Use unified libvixl(d) instead of per-supported-arch libvixl(d)-arm(64).\""
    },
    {
      "commit": "d0834e4a44440a8faf199024a030731ad26aae68",
      "tree": "0e9219249ed08f2f966f7a294b186ddf4d30d8cc",
      "parents": [
        "e99f73533df5e3b8c4b2afef753ee50ffb9ff050",
        "435516229e5f511d1ac4498da58372c8fece35b7"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 14 11:50:03 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 11:50:03 2018 +0000"
      },
      "message": "Merge \"Revert^2 \"Link lzma and lz4 compression libs statically into libartbase and use that\"\""
    },
    {
      "commit": "e99f73533df5e3b8c4b2afef753ee50ffb9ff050",
      "tree": "cbb3a6ee148bb2456b454bfbfffee5527842a266",
      "parents": [
        "b81c59ebb56db1fc454a59570426c40b6d619c5b",
        "790ff518ad4d08ed4fb105f5c011c0ec47e092cd"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Nov 14 10:24:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 10:24:59 2018 +0000"
      },
      "message": "Merge \"Add mterp checks after monitor entry/exit opcodes.\""
    },
    {
      "commit": "b81c59ebb56db1fc454a59570426c40b6d619c5b",
      "tree": "589277760527d8a1a53f99f07141a3e3e71a0716",
      "parents": [
        "2b021c83498e523781ef3f413ebe34a3512900b3",
        "6be1dbd3bc34b2cfa0fe257acbea273f1b6f4a53"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 10:24:06 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 10:24:06 2018 +0000"
      },
      "message": "Merge \"ART: Rewrite core image detection.\""
    },
    {
      "commit": "6be1dbd3bc34b2cfa0fe257acbea273f1b6f4a53",
      "tree": "1840224989e4cbd538081951d948ed6a19bc61b4",
      "parents": [
        "dbcb48fc0d0841f327d108246487a4ef3df556ed"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 13 13:09:51 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 10:21:55 2018 +0000"
      },
      "message": "ART: Rewrite core image detection.\n\nRemove unused compiler option `core_image_` and cache\nthe IsCompilingWithCoreImage in the CompilerOptions instead.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: Idcf3b6c96dab9a39f823a16778e7698589442cd8\n"
    },
    {
      "commit": "790ff518ad4d08ed4fb105f5c011c0ec47e092cd",
      "tree": "bf9def1c8a0567905bec3946ee67fe7410ca3715",
      "parents": [
        "4630f9a032575f75be317fe0d8dc054bbce5790a"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Nov 09 18:55:19 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Nov 14 10:01:02 2018 +0000"
      },
      "message": "Add mterp checks after monitor entry/exit opcodes.\n\nCheck whether we are allowed to continue running in mterp.\n\nThis tries to enforce that we bail out of mterp after suspend point\nif needed (in particular, if debugger event switches interpreters).\n\nTest: ./art/test.py -b -r --interpreter\nChange-Id: If2d55e5ece22831ef864c181b7d6d5c70ca50e5d\n"
    },
    {
      "commit": "2b021c83498e523781ef3f413ebe34a3512900b3",
      "tree": "a26e2840a559a0214c532293166d3bd03a9dac0f",
      "parents": [
        "330d41da48a943baa467ab2ce745cd9c64998d7b",
        "d060c0bf62152296d1ce958517ebb0adbf77ee9d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 14 08:45:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 08:45:39 2018 +0000"
      },
      "message": "Merge \"Blacklist test now timing out on gcstress/target.\""
    },
    {
      "commit": "330d41da48a943baa467ab2ce745cd9c64998d7b",
      "tree": "5230eb407ae020fcd94494848a5ca784cec85f0a",
      "parents": [
        "dc02fc39435bc67e0fdd817217c57ede7b8613fb",
        "fa5869af7629bc5a4f70f4cc41b553c32ff8c5d4"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Nov 14 03:57:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 03:57:28 2018 +0000"
      },
      "message": "Merge \"Move file_contexts to under /system/sepolicy\""
    },
    {
      "commit": "dc02fc39435bc67e0fdd817217c57ede7b8613fb",
      "tree": "5a287242979fa333a0701434d36784df09faadf8",
      "parents": [
        "9e9fc708e32ace076b8fc9f809055662e1090762",
        "b1b21d73e1fdb62a4ca7871b61e9d90ce997b8cb"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Nov 14 00:50:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 00:50:27 2018 +0000"
      },
      "message": "Merge \"Ignore thread intel_svc_streamer_thread in test 911\""
    },
    {
      "commit": "b1b21d73e1fdb62a4ca7871b61e9d90ce997b8cb",
      "tree": "85acc7d4b80cd318fa0b4e37d5667cf240bdcb58",
      "parents": [
        "9c4bb4578df6449e61c1c46ea4eee36f463b0414"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 13 16:29:57 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 13 16:29:57 2018 -0800"
      },
      "message": "Ignore thread intel_svc_streamer_thread in test 911\n\nOn some versions of android a background thread with the name\n\u0027intel_svc_streamer_thread\u0027 will be present. This was causing the test\nto incorrectly fail when run by CTS.\n\nTest: atest CtsJvmtiRunTest911HostTestCases\nBug: 111276913\nBug: 117944706\nBug: 119518938\nChange-Id: I601ea06925c903ac04d7efc1c3c7d84af977d296\n"
    },
    {
      "commit": "9e9fc708e32ace076b8fc9f809055662e1090762",
      "tree": "1811ae6bf398986bc5a14e8f9b0b50f0b92f6483",
      "parents": [
        "e5a56803936246a0c5d8ddbaeba59e009cec6f82",
        "d6f301911ad977365db969283b67466dd4a76424"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 14 00:22:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 00:22:20 2018 +0000"
      },
      "message": "Merge \"Remove kDex2OatHostKey from oat-header\""
    },
    {
      "commit": "cbdca728b45a3eae3f6f7da4b499b292ebc42ea5",
      "tree": "056328157334dd17c3e1b7ed4140702e29759f7d",
      "parents": [
        "bad5c9a1f43148dc71f3b8e61cc201bc815fbac6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 13 14:03:02 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 13 14:45:30 2018 -0800"
      },
      "message": "Add art-linux-bionic-x64 target-config\n\nThis config can be used to run linux_bionic tests. Updated\nrun_build_test_target.py to support allowing fully custom build\ninstructions (Linux_Bionic cannot be built with a simple make\ncommand).\n\nTest: ./art/test/testrunner/run_build_test_target.py -j72 art-linux-bionic-x64\nBug: 118778408\nChange-Id: I27d12c508407e318d31fc50e541f7d990118e7b6\n"
    },
    {
      "commit": "e5a56803936246a0c5d8ddbaeba59e009cec6f82",
      "tree": "a367c07dbe9bb1eb844d02b4e868dab8e43788c9",
      "parents": [
        "d8b963fecd89b0624140fe78c8fd0604d24c8353",
        "c6bd42aa7e0ad6f394a55c4d972570b441574e85"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 13 22:27:51 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 13 22:27:51 2018 +0000"
      },
      "message": "Merge changes Iefe0f159,Ibe5bf113,Ic3d158d5\n\n* changes:\n  ART: Fix deopt manager JIT attempt\n  ART: Add Runtime::IsSafeMode\n  ART: Split Runtime::IsNativeDebuggable\n"
    },
    {
      "commit": "d8b963fecd89b0624140fe78c8fd0604d24c8353",
      "tree": "8d75dec45d2266401313de20836f23a195201867",
      "parents": [
        "57ee3473336912d89d7b9c2925dfbeab6eda3277",
        "9893c4773ce1da4dfb9f15140e93bf785abd89f7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 13 22:10:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 13 22:10:47 2018 +0000"
      },
      "message": "Merge \"Add missed null check in ClassLoaderContext::VerifyClassLoaderContextMatch.\""
    },
    {
      "commit": "c6bd42aa7e0ad6f394a55c4d972570b441574e85",
      "tree": "8846b34564a4b551ea467d8af24db13c28071b9e",
      "parents": [
        "83e2049b2ac8de0adac04a9a4229dbec7909df1e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 07 13:39:41 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 13 10:23:16 2018 -0800"
      },
      "message": "ART: Fix deopt manager JIT attempt\n\nIf the JIT is supposed to be started, a code cache needs to\nbe created first.\n\nBug: 119063276\nTest: m test-art-host\nTest: device boots\nChange-Id: Iefe0f159e4d75a2c534f703279b406ad6f0b5876\n"
    },
    {
      "commit": "83e2049b2ac8de0adac04a9a4229dbec7909df1e",
      "tree": "d34e9dd9d842eb929e57afee6c2a0d723778d336",
      "parents": [
        "d32ce09761ed5c6ecdd95396d0d668f04ccffd44"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 07 11:12:26 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 13 10:23:16 2018 -0800"
      },
      "message": "ART: Add Runtime::IsSafeMode\n\nEnsure that the safe mode can only be checked in non-zygote\nprocesses.\n\nBug: 119063276\nTest: m test-art-host\nTest: device boots\nChange-Id: Ibe5bf113c042dfb572c8a94ab17406cb8933ee62\n"
    },
    {
      "commit": "d32ce09761ed5c6ecdd95396d0d668f04ccffd44",
      "tree": "28c16c8ef6d6562af6e9cf33522bcd7ca6fada1d",
      "parents": [
        "57ee3473336912d89d7b9c2925dfbeab6eda3277"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 07 11:08:40 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 13 10:23:16 2018 -0800"
      },
      "message": "ART: Split Runtime::IsNativeDebuggable\n\nEnsure that the main version cannot be called in the zygote.\n\nBug: 119063276\nTest: m test-art-host\nTest: device boots\nChange-Id: Ic3d158d5d75fa6982411402f69062ac333b20798\n"
    },
    {
      "commit": "d6f301911ad977365db969283b67466dd4a76424",
      "tree": "00bfbfac77f6242f41c7951e35804296a0e90ec1",
      "parents": [
        "bad5c9a1f43148dc71f3b8e61cc201bc815fbac6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Nov 12 16:49:31 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 13 10:21:23 2018 -0800"
      },
      "message": "Remove kDex2OatHostKey from oat-header\n\nThe oat-header used to include the ISA of the dex2oat used to compile\nthe image. This made cross-compiling a bitwise identical oat/image\nfile impossible and is not terribly useful so it was removed.\n\nTest: ./test.py --host\nBug: 119332327\nChange-Id: If9d21b5997907ee01283d1345749a01e2a2359ea\n"
    },
    {
      "commit": "9893c4773ce1da4dfb9f15140e93bf785abd89f7",
      "tree": "3b665e3d9064957f6cc5b8eb9cf7b0c5177c91bc",
      "parents": [
        "61f9bf1d48c43a4b65df5d0fe2d70c4ee87921f8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 13 15:39:53 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 13 15:39:53 2018 +0000"
      },
      "message": "Add missed null check in ClassLoaderContext::VerifyClassLoaderContextMatch.\n\nbug: 119441748\nTest: class_loader_context_test\nChange-Id: I68301a568eb321b42209584a3328e9a1b0fcc7ba\n"
    },
    {
      "commit": "435516229e5f511d1ac4498da58372c8fece35b7",
      "tree": "e510804ebf5b8f1786a7c377e1cef9fb5bb11d90",
      "parents": [
        "e5ed5bafc97e65e8d2b60ddaca48754a50ca5692"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Nov 09 15:14:54 2018 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Nov 13 15:15:37 2018 +0000"
      },
      "message": "Revert^2 \"Link lzma and lz4 compression libs statically into libartbase and use that\"\n\nThis reverts commit 9960cbc0ff98978a9b32f14ae77d8ddb3c6908d9.\n\nReason for revert: This is the same as aosp/815019 except version_script is\nexcluded on Darwin. I think it should pass the mac targets, but haven\u0027t\ntested.\n\nTest: art/tools/buildbot-build.sh {--host,--target}\nTest: art/test/testrunner/run_build_test_target.py art-asan (not on Darwin)\nTest: python frameworks/rs/build_rs.py (on Darwin, thanks Orion!)\nBug: 118374951\nChange-Id: I7a362381f6d891c6dc1304e5fcf6f8851aa67d7c\n"
    },
    {
      "commit": "57ee3473336912d89d7b9c2925dfbeab6eda3277",
      "tree": "6bc700e4894039514d444ff8f635a5bf3ef8c5c3",
      "parents": [
        "61f9bf1d48c43a4b65df5d0fe2d70c4ee87921f8",
        "dbcb48fc0d0841f327d108246487a4ef3df556ed"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 13 13:16:01 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 13 13:16:01 2018 +0000"
      },
      "message": "Merge \"Avoid unnecessary read barriers in mirror::Class.\""
    },
    {
      "commit": "fa5869af7629bc5a4f70f4cc41b553c32ff8c5d4",
      "tree": "b22f07434598cc61d2205b1027a671307725a7f5",
      "parents": [
        "01812cf9fa9a28d15f24b47a4b2893dd8e06e7a4"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Sat Nov 10 06:49:31 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Nov 13 11:54:01 2018 +0000"
      },
      "message": "Move file_contexts to under /system/sepolicy\n\nBug: 119034475\nBug: 113373927\nTest: m com.android.runtime\nChange-Id: I3d8dbcb91297248a75cc2d81d21fe2a74f6e3cb6\n"
    },
    {
      "commit": "61f9bf1d48c43a4b65df5d0fe2d70c4ee87921f8",
      "tree": "aac38c1eec083a7d2a242ad89d90d48353480355",
      "parents": [
        "01812cf9fa9a28d15f24b47a4b2893dd8e06e7a4",
        "104883b04617a850adf11f05e57c2fd29e09c83c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 13 11:46:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 13 11:46:21 2018 +0000"
      },
      "message": "Merge \"Clean up primitive array helpers in Object.\""
    },
    {
      "commit": "01812cf9fa9a28d15f24b47a4b2893dd8e06e7a4",
      "tree": "5edf45b63e5ea98516d9212efb87fbeea08ec17c",
      "parents": [
        "e5ed5bafc97e65e8d2b60ddaca48754a50ca5692",
        "5cc0e75552b379e051168d832474f4d3989e9f74"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 12 23:15:35 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 12 23:15:35 2018 +0000"
      },
      "message": "Merge \"Emit JVMTI events for LockSupport.park\""
    },
    {
      "commit": "e5ed5bafc97e65e8d2b60ddaca48754a50ca5692",
      "tree": "89d2da51e5e95eefbf7159e40f9fbbd6fa233b97",
      "parents": [
        "d1f1ccbd8c29962727ee859f71f11c8cfabcfaa1",
        "a66784b09f10d847b49bc878f10c45690e212f0b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 12 18:17:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 12 18:17:23 2018 +0000"
      },
      "message": "Merge \"Optimize mod power 2 for x86\""
    },
    {
      "commit": "d1f1ccbd8c29962727ee859f71f11c8cfabcfaa1",
      "tree": "761a1124b6581dc5d6bb176185852d27b090a652",
      "parents": [
        "a344b8c25a98471d99632a28530b03ed770f8e2e",
        "976b01f62ad8fa2e4a25f64c152839eb37552f9e"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Nov 12 17:48:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 12 17:48:47 2018 +0000"
      },
      "message": "Merge \"hiddenapi: Initialize unused value in DexFile::MapItem\""
    },
    {
      "commit": "5cc0e75552b379e051168d832474f4d3989e9f74",
      "tree": "c06f4bdb02252442fe68c2e978106862a0f93a1c",
      "parents": [
        "a344b8c25a98471d99632a28530b03ed770f8e2e"
      ],
      "author": {
        "name": "Charles Munger",
        "email": "clm@google.com",
        "time": "Fri Nov 09 12:30:46 2018 -0800"
      },
      "committer": {
        "name": "Charles Munger",
        "email": "clm@google.com",
        "time": "Mon Nov 12 17:32:59 2018 +0000"
      },
      "message": "Emit JVMTI events for LockSupport.park\n\nThis restores the behavior from when park was implemented with\nwait/notify, except that the blocker object is used as the monitor\nrather than the Thread that is parking.\n\nBug: 28845097\nTested: ./test/run-test --jvm 1931\n\nChange-Id: I523d719ca3e49a538c06f48f032b322fb91e147e\n"
    },
    {
      "commit": "d060c0bf62152296d1ce958517ebb0adbf77ee9d",
      "tree": "aa274cf29106458b59c9262b6a56fd75085bfc4c",
      "parents": [
        "4630f9a032575f75be317fe0d8dc054bbce5790a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 12 13:27:30 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 12 17:29:23 2018 +0000"
      },
      "message": "Blacklist test now timing out on gcstress/target.\n\nStarted happening in the same build as:\n\n- interpreter switch refactoring:\nhttps://android.googlesource.com/platform/art/+/b70c999fcc3ff4d4988e0214f4d18783ff35edf7\n\n- R8 drop:\nhttps://android.googlesource.com/platform/prebuilts%2Fr8/+/3f5cf1c79d98d7c2c5ee1da046cd2a028eb835e9\n\nTest: run-libcore-tests.sh\nChange-Id: I50651638d8e995acd7ff58c823ea7cd784d9cf77\n"
    },
    {
      "commit": "dbcb48fc0d0841f327d108246487a4ef3df556ed",
      "tree": "3abcfa87be3178d040739c465ce54f90dda96aa6",
      "parents": [
        "104883b04617a850adf11f05e57c2fd29e09c83c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 12 11:47:04 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 12 16:35:06 2018 +0000"
      },
      "message": "Avoid unnecessary read barriers in mirror::Class.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nChange-Id: Id98ebedf185bfc7f31eda506604c072f68b7a084\n"
    },
    {
      "commit": "a66784b09f10d847b49bc878f10c45690e212f0b",
      "tree": "a18ee4ec39a44256223b9f756159bfd535ddfde3",
      "parents": [
        "fe59955fc41e277bf1c60378202ba785abb1e4a8"
      ],
      "author": {
        "name": "Shalini Salomi Bodapati",
        "email": "shalini.salomi.bodapati@intel.com",
        "time": "Tue Nov 06 13:05:44 2018 +0530"
      },
      "committer": {
        "name": "Shalini Salomi Bodapati",
        "email": "shalini.salomi.bodapati@intel.com",
        "time": "Mon Nov 12 21:09:32 2018 +0530"
      },
      "message": "Optimize mod power 2 for x86\n\nTest: 411-checker-hdiv-hrem-pow2, test.py --host\n\nChange-Id: I9334a3eb2cb50df439b56c0161379fef46e58603\nSigned-off-by: Shalini Salomi Bodapati \u003cshalini.salomi.bodapati@intel.com\u003e\n"
    },
    {
      "commit": "104883b04617a850adf11f05e57c2fd29e09c83c",
      "tree": "51d436588505a3ead506d633bdf97c9b4c934ae0",
      "parents": [
        "00e96d054e2b656d4d0f99fc141d1701af4dba23"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 09 17:12:23 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 12 15:26:21 2018 +0000"
      },
      "message": "Clean up primitive array helpers in Object.\n\nRefactor these helpers and avoid read barriers. Remove\nClass::Is{Int,Long}ArrayClass() and use the Object helpers\ninstead.\n\nRemove the AsByteSizedArray() and AsShortSizedArray()\nhelpers that essentially break the type system and rewrite\ntheir users, adding appropriate notes. {Float,Double}Array\nuses in Unsafe would have previously failed a DCHECK().\n\nTest: Additional test in 004-UnsafeTest.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: I88b7e3df7de883f64cfc5eb437a40646f2884685\n"
    },
    {
      "commit": "a344b8c25a98471d99632a28530b03ed770f8e2e",
      "tree": "d6de23e626ce4e75d717cc60cb7d335710120178",
      "parents": [
        "4630f9a032575f75be317fe0d8dc054bbce5790a",
        "d26a519feba8779360251c38c82cf39294fcab27"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Nov 12 13:40:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 12 13:40:50 2018 +0000"
      },
      "message": "Merge \"Have the ART Buildbot\u0027s build script build the Android Runtime APEX.\""
    },
    {
      "commit": "976b01f62ad8fa2e4a25f64c152839eb37552f9e",
      "tree": "5b6206e8a069f5b824e7c96582188f1601a4afa0",
      "parents": [
        "fe59955fc41e277bf1c60378202ba785abb1e4a8"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Nov 12 10:46:14 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Nov 12 10:49:29 2018 +0000"
      },
      "message": "hiddenapi: Initialize unused value in DexFile::MapItem\n\nThe build tool adds a new MapItem into the MapList of a dex file\nwhich points to the new hiddenapi flags section. However, hiddenapi\nwould not initialize the `unused_` field in MapItem and therefore\nresult in non-deterministic builds.\n\nBug: 119308882\nTest: invoke hiddenapi twice of the same dex, diff the two files\nChange-Id: I00d0dc909a3424f3eb2776cf87719c074f264e74\n"
    },
    {
      "commit": "4630f9a032575f75be317fe0d8dc054bbce5790a",
      "tree": "8707efe278793db2825ae021cd8d7dd466e4d2d4",
      "parents": [
        "bad5c9a1f43148dc71f3b8e61cc201bc815fbac6",
        "c665d6368e85a5eb8055a58c535b41777c97d7c7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 09 21:42:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 09 21:42:39 2018 +0000"
      },
      "message": "Merge \"Revert^2 \"Notify waiters when releasing the monitor\"\""
    },
    {
      "commit": "d26a519feba8779360251c38c82cf39294fcab27",
      "tree": "a42f5dd8a3c12de0de1e7f5cf55ac280b2cd04ae",
      "parents": [
        "bad5c9a1f43148dc71f3b8e61cc201bc815fbac6"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Nov 09 19:35:32 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Nov 09 19:35:32 2018 +0000"
      },
      "message": "Have the ART Buildbot\u0027s build script build the Android Runtime APEX.\n\nEnable it for target builds, so that the ART Buildbot exercises the\nRuntime APEX module build rule.\n\nTest: art/tools/buildbot-build.sh --target\nBug: 113373927\nChange-Id: Iefe2a8ea4c0f4fc481e5f12afe9086eb9ed3f3bc\n"
    },
    {
      "commit": "bad5c9a1f43148dc71f3b8e61cc201bc815fbac6",
      "tree": "755c3378d35c4f5fe96423ec58a8a48e4b5d1b4b",
      "parents": [
        "00e96d054e2b656d4d0f99fc141d1701af4dba23",
        "e260e5438ff0dc4a4a3547c434e2364ad039f43a"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Nov 09 15:57:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 09 15:57:44 2018 +0000"
      },
      "message": "Merge \"ART: add GC live ratio metrics to GC performance\""
    },
    {
      "commit": "c665d6368e85a5eb8055a58c535b41777c97d7c7",
      "tree": "712cc488031bbf89767676d3a651df1a94ada611",
      "parents": [
        "4fc843c4fc9f33c4ba49c1303d526d0e0e6a3788"
      ],
      "author": {
        "name": "Charles Munger",
        "email": "clm@google.com",
        "time": "Tue Nov 06 16:20:13 2018 +0000"
      },
      "committer": {
        "name": "Charles Munger",
        "email": "clm@google.com",
        "time": "Fri Nov 09 07:52:11 2018 -0800"
      },
      "message": "Revert^2 \"Notify waiters when releasing the monitor\"\n\nThis reverts commit 9cec9658ec0b7a6c715a154ec834faba853188e3.\n\nReason for revert: Changed lock ordering to not require reacquiring the\nmonitor lock while holding the wait lock.\n\nTested: 1000 iterations of ThreadStress\nBug: 117842465\nChange-Id: I7b54943052c5eba367eac86da9646bfc81bc1163\n"
    },
    {
      "commit": "00e96d054e2b656d4d0f99fc141d1701af4dba23",
      "tree": "85cb8740401b0b61f80400e520700978a0628e80",
      "parents": [
        "f0c883ba9b90d4e808c8f3fb25f988c436cfbe55",
        "5f250014f4cc348a573798c4daa191ea1381078d"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Nov 09 14:26:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 09 14:26:28 2018 +0000"
      },
      "message": "Merge \"Make exception handling code in switch interpreter NO_INLINE.\""
    },
    {
      "commit": "e260e5438ff0dc4a4a3547c434e2364ad039f43a",
      "tree": "3d1d5fbacacc1549f66dfca6796bd79ed63460de",
      "parents": [
        "9c4bb4578df6449e61c1c46ea4eee36f463b0414"
      ],
      "author": {
        "name": "Albert Mingkun Yang",
        "email": "albertnetymk@google.com",
        "time": "Mon Nov 05 13:45:59 2018 +0000"
      },
      "committer": {
        "name": "Albert Mingkun Yang",
        "email": "albertnetymk@google.com",
        "time": "Fri Nov 09 13:11:28 2018 +0000"
      },
      "message": "ART: add GC live ratio metrics to GC performance\n\nRecord average GC live ratio (copied bytes over allocated bytes in\nform-space), and GC count for both minor and major ConcurrentCopy GC,\nand print both if DumpGCPerformanceOnShutdown is set.\n\nTest: Run art with -XX:DumpGCPerformanceOnShutdown on some benchmarks.\nBug: 112187497\nChange-Id: I587f92d847b899c81bf7a6d7303f7b54527c6f33\n"
    },
    {
      "commit": "f0c883ba9b90d4e808c8f3fb25f988c436cfbe55",
      "tree": "6b91edfbf19314a1b000938758f23f3c740c6e9e",
      "parents": [
        "fdf6401e1594e71a1e86d455d55333b939160bd9",
        "38a938e2e83f5baa3238ce3b28ba4c61a268dd3d"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Nov 09 11:47:08 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 09 11:47:08 2018 +0000"
      },
      "message": "Merge \"Minimal Android Runtime APEX module.\""
    },
    {
      "commit": "5f250014f4cc348a573798c4daa191ea1381078d",
      "tree": "ea7937619632fa1fa341563a5b8c443bcf77fd2f",
      "parents": [
        "fdf6401e1594e71a1e86d455d55333b939160bd9"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 08 14:16:38 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Nov 09 11:42:17 2018 +0000"
      },
      "message": "Make exception handling code in switch interpreter NO_INLINE.\n\nExceptions should be rare so the code can be shared.\nThe compiler needs a bit of help with optimization.\n\nIt saves 81k(arm32) and 150k(arm64) from libart.so.\n\nPerformance difference is within noise (golem using the switch).\n\nTest: \"./art/test.py -b -r --interpreter --host\" with switch interpreter.\nChange-Id: I08a5690ceaf6b3cae8c2a486ab809e5604b88e0a\n"
    },
    {
      "commit": "fdf6401e1594e71a1e86d455d55333b939160bd9",
      "tree": "3f06c26230a0382f2196e60259e54eb2ee8786de",
      "parents": [
        "9c4bb4578df6449e61c1c46ea4eee36f463b0414",
        "8ed45c876077771455d63dd7e315b439230812f8"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Nov 09 11:23:43 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 09 11:23:43 2018 +0000"
      },
      "message": "Merge \"Add test configuration for the switch interpreter.\""
    },
    {
      "commit": "38a938e2e83f5baa3238ce3b28ba4c61a268dd3d",
      "tree": "8b29c26d90b998fc717181298349ac2348f29c5f",
      "parents": [
        "a5de05da46e8a93436e68e7e0d242dce46269527"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Sep 21 10:55:51 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 08 19:38:07 2018 +0000"
      },
      "message": "Minimal Android Runtime APEX module.\n\nIntroduce build rules to generate com.android.runtime, a minimal\nAndroid Runtime APEX module containing just ART and its dependencies.\n\nWhen module com.android.runtime is built (`make com.android.runtime`),\nmake produces a `com.android.runtime.apex` package in the `apex`\ndirectory of the system partition\n(`$ANDROID_PRODUCT_OUT/system/apex/com.android.runtime.apex`).\n\nThis module is not built by default when generating a system image.\n\nTest: make com.android.runtime\nTest: art/build/apex/runtests.sh\nBug: 113373927\nChange-Id: I2019bd1934558feba6eccef13b887b2faa96caec\n"
    },
    {
      "commit": "9c4bb4578df6449e61c1c46ea4eee36f463b0414",
      "tree": "4e1ff9218394e44fc8c99d13d4d6fe92851c6b5f",
      "parents": [
        "a5de05da46e8a93436e68e7e0d242dce46269527",
        "a297b55dd8be424c7cdd4328356431d62e833d8f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 08 19:23:08 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 19:23:08 2018 +0000"
      },
      "message": "Merge \"Delete IsClassToCompile\""
    },
    {
      "commit": "8ed45c876077771455d63dd7e315b439230812f8",
      "tree": "239cc6db092fa00908af0be433b80baff16b172e",
      "parents": [
        "a5de05da46e8a93436e68e7e0d242dce46269527"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 08 15:08:57 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 08 17:09:16 2018 +0000"
      },
      "message": "Add test configuration for the switch interpreter.\n\nBug: 31358597\nTest: ./art/test/testrunner/run_build_test_target.py art-interpreter-cxx\nChange-Id: Iebb7a3a5168a27654984f3749a7b86542422671b\n"
    },
    {
      "commit": "a297b55dd8be424c7cdd4328356431d62e833d8f",
      "tree": "4e1ff9218394e44fc8c99d13d4d6fe92851c6b5f",
      "parents": [
        "a5de05da46e8a93436e68e7e0d242dce46269527"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 07 11:41:01 2018 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 08 08:59:24 2018 -0800"
      },
      "message": "Delete IsClassToCompile\n\nCompiled classes filtering is no longer a thing.\n\nBug: 26687569\nBug: 76145463\nTest: test-art-host\n\nChange-Id: Iaf4b9dcea5d9fe1eae564fbd6d373af2fdc87b14\n"
    },
    {
      "commit": "a5de05da46e8a93436e68e7e0d242dce46269527",
      "tree": "c388a8b97729adbd2d4767d2a4cb8fb757441e41",
      "parents": [
        "6e26c0bc10101e1023590f1b206c69baae01f0b9",
        "a4a96afd95e0819f4f35ece733e9a0731355d0d2"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 08 14:43:08 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 14:43:08 2018 +0000"
      },
      "message": "Merge \"Share the preamble in switch interpreter.\""
    },
    {
      "commit": "6e26c0bc10101e1023590f1b206c69baae01f0b9",
      "tree": "373ecce9d0ad42c05ab5f3319a0c1eb5410274bc",
      "parents": [
        "d4c1c08773414451dda32a4228253c0f443313a2",
        "dd121f637509a50d6744a0ad596f5dc627e0c60a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 08 12:29:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 12:29:37 2018 +0000"
      },
      "message": "Merge \"Emit bit manipulation instructions for x86 and x86_64\""
    },
    {
      "commit": "a4a96afd95e0819f4f35ece733e9a0731355d0d2",
      "tree": "60abbacda9fcbbdb56392e540aa5c683000812ff",
      "parents": [
        "d4c1c08773414451dda32a4228253c0f443313a2"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Oct 31 16:34:58 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 08 12:25:15 2018 +0000"
      },
      "message": "Share the preamble in switch interpreter.\n\nMove the preamble code to the main loop to avoid replicating it.\n\nThis halves per-file compile time to 0.5 min.\n\nIt saves 225k(arm32) and 348k(arm64) from libart.so.\n\nPerformance difference is within noise (golem using the switch).\n\nTest: \"test.py -b -r --interpreter --host\" with switch interpreter.\nChange-Id: I2615b3568eb79560d2d342ac3dd28f6269ee5e74\n"
    },
    {
      "commit": "d4c1c08773414451dda32a4228253c0f443313a2",
      "tree": "45fb374b124b9dc6efb8492d6cbac4d2f179f4d1",
      "parents": [
        "1ecd7a848ea0363a0036fad1b7e0771f57eea922",
        "47ad3763e0f0e74c6469e899af883a6c4d09d7bf"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 08 12:03:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 12:03:46 2018 +0000"
      },
      "message": "Merge \"Replace switch interpreter macros with C++ functions.\""
    },
    {
      "commit": "1ecd7a848ea0363a0036fad1b7e0771f57eea922",
      "tree": "f08befc96a48e721f40f597a13949b7aed68602f",
      "parents": [
        "a25b68373d9b4b131d18cc732f0aced1df0ea454",
        "9960cbc0ff98978a9b32f14ae77d8ddb3c6908d9"
      ],
      "author": {
        "name": "Annie Meng",
        "email": "anniemeng@google.com",
        "time": "Thu Nov 08 11:47:16 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 11:47:16 2018 +0000"
      },
      "message": "Merge \"Revert \"Link lzma and lz4 compression libs statically into libartbase and use that\"\""
    },
    {
      "commit": "9960cbc0ff98978a9b32f14ae77d8ddb3c6908d9",
      "tree": "46602632efd61e7d1330f52e4ec0c7404ae9bad0",
      "parents": [
        "21579bec04bea8a9a6ca65ad5493016d1fcb9dcc"
      ],
      "author": {
        "name": "Annie Meng",
        "email": "anniemeng@google.com",
        "time": "Thu Nov 08 11:44:19 2018 +0000"
      },
      "committer": {
        "name": "Annie Meng",
        "email": "anniemeng@google.com",
        "time": "Thu Nov 08 11:44:19 2018 +0000"
      },
      "message": "Revert \"Link lzma and lz4 compression libs statically into libartbase and use that\"\n\nThis reverts commit 21579bec04bea8a9a6ca65ad5493016d1fcb9dcc.\n\nReason for revert: Build failure\n\nChange-Id: Ia941425b9462f478be78058b3d63a30106421de6\n"
    },
    {
      "commit": "a25b68373d9b4b131d18cc732f0aced1df0ea454",
      "tree": "0622c19fd3b883b09c14d9b75169e9329965adb2",
      "parents": [
        "82b67b2ef24a2475e88135ec63aa50270aad0254",
        "21579bec04bea8a9a6ca65ad5493016d1fcb9dcc"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Nov 08 10:56:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 10:56:46 2018 +0000"
      },
      "message": "Merge \"Link lzma and lz4 compression libs statically into libartbase and use that instead.\""
    },
    {
      "commit": "47ad3763e0f0e74c6469e899af883a6c4d09d7bf",
      "tree": "d6e67f431a21ee8fbdfe6d2283e1e04587a8aeca",
      "parents": [
        "fe59955fc41e277bf1c60378202ba785abb1e4a8"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Oct 31 12:43:40 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 08 10:30:21 2018 +0000"
      },
      "message": "Replace switch interpreter macros with C++ functions.\n\nC++ code is more maintainable than huge macros.\n\nThe \"return\" statement was used within the macros to skip the rest\nof the interpreted opcode.  This is slightly more tricky in functions.\nAll such use cases have been replaced with \"return false\", and the\ncalling functions always check the return value and propagate it up.\n\nPerformance difference is within noise (golem using the switch).\n\nThis halves per-file compile time to 1min.\n\nTest: \"test.py -b -r --interpreter --host\" with switch interpreter.\nChange-Id: I01d861dec1c4a7e95e412fd4b662e5a4d7bd55a8\n"
    },
    {
      "commit": "82b67b2ef24a2475e88135ec63aa50270aad0254",
      "tree": "f08befc96a48e721f40f597a13949b7aed68602f",
      "parents": [
        "b1fcebe160ace50dfd38efae7439640b2ac4268f",
        "1a2a5cd58b7b667b664a7c20a4887a6cd89b4776"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 08 10:28:48 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 10:28:48 2018 +0000"
      },
      "message": "Merge \"Move profile compilation info to CompilerOptions.\""
    },
    {
      "commit": "1a2a5cd58b7b667b664a7c20a4887a6cd89b4776",
      "tree": "8f92ca17ba6f8324881f52aa741ad5ed0f87016a",
      "parents": [
        "a5175541c197e7bf9b03651ea5da4e64a2ac2d27"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 07 15:39:48 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 08 10:26:57 2018 +0000"
      },
      "message": "Move profile compilation info to CompilerOptions.\n\nRemove one HInliner dependency on the CompilerDriver.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: If6f0ab864095641b5697c8c6f5100520f91d5e53\n"
    },
    {
      "commit": "dd121f637509a50d6744a0ad596f5dc627e0c60a",
      "tree": "1e20c636cd40a5a87cae1cd0d0b55940c8111a20",
      "parents": [
        "fe59955fc41e277bf1c60378202ba785abb1e4a8"
      ],
      "author": {
        "name": "Shalini Salomi Bodapati",
        "email": "shalini.salomi.bodapati@intel.com",
        "time": "Fri Oct 26 15:03:53 2018 +0530"
      },
      "committer": {
        "name": "Shalini Salomi Bodapati",
        "email": "shalini.salomi.bodapati@intel.com",
        "time": "Thu Nov 08 14:50:29 2018 +0530"
      },
      "message": "Emit bit manipulation instructions for x86 and x86_64\n\nThis patch performs instruction simplification to\ngenerate instructions andn, blsmsk and blsr on\ncpus that have avx2.\n\nTest: test.py --host --64, test-art-host-gtest\nChange-Id: Ie41a1b99ac2980f1e9f6a831a7d639bc3e248f0f\nSigned-off-by: Shalini Salomi Bodapati \u003cshalini.salomi.bodapati@intel.com\u003e\n"
    },
    {
      "commit": "b1fcebe160ace50dfd38efae7439640b2ac4268f",
      "tree": "7f173e94d1b15d63cfe3352ac169c740c7924f4b",
      "parents": [
        "67da5aaddf112bde48006982d8e660942ddaa1e6",
        "4776987fe6e82a46398e7f211fa55990bb6d574a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 08 00:06:56 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 00:06:56 2018 +0000"
      },
      "message": "Merge \"ART: Small compiler-driver cleanup\""
    },
    {
      "commit": "67da5aaddf112bde48006982d8e660942ddaa1e6",
      "tree": "88396ec00297940144f5375d0d804fcb9863ea86",
      "parents": [
        "4c1784b53bb9bcb86076afce8c842d98feb0de97",
        "b406680dafa32bffb14fab7b406b30abb1c96dec"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 07 23:58:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 07 23:58:27 2018 +0000"
      },
      "message": "Merge \"Add test where we test jit \u0026 redefinition suitable for CTS\""
    },
    {
      "commit": "b406680dafa32bffb14fab7b406b30abb1c96dec",
      "tree": "6b881d864c321705f3a94ccb9ceb781f849ba401",
      "parents": [
        "c925fe6afb9d7c100b5f7c889a98c147c66e1742"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Nov 07 11:20:24 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Nov 07 22:13:14 2018 +0000"
      },
      "message": "Add test where we test jit \u0026 redefinition suitable for CTS\n\nWe didn\u0027t have any tests of redefinition and JIT interaction suitable\nfor CTS since most of them used internal runtime-functions to force\nfunctions to be jitted. This test tries to ensure a particular method\nis jitted by running it 20000 times and waiting a bit.\n\nThis should give us confidence that the jit is not inlining methods\nwhich would prevent us from redefining classes.\n\nTest: ./test.py --host\nBug: 119063276\nChange-Id: Ibde0d19ef0893ece3a494a547cff384a1248a21f\n"
    },
    {
      "commit": "4776987fe6e82a46398e7f211fa55990bb6d574a",
      "tree": "6af6377309458cc2a227beb8772ca318be5a0914",
      "parents": [
        "4c1784b53bb9bcb86076afce8c842d98feb0de97"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 07 13:36:36 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 07 13:59:24 2018 -0800"
      },
      "message": "ART: Small compiler-driver cleanup\n\nRemove some unused or unimplemented methods and typedefs. Move\nsome code.\n\nBug: 115837065\nTest: mmma art\nChange-Id: I96070444007d4f67b14bb563c1b7252a5a012523\n"
    },
    {
      "commit": "4c1784b53bb9bcb86076afce8c842d98feb0de97",
      "tree": "68792468ce6220132a65eeb0fe73f867cf217d23",
      "parents": [
        "7b1e9fe3abf6212b44cdfd34c8f773197331ff30",
        "48f8a24420237a550dd789159f84ff064042cbf5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 07 20:54:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 07 20:54:37 2018 +0000"
      },
      "message": "Merge changes I1ce1c9b6,Ifd2db5bf\n\n* changes:\n  ART: Clean up timeout_dumper\n  ART: Refactor ptrace timeout code for timeout_dumper\n"
    },
    {
      "commit": "7b1e9fe3abf6212b44cdfd34c8f773197331ff30",
      "tree": "9f5cbd3059a598df4a9fbfaa78c0991c50367c7d",
      "parents": [
        "bf983214f7488a7923788356d1a441f518073b23",
        "204d1a955746ddb1453cf2102e29a5d3801a8b5a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 07 20:53:53 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 07 20:53:53 2018 +0000"
      },
      "message": "Merge \"ART: Fix addr2line call\""
    },
    {
      "commit": "21579bec04bea8a9a6ca65ad5493016d1fcb9dcc",
      "tree": "b33204570077025d4af6d2cb82dc8fa84e67b0b9",
      "parents": [
        "bf983214f7488a7923788356d1a441f518073b23"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Nov 06 13:56:50 2018 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 07 20:44:24 2018 +0000"
      },
      "message": "Link lzma and lz4 compression libs statically into libartbase and use that\ninstead.\n\nAll targets using these compression libs already use libartbase. This grows\nlibartbase VM size by 240K (219%) on 64 bit, but only these targets pack on\nextra bloat: dexanalyze, dexdump2, dexlayout(d), dexlist.\n\nTest: art/tools/buildbot-build.sh {--host,--target}\nTest: art/test/testrunner/run_build_test_target.py art-asan\nBug: 118374951\nChange-Id: I16d67d99897ec0a35e1467ab561bb82ee2449983\n"
    },
    {
      "commit": "bf983214f7488a7923788356d1a441f518073b23",
      "tree": "46602632efd61e7d1330f52e4ec0c7404ae9bad0",
      "parents": [
        "24a993de16018304393cbe527c92658d81ad9f7a",
        "15a678af331af103ed59e0d9f01d690e35eb9f09"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 07 17:12:34 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 07 17:12:34 2018 +0000"
      },
      "message": "Merge \"ART: Fix internal addr2line\""
    },
    {
      "commit": "48f8a24420237a550dd789159f84ff064042cbf5",
      "tree": "3786c739901430fba62d91370da1f3be1397b44e",
      "parents": [
        "5f04f7f666373b470c3a0e01cd6575d850b47adf"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 06 15:34:38 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 07 08:22:19 2018 -0800"
      },
      "message": "ART: Clean up timeout_dumper\n\nAddress previous comments. Use cerr for stack trace to avoid visual\nclutter.\n\nTest: m test-art-host\nTest: manual\nChange-Id: I1ce1c9b6ef4787ad9489055af01ab115fc462efd\n"
    },
    {
      "commit": "5f04f7f666373b470c3a0e01cd6575d850b47adf",
      "tree": "b14f95baa28fd4787512c80914575f6d359d2a47",
      "parents": [
        "204d1a955746ddb1453cf2102e29a5d3801a8b5a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 06 15:32:33 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 07 08:22:19 2018 -0800"
      },
      "message": "ART: Refactor ptrace timeout code for timeout_dumper\n\nIncrease the main pid timeout, but go on if it failed. Do the same for\nsiblings.\n\nTest: m test-art-host\nTest: manual\nChange-Id: Ifd2db5bf470ed39b13d0f38d0dc804b3cd133228\n"
    },
    {
      "commit": "24a993de16018304393cbe527c92658d81ad9f7a",
      "tree": "9245433e3a9d92082e157afbf4779e2bf6a5473a",
      "parents": [
        "fe59955fc41e277bf1c60378202ba785abb1e4a8",
        "56581d89cb21ba384dad7ef19246ec6671e1ed39"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 07 15:13:12 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 07 15:13:12 2018 +0000"
      },
      "message": "Merge \"Clean up oat key-value store.\""
    },
    {
      "commit": "56581d89cb21ba384dad7ef19246ec6671e1ed39",
      "tree": "b88ce8bd8623b331972ae7a9c128c02855dc43a5",
      "parents": [
        "a5175541c197e7bf9b03651ea5da4e64a2ac2d27"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 07 12:30:52 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 07 13:45:01 2018 +0000"
      },
      "message": "Clean up oat key-value store.\n\nRemove the \"image-location\" key because it is unused. Do not\nstore the \"dex2oat-host\" value (i.e. dex2oat runtime ISA) if\n--avoid-storing-invocation is specified.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: Ib0760f923443322f1a72d338abad2db3617036dc\n"
    },
    {
      "commit": "204d1a955746ddb1453cf2102e29a5d3801a8b5a",
      "tree": "dd1c36a3c8c90201341ba32eae24724f8f5944bd",
      "parents": [
        "fe59955fc41e277bf1c60378202ba785abb1e4a8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 06 15:29:20 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 07 03:15:08 2018 -0800"
      },
      "message": "ART: Fix addr2line call\n\nELF packaging has been changed. We no longer need to do a manual offset\ncomputation, the rel_pc is correct to find symbols.\n\nTest: m test-art-host\nTest: manual\nChange-Id: I18e0a15f0fc3069727333eba439c665f668c6820\n"
    },
    {
      "commit": "fe59955fc41e277bf1c60378202ba785abb1e4a8",
      "tree": "cb756f7d17bd6942e59f1d84b37b626d26b790c9",
      "parents": [
        "c2cab4b11b95147dd9dadb3378e10a891ee64ad6",
        "a7edd0d02f3aa2e6df31d6bd1de78e48797e8fc2"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Nov 07 11:07:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 07 11:07:20 2018 +0000"
      },
      "message": "Merge \"Fix JIT creation so it picks up runtime flags.\""
    },
    {
      "commit": "c2cab4b11b95147dd9dadb3378e10a891ee64ad6",
      "tree": "8595e62d3aa3dad700c3deec7765afacc6a9b963",
      "parents": [
        "b70c999fcc3ff4d4988e0214f4d18783ff35edf7",
        "9186b182c0e0e5d57dc15a03e4f8d0f2951f3a96"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 07 10:07:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 07 10:07:29 2018 +0000"
      },
      "message": "Merge \"Refactor ClassLinker::FindPrimitiveClass().\""
    },
    {
      "commit": "9186b182c0e0e5d57dc15a03e4f8d0f2951f3a96",
      "tree": "e230bdce1f86d411c50ded9efc588590e98df261",
      "parents": [
        "a5175541c197e7bf9b03651ea5da4e64a2ac2d27"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 06 14:55:54 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 07 10:06:43 2018 +0000"
      },
      "message": "Refactor ClassLinker::FindPrimitiveClass().\n\nIntroduce ClassLinker::LookupPrimitiveClass() that never\nthrows an exception and use it to clean up callers that\nare not supposed to cause thread suspension.\n\nTest: m test-art-host-gtest\nBug: 118909457\nChange-Id: Ibfee8b7991c4a0d1fa636c85f14437c9865d1658\n"
    },
    {
      "commit": "b70c999fcc3ff4d4988e0214f4d18783ff35edf7",
      "tree": "48354e4e2375ce066f59e20fa4c5b92760a9b92d",
      "parents": [
        "2e8d6550a74e43f027f90828af8b104ddb2f0724",
        "6da8247ebe2e063cc14a5e943fa8b3416edf936a"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Nov 07 09:18:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 07 09:18:23 2018 +0000"
      },
      "message": "Merge \"Split interpreter_switch_impl into smaller functions.\""
    },
    {
      "commit": "2e8d6550a74e43f027f90828af8b104ddb2f0724",
      "tree": "0c205efbd8173964e1417d142169adb79e137c59",
      "parents": [
        "c925fe6afb9d7c100b5f7c889a98c147c66e1742",
        "bf44f151b735364434fb886d43b78ea0b47d08be"
      ],
      "author": {
        "name": "Ian Zerny",
        "email": "zerny@google.com",
        "time": "Wed Nov 07 07:26:34 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 07 07:26:34 2018 +0000"
      },
      "message": "Merge \"Update 624-checker-stringops and 911-get-stack-trace.\""
    },
    {
      "commit": "a7edd0d02f3aa2e6df31d6bd1de78e48797e8fc2",
      "tree": "988a26723769395801d40d266192994eed369b22",
      "parents": [
        "c925fe6afb9d7c100b5f7c889a98c147c66e1742"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 07 03:18:16 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 07 05:54:40 2018 +0000"
      },
      "message": "Fix JIT creation so it picks up runtime flags.\n\nbug: 119063276\nTest: benchmarks, take a bugreport, check that JIT is enabled.\nTest: atest ZenModeFilteringTest with libartd and JIT at first use.\nChange-Id: Id9f0be316467064dc21edfb0a0493149678630e0\n"
    },
    {
      "commit": "15a678af331af103ed59e0d9f01d690e35eb9f09",
      "tree": "448df6221355bbbbee760bc0d98743bf0b5455be",
      "parents": [
        "c925fe6afb9d7c100b5f7c889a98c147c66e1742"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 06 17:14:10 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 06 17:14:10 2018 -0800"
      },
      "message": "ART: Fix internal addr2line\n\nTest: m test-art-host\nChange-Id: I555a196577eeef995746b6292a4728c4814f0875\n"
    },
    {
      "commit": "c925fe6afb9d7c100b5f7c889a98c147c66e1742",
      "tree": "528eaae69cd67516d74bbe84e746dae007c15930",
      "parents": [
        "57a3e68e8bc111476f78e5e5714f8aaf44fe3d20",
        "456b492978389d9b5384d1a730bdff55602790fd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 06 22:38:01 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 06 22:38:01 2018 +0000"
      },
      "message": "Merge \"Add timing split for updating app image class loaders\""
    },
    {
      "commit": "57a3e68e8bc111476f78e5e5714f8aaf44fe3d20",
      "tree": "a973609aa7220cd84289a290def586d7caa445ed",
      "parents": [
        "f0e00e5146abbc57a63ac4264db18757a538a9b1",
        "680cbf205f4560c22d96ed6f3296eb25125d99d6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 06 20:46:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 06 20:46:33 2018 +0000"
      },
      "message": "Merge \"Enable building art and tests with linux_bionic\""
    },
    {
      "commit": "456b492978389d9b5384d1a730bdff55602790fd",
      "tree": "15e4c5e67f129ef7d9e00651565b22dfd41b3eb9",
      "parents": [
        "4fc843c4fc9f33c4ba49c1303d526d0e0e6a3788"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 06 10:35:48 2018 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 06 10:38:04 2018 -0800"
      },
      "message": "Add timing split for updating app image class loaders\n\nAdded since this a non-trivial portion of app image loading time.\n\nTest: test-art-host\nBug: 111397239\nBug: 116052292\nChange-Id: I922077a8929a46efaa7f5567beffee6d7b634392\n"
    },
    {
      "commit": "680cbf205f4560c22d96ed6f3296eb25125d99d6",
      "tree": "7e455c872744007bb04dcda59221d0288466d986",
      "parents": [
        "23d3ed8c124f239d26a583f9d096b22f7f6677d1"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Oct 31 11:00:19 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 06 10:34:35 2018 -0800"
      },
      "message": "Enable building art and tests with linux_bionic\n\nA linux_bionic built runtime can be created by modifying the\n$OUT_DIR/soong/soong.config json file to add a \u0027\"Host_bionic\": true\u0027\nentry and then running the following command:\n\n% m --skip-make $OUT_DIR/soong/host/linux_bionic-x86/\u003ctarget-file\u003e\n\nA script \u0027tools/build_linux_bionic_tests.sh\u0027 was also added that will\nbuild linux-bionic versions of host-test related files.\n\nAlso modify tests so they can be run.  Currently all run-tests pass\nwhen run on a linux_bionic host build. All gtests pass except for the\nfollowing 9 tests:\n  ArmVIXLAssemblerTest.VixlJniHelpers\n  ArmVIXLAssemblerTest.VixlLoadFromOffset\n  ArmVIXLAssemblerTest.VixlStoreToOffset\n  DwarfTest.DebugFrame\n  DwarfTest.DebugFrame64\n  DwarfTest.x86_64_RegisterMapping\n  DwarfTest.DebugLine\n  DwarfTest.DebugLineSpecialOpcodes\n  DwarfTest.DebugInfo\n\nSince these tests must be run manually without the standard\n(makefile-based) testrunner it\u0027s not clear yet whether these failures\nare important or what must be done to fix them. Several tests had\ndependencies on the actual location of the libart library that needed\nto be fixed, these tests might as well.\n\nTest: ./tools/build_linux_bionic_tests.sh\nTest: ./test/testrunner/testrunner.py --no-build --host --64 --run-test-option\u003d--bionic\nTest: find $OUT_DIR/soong/host/linux_bionic-x86/nativetest64 -mindepth 2 -type f | while read abc; do $abc; done | tee all-tests.txt\nTest: tail -n +0 -f all-tests.txt | grep FAILED\n\nBug: 31559095\nBug: 118778408\nChange-Id: I5fae4e54371e7410678619f18fcb54a3bd34e9b0\n"
    },
    {
      "commit": "f0e00e5146abbc57a63ac4264db18757a538a9b1",
      "tree": "b766d7b0f8ef8fe175b884c64db3a06354b89627",
      "parents": [
        "e6db761e39b381158dd0d1eca6739eb9b3008104",
        "5725e7c4aab576384649de60557dc1f52eb21b9f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 06 17:53:48 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 06 17:53:48 2018 +0000"
      },
      "message": "Merge \"Conditionally compile/link ARM \u0026 ARM64 disassemblers based on targeted archs.\""
    },
    {
      "commit": "e6db761e39b381158dd0d1eca6739eb9b3008104",
      "tree": "d0f5c53155f2ff1a8b10006375f2e71a16cb3414",
      "parents": [
        "57e7dbfbe34188de05f90bb0ec8520ba66383149",
        "5af106e2b67752275e6fc9a2530cb30a8587f402"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 06 17:44:08 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 06 17:44:08 2018 +0000"
      },
      "message": "Merge \"Conditionally include ARM disassemblers based on targeted archs.\""
    },
    {
      "commit": "57e7dbfbe34188de05f90bb0ec8520ba66383149",
      "tree": "1dbbfaa1d0afbc44cbb429ba72b65db37efd8ed6",
      "parents": [
        "4fc843c4fc9f33c4ba49c1303d526d0e0e6a3788",
        "0806f589a8a8e1fca573069b37761c320660aa63"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 06 17:13:01 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 06 17:13:01 2018 +0000"
      },
      "message": "Merge \"ARM64: Support interm. address for object arrays.\""
    },
    {
      "commit": "6da8247ebe2e063cc14a5e943fa8b3416edf936a",
      "tree": "2765ad9af2e9aa4132ca66218ee927b35943ec95",
      "parents": [
        "4fc843c4fc9f33c4ba49c1303d526d0e0e6a3788"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Oct 23 14:03:08 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Nov 06 16:22:06 2018 +0000"
      },
      "message": "Split interpreter_switch_impl into smaller functions.\n\nSplit the uber switch statement into smaller functions.\nThose functions are still always inlined in the switch,\nso it makes little difference for the time being.\n\nHowever the separation should allow us to:\n - Remove the excessive use of macros in the interpreter.\n - Add helpers to handle similar opcodes.\n - Simplify the individual opcode handlers.\n - Simplify interactions with mterp.\n - Easily experiment (e.g. switch vs goto dispatch).\n\nPerformance difference is within noise (golem using the switch).\n\nTest: \"test.py -r --interpreter --host\" with switch interpreter.\nChange-Id: I6075b354e0439bf89061f492dd9b9cbe743145cb\n"
    },
    {
      "commit": "12dd9aee74a588bf31f151cebba930849b4baceb",
      "tree": "9d04404a17b4f3e5e9e2b1150fc575a74ecd37c2",
      "parents": [
        "5725e7c4aab576384649de60557dc1f52eb21b9f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 06 13:32:06 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 06 14:31:16 2018 +0000"
      },
      "message": "Use unified libvixl(d) instead of per-supported-arch libvixl(d)-arm(64).\n\nUsing a unified libvixl(s) saves space by sharing code that was common\nto libvixl(d)-arm and libvixl(d)-arm64 and also addresses multiple\ndefinitions issues that would cause ODR violations.\n\nTest: 32-bit-only device boot test\nTest: 32/64-bit device boot test\nChange-Id: I1d67c43897e08bc0f5743eb038fe574ce2fb54f3\n"
    },
    {
      "commit": "5725e7c4aab576384649de60557dc1f52eb21b9f",
      "tree": "0fdc9247fbc5129a8c0cc1ee1eaa1e680ebd856d",
      "parents": [
        "5af106e2b67752275e6fc9a2530cb30a8587f402"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 06 13:31:48 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 06 14:14:43 2018 +0000"
      },
      "message": "Conditionally compile/link ARM \u0026 ARM64 disassemblers based on targeted archs.\n\nNote: We still unconditionally compile and link the MIPS32/MIPS64\nand x86/x86-64 disassemblers, as they cannot be easily made\northogonal in the Blueprint file.\n\nTest: Build ART on host\nTest: Build ART for ARM-only device\nTest: Build ART for ARM64-only device\nTest: Build ART for ARM64/ARM device\nBug: 119090273\nChange-Id: Iec7bfed660ad0008bb870bfa614a90113bf4c501\n"
    }
  ],
  "next": "5af106e2b67752275e6fc9a2530cb30a8587f402"
}
