)]}'
{
  "log": [
    {
      "commit": "ae95ce3c6e5ac0ca96bd6e8d7a3dc36b6ffadbab",
      "tree": "dfeb4c507ee9d9b9cf99a629b25b7a7599a67958",
      "parents": [
        "f2dcba05ca76e0609687cf1e8013bbe983c73b2e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 19 10:04:03 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 22 17:39:02 2019 +0000"
      },
      "message": "ART: Do not handle RETURN monitor-stack issue as throwing\n\nThe IllegalMonitorStateException on mismatch cannot be caught in\nthe method itself, as it logically happens after the RETURN.\n\nBug: 121245951\nBug: 137030260\nTest: m test-art-host\nTest: m\nChange-Id: I981398bb7d235dfcef408b864e281df08eacc835\n"
    },
    {
      "commit": "f2dcba05ca76e0609687cf1e8013bbe983c73b2e",
      "tree": "b72fc3424d5c4a57b4157fbaeb087a43d2776aa7",
      "parents": [
        "27351be1c1b7cabf714872b9fa40c7ccbefe9b76"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 22 13:59:24 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 22 16:51:28 2019 +0000"
      },
      "message": "Fix statistics reporting in JIT.\n\nWe now need to take into account shared / private regions.\n\nTest: boot, take a bugreport\nBug: 119800099\nChange-Id: I131a73a0fd96a60b13c464c17445b0ba3973bef4\n"
    },
    {
      "commit": "27351be1c1b7cabf714872b9fa40c7ccbefe9b76",
      "tree": "9dd463a7b490265ff143a98b15578394f1944077",
      "parents": [
        "cffa254b3b7c307b557ba2250fc822db352d3293"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Jul 12 13:39:34 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Jul 22 13:11:55 2019 +0000"
      },
      "message": "Switch-interpreter: Add flatten attribute to handlers.\n\nEncourage the compiler to inline the methods a bit more.\nThis speeds up the switch interpreter by about 1.5%.\nIt adds 7k of code (arm64).\n\nTest: test.py -b -r --host --64 --interpreter\nChange-Id: I59729d73fc39d486ba988d6685b166fbdd9fe6dd\n"
    },
    {
      "commit": "cffa254b3b7c307b557ba2250fc822db352d3293",
      "tree": "ef49730b09bd0f4ebb26387311ed4501db3e29bf",
      "parents": [
        "9a8634a7bc4f69e6c89933f906ddd0a45dd05aa7"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Jul 01 15:31:41 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Jul 22 13:11:49 2019 +0000"
      },
      "message": "Add fast path for exception vreg copying.\n\nIt is not necessary to decode CodeInfo in GetVReg\nsince the caller already did it.\n\nTest: ./art/test.py -b --host --64 --interpreter\nChange-Id: I0f8941f43acdc0f2c43b78ef87d3e796e320c959\n"
    },
    {
      "commit": "9a8634a7bc4f69e6c89933f906ddd0a45dd05aa7",
      "tree": "b4a14c7c497bdca695a72441815729f0f38dd708",
      "parents": [
        "6e4deeaf452133fd03413c099b6e472778940fca"
      ],
      "author": {
        "name": "Christoffer Quist Adamsen",
        "email": "christofferqa@google.com",
        "time": "Fri Jul 19 13:49:14 2019 +0200"
      },
      "committer": {
        "name": "Christoffer Quist Adamsen",
        "email": "christofferqa@google.com",
        "time": "Sat Jul 20 12:15:22 2019 +0000"
      },
      "message": "Prevent redundant field load elimination in 593-checker-long-2-float-regression\n\nTest: art/test/testrunner/testrunner.py -b --host -t 593\nChange-Id: I4517d3df0bad3a93aa5cb4e38900e5bc16b784c3"
    },
    {
      "commit": "6e4deeaf452133fd03413c099b6e472778940fca",
      "tree": "d79b1d7347b50712d5719ef64bff74ba92722c49",
      "parents": [
        "34ac9f74e859a77eca9111debfbc25f5c037df7a"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jul 18 15:33:16 2019 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jul 19 18:14:34 2019 +0000"
      },
      "message": "sigchain: dlsym from libc.so instead of RTLD_NEXT.\n\nRTLD_NEXT doesn\u0027t play well with linker namespaces currently, so switch\nto directly referencing libc.so.\n\nBug: http://b/135284876\nTest: treehugger\nTest: m test-art-host\nTest: adb shell /data/nativetest/art/arm/art_sigchain_tests/sigchain_test\nTest: adb shell /data/nativetest64/art/arm64/art_sigchain_tests/sigchain_test\nChange-Id: I980bf63e5e3bb0a1638a4806c7ad76f41d5db44e\n"
    },
    {
      "commit": "34ac9f74e859a77eca9111debfbc25f5c037df7a",
      "tree": "4b3004a4d8ed6304b37020b11b691c0b0a74431d",
      "parents": [
        "eafeeb281349ff6d035888fbc4b05aed87529c72"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jul 18 13:03:24 2019 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jul 19 18:13:40 2019 +0000"
      },
      "message": "Use bionic_private_headers instead of bionic/libc/private\n\nTest: m checkbuild\nBug: 134379140\nChange-Id: Ie567286057f8ec932004febb0de8a8a002d1ccb8\n"
    },
    {
      "commit": "eafeeb281349ff6d035888fbc4b05aed87529c72",
      "tree": "bdb88ad9e819f41791cde63b92362446a130fef6",
      "parents": [
        "de0ccffc5e8b22f86730b125cd3cfd825a576ba7"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jul 19 10:22:32 2019 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jul 19 18:13:40 2019 +0000"
      },
      "message": "Replace use of include_dirs with header_libs on asm_defines.s\n\nDepends on change to add support for header_libs to cc_object.\n\nThis change:\n* Removes unused art/libartbase and system/core/base/include from\n  asm_defines.s.\n* Replaces include_dirs with header_libs.\n\nBug: 35624006\nTest: m cpp-define-generator-asm-support - compare output before and after change\nChange-Id: I1475193e057abe2a6e7a320fcc989fa37d37792f\n"
    },
    {
      "commit": "de0ccffc5e8b22f86730b125cd3cfd825a576ba7",
      "tree": "6c723636f30f5f9bc9170421f2649505c49fa191",
      "parents": [
        "4345aacf582a5206976d5bed98ab4abd7b9a8c40"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 19 10:54:05 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 19 17:33:09 2019 +0000"
      },
      "message": "Fix a braino in GetSavedEntryPointOfPreCompiledCode.\n\nWe should return the entrypoint, and not the code_ptr. On thumb,\nthe entrypoint is code_ptr + 1.\n\nTest:  jitzygote boots, zygote32 doesn\u0027t crash.\nBug: 119800099\nChange-Id: I41c97291c54efb4d6e342d260d693ab1abf8dffe\n"
    },
    {
      "commit": "4345aacf582a5206976d5bed98ab4abd7b9a8c40",
      "tree": "594191df77d214fac994b63761ac25bba257bb40",
      "parents": [
        "6b689ceb63b4fffaf0e617f7d363c841dd29e458"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jul 17 15:51:54 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 19 17:07:13 2019 +0000"
      },
      "message": "Cleanup some usages of include_dirs\n\nThe include_dirs property causes problems when unbundling as they can\ndirectly reference directories inside the runtime module repositories\nwhich will break the unbundled build as those repositories will not be\npresent. While these usages do not cause problems as they are\nreferences within the runtime module repository they need removing so\nthat the build can enforce no usage of runtime module repository paths\nin the include_dirs property.\n\nThis change:\n* Replaces include_dirs with local_include_dirs where possible.\n* Uses libnativehelper provided header libs, this is possible as they\n  have been updated to build against the NDK.\n* Adds headers for disassembler, libdexfile\n* Makes libart_runtime_headers build against NDK.\n\nTest: m checkbuild\nBug: 134379140\nChange-Id: Iaf065caf4b6a2fcf252f6d5da8fff5be97a242ea\n"
    },
    {
      "commit": "6b689ceb63b4fffaf0e617f7d363c841dd29e458",
      "tree": "0e8b554f3cc6390435c7caa05b378c47e9079be3",
      "parents": [
        "d84794d235df588814533d96f6e459b72f3a19b1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 18 14:17:47 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jul 19 15:46:56 2019 +0000"
      },
      "message": "Fix handling for invalid or missing app images\n\nAvoid crashing when there is an invalid app image path passed to\noatdump. Added regression test.\n\nBug: 137724009\nTest: test-art-host-gtest-oatdump_app_test\n\nChange-Id: I27470d0c1d844de5b9f3f3bf960e925cd8977d50\n"
    },
    {
      "commit": "d84794d235df588814533d96f6e459b72f3a19b1",
      "tree": "be63139f9d94678c6c1f01e2012545580b2d1078",
      "parents": [
        "16a08f6d70e64a1c88ea4a6da1b0cfe1bd4196f2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 18 13:40:03 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 19 15:12:19 2019 +0000"
      },
      "message": "ART: Add option to behave fatally on unmarked kThrow\n\nAdd a runtime option that makes the verifier abort when a runtime\nexception is signaled for an instruction that isn\u0027t marked as such.\n\nBug: 121245951\nTest: m test-art-host\nChange-Id: Id953fa25fbcc12c1e6a7d74b30b28b81df57e427\n"
    },
    {
      "commit": "16a08f6d70e64a1c88ea4a6da1b0cfe1bd4196f2",
      "tree": "ab9ef002d1cffc3a589281047d5e1da232504994",
      "parents": [
        "22940241f945710613c2657f9d6161302bed935d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 18 10:59:08 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 19 15:12:19 2019 +0000"
      },
      "message": "ART: Factor out runtime-exception saved_line fallback\n\nDo the same for AoT and runtime. This is a minimal regression for\nthe compiler, but allows unified handling, including market scans.\n\nBug: 121245951\nTest: m test-art-host\nChange-Id: I82087935b1ad08280ab9da3f41d346b73314986a\n"
    },
    {
      "commit": "22940241f945710613c2657f9d6161302bed935d",
      "tree": "e85c8b7c73fa8b7964faf1a0d39a77a095c7c8e3",
      "parents": [
        "0c2c222733f3bb1dc9848f4f127a47046fda6221"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 18 12:53:03 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 18 13:04:00 2019 -0700"
      },
      "message": "Disable test 660 for debuggable\n\nDebuggable prevents AOT initialization of classes.\n\nBug: 70735003\nTest: test/testrunner/run_build_test_target.py -j50 art-jit\n\nChange-Id: Iec862c287499ffc68e0ea65a9ca05dbc4bc79316\n"
    },
    {
      "commit": "0c2c222733f3bb1dc9848f4f127a47046fda6221",
      "tree": "bf46d1a9d1bf38dcbd01947b5ffcc28e659fbdef",
      "parents": [
        "1a225a76ee6bc29833aee048b6cfae20242bdc8b"
      ],
      "author": {
        "name": "Chang Xing",
        "email": "chxing@google.com",
        "time": "Fri Aug 04 14:36:17 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 18 17:13:59 2019 +0000"
      },
      "message": "Revert^2 \"Support clinit for app image during compilation\"\n\nAdd some spot fixes for app image class initialization and re-enable\ntest 660 features.\n\nBug: 70735003\nTest: test-art-host\n\nThis reverts commit abadf024efdc632f663d7fb503cd277b3f65fca2.\n\nChange-Id: Id16fd3ada3eb1bd57ea60c3cdc4a0cf9835950d7\n"
    },
    {
      "commit": "1a225a76ee6bc29833aee048b6cfae20242bdc8b",
      "tree": "069bfc01d827fcbf9aa4415c4d63d354648f396c",
      "parents": [
        "323844002e54243e295497e7f829e46a533da621"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jul 05 13:37:42 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 18 13:37:15 2019 +0000"
      },
      "message": "ARM/ARM64: Improve frame entry/exit codegen.\n\nOn ARM64, use STP pre-index for the method and the lowest\nspilled core register for method entry if there\u0027s no gap or\nFP spills in between. On exit, use LDP post-index to restore\nin this case, ignoring the method by loading to XZR. Thus,\nwe save one instruction for both entry end exit for such\nmethods and the performance should be the same or better.\n\nOn ARM, use a single PUSH/POP for method entry and core\nspills if the gap between them is 2 words or less and and we\nhave one or no FP spill, spill args as filler if needed. On\nexit, load the FP spill if any and do a single POP for core\nregisters and return in this situation, clobbering as many\nregisters from r2-r4 as needed; these caller-save registers\nare not used to pass return values. If we cannot do this\nbecause of FP spills but the gap between the method and FP\nspills is 2 words or less, we adjust SP and save the method\nin one PUSH after spilling; there is no similar handling\nfor method exit as the method does not need to be restored.\nThis may improve or degrade performance a bit depending on\nthe particular situation; in the worst case we PUSH/POP\nthree additional registers as a cost for smaller code size.\n\naosp_taimen-userdebug prebuils:\n - before:\n   arm/boot*.oat: 19147484\n   arm64/boot*.oat: 22558344\n   oat/arm/services.odex: 21922256\n - after:\n   arm/boot*.oat: 19105436 (-41KiB, -0.2%)\n   arm64/boot*.oat: 22549624 (-9KiB, -0.04%)\n   oat/arm/services.odex: 21914128 (-8KiB, -0.04%)\n\nTest: aosp_taimen-userdebug boots.\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing\nBug: 136144107\nChange-Id: Id36c67b4e735418fb18bcd3269b72b25695fbaa2\n"
    },
    {
      "commit": "323844002e54243e295497e7f829e46a533da621",
      "tree": "e6219f651332ee140042e4e0d4c975919f4fe9bf",
      "parents": [
        "297a0533d2e3f1d49f0b73c5d1e3b09ce0418de2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 17 20:06:44 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 18 13:12:57 2019 +0000"
      },
      "message": "jitzygote: Handle case of methods having the resolution stub.\n\nWe need to cache the compiled code until the class is initialized.\n\nTest: test.py\nTest: jitzygote config boots\nBug: 119800099\nChange-Id: Ib7a1efc3e101d9dabfad963621a1fe4a142e9b29\n"
    },
    {
      "commit": "297a0533d2e3f1d49f0b73c5d1e3b09ce0418de2",
      "tree": "2132956989f93226d47bbd4324740c3dbdb927a2",
      "parents": [
        "74f89afefe21aba666700a1bb2651c58b25e6988"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 17 16:01:14 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 18 08:33:22 2019 +0000"
      },
      "message": "Stronger alignment check in ArtField::SetOffset().\n\nDo not restrict the DCHECK() to boot image compilation.\nCheck the alignment for all field types.\n\nTest: m test-art-host-gtest\nTest: testruner.py --host --optimizing\nChange-Id: I18439615016ac77b47e672f8c0788d3b082d280a\n"
    },
    {
      "commit": "74f89afefe21aba666700a1bb2651c58b25e6988",
      "tree": "daba83598cdfc57d6377404fe4c57f34927c1f15",
      "parents": [
        "15332431202653927f1155d636db52e55e509fd3"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jul 12 15:27:50 2019 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jul 18 07:11:25 2019 +0100"
      },
      "message": "Remove Export_static_lib_headers from codegen\n\nIt is not necessary to export headers from static libraries included\nusing whole_static_libs as that automatically exports the headers.\n\nTest: m checkbuild\nBug: 134379140\nChange-Id: Iea85dedf91f404739d12b3a7971cd87c02e1ab6d\nExempt-From-Owner-Approval: needed to fix build failure\n"
    },
    {
      "commit": "15332431202653927f1155d636db52e55e509fd3",
      "tree": "d5979ac7665ee940576f595ef6a89f4916c2a0bc",
      "parents": [
        "b08d5db0bebd9a17b6e66cb98aeedcc744f6d1eb"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jul 12 15:27:50 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 18 05:51:08 2019 +0000"
      },
      "message": "Remove use of external/vixl/src in include_dirs\n\nThe include_dirs property is deprecated and no longer needed as the\nlibvixl[d] libraries export their include dirs directly.\n\nAdded support to the codegen extensions to allow header include dirs\nfrom libvixl[d] to be re-exported from libart-compiler[d] as the\nlatter\u0027s exported headers include vixl exported headers.\n\nTest: m checkbuild\nBug: 134379140\nChange-Id: I6ad47b093cc25fc1486109fced1c2a238e75ff0d\n"
    },
    {
      "commit": "b08d5db0bebd9a17b6e66cb98aeedcc744f6d1eb",
      "tree": "cafcd45b3c923a50be482c8dba45426d4b9ed319",
      "parents": [
        "2a290e14fd10a5e494ee0a48e07bc238a7a271d6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 17 10:45:36 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 17 18:54:04 2019 +0000"
      },
      "message": "Move location of where we clear thread pool tasks post fork.\n\nBug: 119800099\nTest: boot jitzygote, system server methods get JIT compiled.\n\nChange-Id: Ieb66b36aefad7a570ebfdfa296a2713c20d36f22\n"
    },
    {
      "commit": "2a290e14fd10a5e494ee0a48e07bc238a7a271d6",
      "tree": "de4c64717ed359eafaf064face395d0569358949",
      "parents": [
        "b45a435e25d69592f27084a615b351760f040875"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 17 10:15:22 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 17 15:20:59 2019 +0000"
      },
      "message": "Cleanup and simplify ImageWriter::GetQuickCode.\n\n- Remove unneeded parameter\n- Fix a consistency bug where a static method of a non-initialized class\nwould get the interpreter bridge as entrypoint instead of the resolution\nstub.\n\nTest: test.py\nChange-Id: I0c71db8b1897ae47cf228d112fbe24b9570b61fa\n"
    },
    {
      "commit": "b45a435e25d69592f27084a615b351760f040875",
      "tree": "6920830856dbe3cceb648b365b0d057ea3ea93ec",
      "parents": [
        "5132e0d1433b0962f9609dbbd68427e1fb5a4b9d"
      ],
      "author": {
        "name": "Shalini Salomi Bodapati",
        "email": "shalini.salomi.bodapati@intel.com",
        "time": "Wed Jul 10 16:09:41 2019 +0530"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 17 11:12:22 2019 +0000"
      },
      "message": "Add AVX support for packed mul/div instructions.\n\nThis is a follow up for the below patch:\nhttps://android-review.googlesource.com/c/platform/build/+/830841\n\nTest: ./test.py --host --64, test-art-host-gtest\nChange-Id: Id2aa473035556ee230e66addeb69707df8530e75\nSigned-off-by: Shalini Salomi Bodapati \u003cshalini.salomi.bodapati@intel.com\u003e\n"
    },
    {
      "commit": "5132e0d1433b0962f9609dbbd68427e1fb5a4b9d",
      "tree": "1f0f856705c2932d8c13b09cee29c93a2d71d904",
      "parents": [
        "b94cc1129aa03e77d001eb3429a8a0efa0d6ac1e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 10 09:38:48 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 17 01:15:25 2019 +0000"
      },
      "message": "Add option for controling app image class initialization\n\nThe new option is --initialize-app-image-classes. This attempts to\ninitialize app image classes by running the class initializers ahead\nof time.\n\nWill test this through test 660, but there are currently aborts when\nit\u0027s enabled.\n\nTest: test-art-host\nBug: 70735003\n\nChange-Id: Icc05683b23098a15531097f67aad17144f0badaf\n"
    },
    {
      "commit": "b94cc1129aa03e77d001eb3429a8a0efa0d6ac1e",
      "tree": "df8fa5e2004827f3de87bbe3e61b92aa6193114a",
      "parents": [
        "b3b2db7edeaa09751dab44a7d0339590fd7b1788"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jul 16 19:03:32 2019 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jul 16 22:42:24 2019 +0000"
      },
      "message": "Revert \"Disable dexdiag_test on fugu.\"\n\nThis reverts commit 674040421e40712df79493ecef62b6af028d657a.\n\nReason for revert: I think the underlying problem has been fixed.\n\nBug: 136245508\n\nChange-Id: I342be643c3e798caa241a1398210655e395bbadc\n"
    },
    {
      "commit": "b3b2db7edeaa09751dab44a7d0339590fd7b1788",
      "tree": "ea922140487594c45e6e95d1e2ce624221977dc7",
      "parents": [
        "b5204f4216557b1f7bfd72be1fd49ec9d0960ecb"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 11 15:47:14 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 16 22:13:40 2019 +0000"
      },
      "message": "ART: Use a scoped disable-moving-gc helper in reg_type_test\n\nIn general we cannot use the standard ScopedGCCriticalSection,\nbecause we rely on the RegTypeCache to load classes for the\ntest (in part for test setup convenience, in part as an actual\ntest).\n\nTest: m test-art-host-gtest-reg_type_test\nChange-Id: I00dafc28a39fe97ecee41284fd5d8f3642bf5a2f\n"
    },
    {
      "commit": "b5204f4216557b1f7bfd72be1fd49ec9d0960ecb",
      "tree": "95ca743a14876cda3e8e185ef4613220aba196ce",
      "parents": [
        "4bd5234a05db801892ce28ea0504aebb46d06a25"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 25 12:39:15 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 16 22:13:40 2019 +0000"
      },
      "message": "ART: Add interface class join heuristic\n\nDo not treat interfaces as regular classes. This will always\nlead to a join of java.lang.Object, rejecting semantically\nvalid programs.\n\nWe want to retain IMT dispatch, forcing us to verify interface\nassigment. In the absence of set types, the result is ambiguous\nand not well defined. In a best effort, attempt to find a joint\ninterface by walking the interface tables of the join arguments\nbackwards.\n\nIn the case of two non-interface classes, we still prefer the\nclass hierarchy.\n\nBug: 69826014\nTest: m test-art-host-gtest-reg_type_test\nChange-Id: I7e0086f045e5bb2a7c3ee3464de45fc5b02f4d3f\n"
    },
    {
      "commit": "4bd5234a05db801892ce28ea0504aebb46d06a25",
      "tree": "4c20a058f401c8cdb8842f964a8e1a6f08dd3a93",
      "parents": [
        "431a7e587117f43ae3819009f3b2e4d6211f35b9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 15 15:09:04 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 16 18:42:44 2019 +0000"
      },
      "message": "ART: Scope runnable part of JitCompileTask\n\nDo not run ProfileSaver code under mutator lock.\n\nBug: 137339043\nTest: m\nChange-Id: Idfdb6992946dfc5186d2a047b80947b40224c6e3\n"
    },
    {
      "commit": "431a7e587117f43ae3819009f3b2e4d6211f35b9",
      "tree": "1713e271f7480f24ebb550e1b30ab113d6efd75a",
      "parents": [
        "8787cf87606f2a0c45b44578c7a9a254b7c6dfc9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 15 13:30:41 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 16 18:42:34 2019 +0000"
      },
      "message": "ART: Fix some thread-annotalysis issues in ProfileSaver\n\nRemove where possible and replace with the instance_-referenced\nlocks.\n\nRefactor the Run() flow: let Run() expect the profiler lock to\nbe held (and release it). Let RunProfileSaverThread() grab the\nlock. This allows removing NO_THREAD_SAFETY_ANALYSIS from\nRunProfileSaverThread.\n\nAnnotate methods with missing negative annotations.\n\nBug: 137339043\nTest: m\nChange-Id: Ief472cf03facdd4e9253501f2e4eebff4569a22c\n"
    },
    {
      "commit": "8787cf87606f2a0c45b44578c7a9a254b7c6dfc9",
      "tree": "859e0066ab40650b2212240c7e38418b1418d39e",
      "parents": [
        "db26569b5e21ef16f4a90e4f6ad0904341e7ecf8"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Thu Jul 11 12:50:31 2019 -0700"
      },
      "committer": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Tue Jul 16 17:52:58 2019 +0000"
      },
      "message": "Set Mark-bit for large Zygote objects\n\nWe set the mark-bit of Zygote objects before forking to ensure that the\nobjects are not dirtied due to GC trying to modify the GC related bits\nin the objects\u0027 header. The same was mistakenly not being done for\nlarge-space objects corresponding to Zygote.\n\nTest: art/test/testrunner/testrunner.py --target --64\nBug: 37254935\nChange-Id: I173d6090a6ec0fd7e511e1d684341ecf0968e97f\n"
    },
    {
      "commit": "db26569b5e21ef16f4a90e4f6ad0904341e7ecf8",
      "tree": "ddee269edc481221f18b428579ebd22b4a092aca",
      "parents": [
        "8b770c42bf37975ac25aa9fe3745bf1e64992d67"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 15 16:11:20 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 16 17:05:24 2019 +0000"
      },
      "message": "ART: Remove old build_linux_bionic.sh workaround\n\nRemove a full first-pass compile and replace with \"nothing\" goal.\n\nTest: art/tools/build_linux_bionic.sh com.android.runtime.host\nChange-Id: I569bd79797b6024baa48a72f86353fe6d1891ddb\n"
    },
    {
      "commit": "8b770c42bf37975ac25aa9fe3745bf1e64992d67",
      "tree": "3977ccd3d913a43b07af98b20b9ba16043fe17f0",
      "parents": [
        "5071531ceb1f4ed82dff1da15f572201509cf23e"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Jul 12 15:14:29 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Jul 16 14:49:55 2019 +0000"
      },
      "message": "Switch-interpreter: Fix large performance regression in preamble.\n\nIntroduced in CL/931678: JVMTI Force early return\n\nThis makes benchmarks on golem up to 50% faster.\n\nTest: run golem\nChange-Id: Ie5757ab2235df77bbd6584fccbceff34a38fe775\n"
    },
    {
      "commit": "5071531ceb1f4ed82dff1da15f572201509cf23e",
      "tree": "c3412d1a1bf06eec628dc4582240fb8e61d9dc6f",
      "parents": [
        "5bef022af212e060a3e744e688ae2116849d4485"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jul 11 15:44:25 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 16 12:28:23 2019 +0000"
      },
      "message": "Remove use of deprecated apache-harmony-jdwp-tests-host target\n\nThe apache-harmony-jdwp-tests-host is an alias of\napache-harmony-jdwp-tests that was added to ease migration from .mk to\n.bp files but which is no longer needed. Removing this reference allows\nthe target to be removed.\n\nVerified that this did not cause a change in behavior in\nrun-jdwp-tests.sh.\n\nBug: 134379140\nTest: art/tools/buildbot-build.sh --host \u0026\u0026\n        make apache-harmony-jdwp-tests vogar \u0026\u0026\n\t\tart/tools/run-jdwp-tests.sh --mode\u003djvm \u0026\u0026\n\t\tart/tools/run-jdwp-tests.sh --mode\u003dhost\nChange-Id: I21c57e9ca0579d0353c5c50ed3e4948660eae9a4\n"
    },
    {
      "commit": "5bef022af212e060a3e744e688ae2116849d4485",
      "tree": "be91c1f6cc7bcf8fbfe0b72c85c9f4bf0863adec",
      "parents": [
        "2d06e029b1c84916154b5960d2acd1c84706dc04"
      ],
      "author": {
        "name": "randy.jeong",
        "email": "randy.jeong@samsung.com",
        "time": "Mon May 27 10:29:09 2019 +0900"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Jul 16 09:55:20 2019 +0000"
      },
      "message": "[RUNTIME] Ignore signal registration for debugging\n\nIt\u0027s difficult to identify native crash/error of 3rd party app.\nBecause they can control their app with own signal handling.\nTherefore I would like to support the way to ignore signal\nregistration in 3rd party app with the specific property.\n\nTo enable this, do just setprop \"debug.ignoreappsignalhandler 1\".\n\nTest: test app to hook signal, then setprop debug.ignoreappsignalhandler 1\n\nChange-Id: I56e2f1255a71abae339396379deb8cb5c31c25c5\nMerged-In: I56e2f1255a71abae339396379deb8cb5c31c25c5\nSigned-off-by: randy.jeong \u003crandy.jeong@samsung.com\u003e\n"
    },
    {
      "commit": "2d06e029b1c84916154b5960d2acd1c84706dc04",
      "tree": "31dca979adebd2ed3a058b23a12a3c91ce2874d1",
      "parents": [
        "7cde45800e21c270945b43a8989334ffc7422c32"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 08 15:45:19 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jul 16 08:22:46 2019 +0000"
      },
      "message": "Clean up linker patches in codegens.\n\nIn preparation for introducing boot image extension, make\nsure that we can use both kBootImageLinkTimePcRelative and\nkBootImageRelRo load kinds at the same time.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing\nChange-Id: I340f2d7d19e1c20699b37b0304d2e487d497da98\n"
    },
    {
      "commit": "7cde45800e21c270945b43a8989334ffc7422c32",
      "tree": "61f04cf955031cf5e38211e7c7d09fee00f10e30",
      "parents": [
        "6b63d8832a780e8b661595ff0b0610b3cc52aa6a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jul 05 13:26:11 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jul 16 08:22:46 2019 +0000"
      },
      "message": "Further clean up boot image address checks.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots.\nChange-Id: Ib7abd10e94e995e61549b3a3111a640802b5e700\n"
    },
    {
      "commit": "6b63d8832a780e8b661595ff0b0610b3cc52aa6a",
      "tree": "132bd9914df46a2d0b000d20586a370a159cffbe",
      "parents": [
        "c658278be744b3b6d1b964a826128f9f1f5662f7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jul 15 14:23:24 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jul 16 02:47:15 2019 +0000"
      },
      "message": "Add helper script to dex2oat a JAR/APK\n\nMake it easier to test compiler and dex2oat changes on the host.\n\nTest: tools/compile-jar.sh Maps.apk maps.odex arm64\nBug: 137257397\n\nChange-Id: Ice981640803edbc3847117dc3b3a88a9f8605faf\n"
    },
    {
      "commit": "c658278be744b3b6d1b964a826128f9f1f5662f7",
      "tree": "71f7dd393ebcf67518c03ff32f4209ba2110f4e5",
      "parents": [
        "bfa8b1ea0f7edf84c4137d5a822cc8acaf90acda"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 10 15:06:18 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 16 01:19:08 2019 +0000"
      },
      "message": "ART: Introduce CompatThrow\n\nAdd an \"virtual\" instruction flag to signal a historical throw\nthat is not captured by kThrow. Both kinds of instructions need\nto capture the work line at the beginning of a verification step.\n\nLong-term, remove CompatThrow.\n\n\"Annotate\" return-object.\n\nBug: 121245951\nTest: m test-art-host\nChange-Id: I07e9f07da3ebcc9ccd1191ffc2c145b2c83a84f8\n"
    },
    {
      "commit": "bfa8b1ea0f7edf84c4137d5a822cc8acaf90acda",
      "tree": "758b5fac4fb835aa04671d4c128dfb68efa18629",
      "parents": [
        "bc919af448aef9e8043e56ca83a2aa4ff90b9ad6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 12 14:30:27 2019 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jul 16 00:00:16 2019 +0000"
      },
      "message": "Skip reading usage stats for map data.\n\nBug: 136245508\n\nTest: Ran DexDiag tests on cuttlefish and Taimen (32 bit and 64 bit).\nChange-Id: I0093d721033a29a3e5a11c3430e82e38f624320c\n"
    },
    {
      "commit": "bc919af448aef9e8043e56ca83a2aa4ff90b9ad6",
      "tree": "904105c3bd20d6ee9af1fbfcda19f1eaa7ffc42d",
      "parents": [
        "d78122b424c1be24f7e9ac7983af3f43e9d4e294"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 10 14:09:51 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 15 17:52:47 2019 +0000"
      },
      "message": "ART: Disallow unresolved return types after Q\n\nFor apps targeting future releases, do not allow type mismatches\ninvolving unresolved types. The behavior complicates the verifier\nand the runtime and does not conform to regular expected behavior.\n\nHistorically this has been done for app compatibility when non-native\nmultidex was a thing. In that situation, even at runtime when an \"early\"\nclass is being verified a type might not be available because it is\nsupplied by a later injected dex file.\n\nClassloader manipulations in this way are no longer supported. Classes\nhave to be available at verification time to not fail the class.\n\nBug: 121245951\nTest: m test-art-host\nChange-Id: I9608c79183be7b85b76892498d6a7007a29f2434\n"
    },
    {
      "commit": "d78122b424c1be24f7e9ac7983af3f43e9d4e294",
      "tree": "e3d89743ab77a860b45306530afbb519666aa68a",
      "parents": [
        "d70a97c6d4a0954bed8991bd89a93bd3da9476f6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 10 14:06:53 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 15 17:36:17 2019 +0000"
      },
      "message": "ART: Do not access-check type on instanceof peephole\n\nWhen attempting the instanceof+branch peephole, do not retrieve\nthe cast type with an access check to avoid a posted failure. That\nfailure does not happen, it belongs with the instanceof.\n\nBug: 121245951\nTest: m test-art-host\nChange-Id: I87e2228bff9f3374e7141e600f24554846ecac32\n"
    },
    {
      "commit": "d70a97c6d4a0954bed8991bd89a93bd3da9476f6",
      "tree": "82612bad0122b0083113edc4702dc3bad4168157",
      "parents": [
        "2808be84a8f86542450670acdb5e6b55498ff5f0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 01 14:00:05 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 15 17:30:05 2019 +0000"
      },
      "message": "ART: Monitor-stack merging should not be handled as throwing\n\nMismatched stacks and other issues on merging register lines should\nnot be handled as a pending runtime exception. Actual exceptions\nwill be thrown at monitor-enter/exit and return sites. Both are\nalready covered: the former by being annotated kThrow, the latter\nby explicit checks for the stack (and end of control flow).\n\nThus, Fail() with pending_exc set to false in register line merging.\nThis still triggers lock verification at runtime.\n\nBug: 121245951\nTest: m test-art-host\nChange-Id: I06acca2920110e3de2a2bed7bae6695788f77449\n"
    },
    {
      "commit": "2808be84a8f86542450670acdb5e6b55498ff5f0",
      "tree": "f41b63e3109a6a6a9bd534f32b8d92f20eb9ef35",
      "parents": [
        "460f05480379d5c75555d06c4938bc990ce6ff83"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Dec 20 19:15:11 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 15 09:30:36 2019 +0000"
      },
      "message": "ART: Introduce stackmap with no DexRegInfo.\n\nSome of safepoints don\u0027t need to have DexRegisterMap info;\nthis will decrease the stackmap size.\n\n.oat file size reduction:\n - boot.oat:           -233 kb (-5.4%)\n - boot-framework.oat: -704 kb (-4.9%)\n\nTest: 461-get-reference-vreg, 466-get-live-vreg.\nTest: 543-env-long-ref, 616-cha*.\nTest: test-art-target, +gc-stress.\n\nChange-Id: Idbad355770e30a30dcf14127642e03ee666878b8\n"
    },
    {
      "commit": "460f05480379d5c75555d06c4938bc990ce6ff83",
      "tree": "ec76b6d19d7766dc1e57295748122c9352c1397e",
      "parents": [
        "dcd7b5188efb9a891ab8511c73e238bcab95432f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 04 14:02:08 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 15 09:18:25 2019 +0000"
      },
      "message": "ARM: Remove unnecessary kCoreAlwaysSpillRegister.\n\nThe old reasoning behind it is invalid as T32 supports\n16-bit instructions that can push/pop a single register.\n\nThis reduces the frame size of some methods.\n\nTest: m test-art-host-gtest\nTest: aosp_taimen-userdebug boots.\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing --32\nChange-Id: I35955e4394ca262c0b5d2713b2735ed1f5c99c4a\n"
    },
    {
      "commit": "dcd7b5188efb9a891ab8511c73e238bcab95432f",
      "tree": "b7effa82be6db44518723f35b3162eed8118a81a",
      "parents": [
        "7409b9fb679d982b4a3c790fc9711f81d68ffca3"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jul 10 14:21:43 2019 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jul 12 18:18:03 2019 +0000"
      },
      "message": "Revert \"Add scripts to mount/unmount the Runtime APEX under ART\u0027s chroot dir.\"\n\nThis reverts commit 7b7ea7939e2c7d5bffd5ad165d0c2d315c93dd1f.\n\nReason for revert: These scripts were never used as we ended up using\nflattened APEXes on the ART Buildbot instead\n(https://android-review.googlesource.com/c/platform/art/+/921093/),\nwhere the \"mount\" logic is implemented during the device sync step,\nand the \"unmount\" logic is performed as part of the device tear-down\nstep.\n\nTest: Rely on the ART Buildbot\nBug: 121117762\nBug: 113373927\nBug: 34729697\nChange-Id: I0dbd728487172daaa28fa5406c44447d25189119\n"
    },
    {
      "commit": "7409b9fb679d982b4a3c790fc9711f81d68ffca3",
      "tree": "e4432b275fabb2e0e8c837e9f8f5c74f34eb2ea7",
      "parents": [
        "ef1178a0920d6f8278a07c619af552e7f20b0255"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 08 09:29:52 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 12 17:23:51 2019 +0000"
      },
      "message": "ART: Collect test times in testrunner\n\nIn verbose mode, display test time.\n\nTest: art/test/testrunner/testrunner.py -b --host -v -t 001-HelloWorld\nChange-Id: I37c251dd005257c9173e5cb214fbf996654dab83\n"
    },
    {
      "commit": "ef1178a0920d6f8278a07c619af552e7f20b0255",
      "tree": "0abcecc2d799116150a195f24b3c9245ccb92289",
      "parents": [
        "0d87f99907f01ced713bf2dff97ee6655da077f3"
      ],
      "author": {
        "name": "Robert Snoeberger",
        "email": "snoeberger@google.com",
        "time": "Thu Jul 11 17:00:51 2019 -0400"
      },
      "committer": {
        "name": "Robert Snoeberger",
        "email": "snoeberger@google.com",
        "time": "Fri Jul 12 12:16:14 2019 +0000"
      },
      "message": "Prefix localhost with http:// in terminal output from server startup.\n\nWith this change, I can Ctrl-click in the terminal to open the page in\nmy browser.\n\nTest: Ran ahat on a heap dump and was able to click to open in my browser.\nChange-Id: Ic5e1867d7e4cdbd331fad4a9bb5170bac4f1b095\n"
    },
    {
      "commit": "0d87f99907f01ced713bf2dff97ee6655da077f3",
      "tree": "7e015521b706acdcedf5404f8e2f936e12b74cc4",
      "parents": [
        "4146e064849cd566dfb5d9f851f95fb490ec0836"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 10 13:19:45 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 11 23:12:52 2019 +0000"
      },
      "message": "ART: Remove VERIFY_ERROR_UNRESOLVED_CATCH\n\nReplace with a more generic SKIP_COMPILER, mark the Fail() calls as not\nthrowing, and replace the standard occurrence with NO_CLASS.\n\nBug: 121245951\nTest: m test-art-host\nTest: art/test/testrunner/testrunner.py -b --host -t 800 --jit-on-first-use\nChange-Id: I9f601702f27d815840538c04b332a52bf1c58c54\n"
    },
    {
      "commit": "4146e064849cd566dfb5d9f851f95fb490ec0836",
      "tree": "fdf0e0cd034f93fb78b1ac59a656022eb8c76b76",
      "parents": [
        "50037df21707c34beda776263536276fd9fbbe20"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 10 13:18:04 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 11 23:12:52 2019 +0000"
      },
      "message": "ART: Prepare to remove VERIFY_ERROR_UNRESOLVED_CATCH\n\nAdd a parameter to Fail() that defines whether a runtime exception\nis expected at that point.\n\nBug: 121245951\nTest: m test-art-host\nChange-Id: Iff98ae24ef095df411804150d41c80493d42c09f\n"
    },
    {
      "commit": "50037df21707c34beda776263536276fd9fbbe20",
      "tree": "a3718646716f289841b365d98a982b0fde4466bc",
      "parents": [
        "bb5b4f35e7d4cfddb9aedb4f2ea35b017650cd58"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jul 10 14:10:08 2019 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jul 11 12:24:30 2019 +0100"
      },
      "message": "Install appcompat.sh for use by make rules\n\nThe make build for apps (including prebuilts) hard codes a reference to\nthe art/tools/veridex/appcompat.sh file which causes a build breakage\nwhen unbundling the runtime module, i.e. when the art repository is not\npresent in the local build tree.\n\nThis change installs the appcompat.sh into $(HOST_OUT)/bin/appcompat/\ninstead. That allows the unbundled build to provide a prebuilt that\ninstalls the script into the same location.\n\nBug: 134379140\nTest: m droid\nChange-Id: If1a4ea1f2798b6fb27b4feb76f878cba8939aabc\n"
    },
    {
      "commit": "bb5b4f35e7d4cfddb9aedb4f2ea35b017650cd58",
      "tree": "c62934250a5e74f1d194eeefa9bc8c7c9ee03131",
      "parents": [
        "4a30f89d65efa9b85c34bbd7aa23ea4cd38b920d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 09 02:31:48 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 10 15:54:45 2019 +0000"
      },
      "message": "Revert \"Disable opaque JNI Ids for now.\"\n\nWe were incorrectly using a potentially out-of-date pointer to access\nclass object fields. This could cause segvs if the class object moves\nduring certain allocations relating to JNI id allocation.\n\nThis reverts commit 1be9c72dd49e7620dd76a8b9cef23d7cde0a6b01.\n\nReason for revert: Fixed issue with gcstress\nTest: ./test.py --host --debuggable --gcstress\nBug: 134162467\n\nChange-Id: I6ee7fc4485bbae6f0f1d4f4af0e8c2bc88bf4075\n"
    },
    {
      "commit": "4a30f89d65efa9b85c34bbd7aa23ea4cd38b920d",
      "tree": "95ad8586ef841a3a5750c24a7780b58bf12cac3c",
      "parents": [
        "7a82acc7ee79b198f7b4638a15cb1c3d1625ab6c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 10 04:57:58 2019 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 10 04:57:58 2019 +0000"
      },
      "message": "Revert \"ART: Remove VERIFY_ERROR_UNRESOLVED_CATCH\"\n\nThis reverts commit 7a82acc7ee79b198f7b4638a15cb1c3d1625ab6c.\n\nReason for revert: NO_CLASS doesn\u0027t have the right semantics for the compiler\n\nBug: 121245951\nChange-Id: I8dbeb7fbd6a697fe536535f1c696187041d7fcab\nTest: m test-art-host\n"
    },
    {
      "commit": "7a82acc7ee79b198f7b4638a15cb1c3d1625ab6c",
      "tree": "1b534443e584be4bcccddfa533d7d94305d37645",
      "parents": [
        "11410de860d4e6bd6d3cc90aa604575430882302"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 01 13:54:21 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 08 14:52:45 2019 -0700"
      },
      "message": "ART: Remove VERIFY_ERROR_UNRESOLVED_CATCH\n\nInstead add a parameter to Fail() that defines whether a runtime\nexception is expected at that point.\n\nBug: 121245951\nTest: m test-art-host\nChange-Id: Id9132eabc26b71a305ccb87f2182b4ae2e5b8c35\n"
    },
    {
      "commit": "11410de860d4e6bd6d3cc90aa604575430882302",
      "tree": "95ad8586ef841a3a5750c24a7780b58bf12cac3c",
      "parents": [
        "8d6651d8cc83d028cefc24153f4543a82dea4574"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 02 15:53:53 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 08 19:36:16 2019 +0000"
      },
      "message": "ART: Refactor run-test run_args\n\nUse an array instead of a string. This makes it easier to handle\nparameters with spaces.\n\nTest: art/test/testrunner/testrunner.py -b --host\nTest: art/run-test --host --invoke-with \"perf record -g -F 9999\" 001-HelloWorld\nChange-Id: Ic405c0f35aad4a9e36f9cb3b76fb307dadf7e732\n"
    },
    {
      "commit": "8d6651d8cc83d028cefc24153f4543a82dea4574",
      "tree": "cc18f2d7800bc8dc87c27de53b62e35aa632ff6d",
      "parents": [
        "6623594e6c65035c3096c8edcbf6374d22f6d4e0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 08 10:03:16 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 08 12:02:47 2019 +0100"
      },
      "message": "Disable jit_memory_region_test tests on buggy kernels.\n\nTest: jit_memory_region_test\nChange-Id: I5339071ab1fcb9765a91015e33024d05774ac2b1\n"
    },
    {
      "commit": "6623594e6c65035c3096c8edcbf6374d22f6d4e0",
      "tree": "cd3f6eaf7138994e8176f6ce0456b840087e615e",
      "parents": [
        "2cd9437e7067968400fe6f703a078b798b320693"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 03 16:05:17 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 08 08:43:52 2019 +0000"
      },
      "message": "Set image base address after the boot image.\n\nAnd restrict --base\u003d to boot image compilation.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nTest: aosp_taimen-userdebug boots.\nChange-Id: Ie94476ce421eb33d92405e543b2a83ebe0bbfaef\n"
    },
    {
      "commit": "2cd9437e7067968400fe6f703a078b798b320693",
      "tree": "6f526402e771663c824b7fefe9e0b23d5a4a2c35",
      "parents": [
        "56cb3ceba9d5a44b1460b12b81c27737a7c0ec3e"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jul 05 13:26:54 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 05 17:43:18 2019 +0000"
      },
      "message": "Remove `ANDROID_TZDATA_ROOT` overriding logic on device in `art` script.\n\nTest: Run Libcore tests on device\nBug: 124425036\nBug: 121117762\nChange-Id: I17173f1b672e197564e79b3f96b4a27c5543179b\n"
    },
    {
      "commit": "56cb3ceba9d5a44b1460b12b81c27737a7c0ec3e",
      "tree": "0c04ea38fc9eb98bab7e9f6bd3a49ae7be930188",
      "parents": [
        "60415ae617133fd06b3dd909b6db37f5c26dcd6b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 02 14:40:14 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 05 15:58:24 2019 +0000"
      },
      "message": "ART: Slightly simplify/modernize dex_file_verifier.cc\n\nUse anonymous namespace instead of static. Make things proper\nconstexpr functions. Move definitions to class when methods are\nsmall.\n\nTest: m test-art-host\nChange-Id: Iadeac41d24bd35c88825fcfae02fccb40289b82a\n"
    },
    {
      "commit": "60415ae617133fd06b3dd909b6db37f5c26dcd6b",
      "tree": "0cae4f834b8398b6f8ef52a942b7dfc94db724fc",
      "parents": [
        "07a560d98c5e5e6dfcdb966d19f9d2cc155ace4f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 02 14:03:13 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 05 15:58:24 2019 +0000"
      },
      "message": "ART: Move DexFileVerifier class to cc file\n\nHide all details. None were accessible before anyways. Instead,\nonly expose art::dex::Verify.\n\nTest: m test-art-host\nChange-Id: I19a68440045622b78c1678c92027f6e0e1185d75\n"
    },
    {
      "commit": "07a560d98c5e5e6dfcdb966d19f9d2cc155ace4f",
      "tree": "fd062bb732d8b09da9dbb12d0079190cf472ac09",
      "parents": [
        "e32d24c75bf62e3cb9bff266ad4be859634320a9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 02 11:17:42 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 05 15:58:24 2019 +0000"
      },
      "message": "ART: Encapsulate init-optimization fields\n\nPut fields that belong together into a struct.\n\nTest: m test-art-host\nChange-Id: Ie0a4dfb2201b7603c6cf78e361fe0b264ab02e06\n"
    },
    {
      "commit": "e32d24c75bf62e3cb9bff266ad4be859634320a9",
      "tree": "73a9c51958a77b3040b0ce04041424930b709873",
      "parents": [
        "d17eac6b037f67494e31671d1a1d9d233ba3f237"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 05 10:28:59 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 05 15:36:58 2019 +0000"
      },
      "message": "Store zygote compiled code in a shared map.\n\n- Store flags in the ArtMethod to know that it is compiled by the zygote\n- Query the map when entering a zygote compiled method from the\ninterpreter.\n\nBug: 119800099\nTest: boots\nChange-Id: Ib1a38266573e28d371034d02d6bb83f9b8b2e317\n"
    },
    {
      "commit": "d17eac6b037f67494e31671d1a1d9d233ba3f237",
      "tree": "75a285db021569d1f10c800ed185144ad457cefb",
      "parents": [
        "e81f10a3f672a8bcc421cab812e6435749181566"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jul 03 17:39:12 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 05 09:28:56 2019 +0000"
      },
      "message": "Fix for 689-zygote-jit-deopt on kernels before 3.11rc2\n\nNo JIT for zygote if cache flushes can signal faults. JIT for zygote\nneeds dual code mappings by design and the old kernel behaviour is\nincompatible with this. The new test 689-zygote-jit-deopt was running\nup against this issue on Nexus 6P test devices.\n\nTest: art/test/testrunner/testrunner.py --target --64 -t 689\nBug: 136584457\nChange-Id: Ibdafca270962d9e4a22ce1d9ba04f15771144899\n"
    },
    {
      "commit": "e81f10a3f672a8bcc421cab812e6435749181566",
      "tree": "076df5318e4bfdb6148fd6bb0faf5ea8de1d3336",
      "parents": [
        "9690542a9ed7740110459d3167708e6edc1a2686"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jul 04 10:00:12 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 05 00:20:19 2019 +0000"
      },
      "message": "Revert \"Remove ShadowFrame::dex_pc_ (but keep dex_pc_ptr_)\"\n\nThis reverts commit 50bc8fb89c79874e731f245abda3b9e48a541cfe.\n\nReason for revert: Performance regression\n\nChange-Id: Ib39ceb9e1f2753c518dd24fd193a824211fd5795\n"
    },
    {
      "commit": "9690542a9ed7740110459d3167708e6edc1a2686",
      "tree": "42e9ef3ab3e5de16baa0f84010b26f6a77ced1f1",
      "parents": [
        "ab682a78d9e61a37cc87d751a0c4d80856a44b7f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jun 28 17:05:28 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jul 04 17:17:33 2019 +0000"
      },
      "message": "No longer use TZ Data artifacts under `/system/etc/tzdata_module`.\n\nNo longer generate and install Time Zone Data artifacts under\n`/system/etc/tzdata_module` on the ART Buildbot. Use the\nflattened Time Zone Data Module (\"activated\" in\n`/apex/com.android.tzdata` within the chroot directory on the\ndevice) instead.\n\nTest: ART chroot-based on-device testing using the master-art branch\nTest: ART chroot-based on-device testing using the master branch (with\n      `TARGET_FLATTEN_APEX` set to `true` before building).\nBug: 132169989\nBug: 121117762\n\nChange-Id: I02619b28cd433d757c70ba90259852680e36b34b\n"
    },
    {
      "commit": "ab682a78d9e61a37cc87d751a0c4d80856a44b7f",
      "tree": "b38c97bbc41ec9aae03f68eace058fa1338037d6",
      "parents": [
        "e6cb9710affda5e1560aa81b32ad93caf40de32a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 04 10:11:55 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 04 15:26:23 2019 +0000"
      },
      "message": "Blind fix for fixing 689-zygote-jit-deopt on host bionic.\n\nBug: 136724968\nChange-Id: Icfab0233407955b7a859f7e5c2c59ce36e97af46\n"
    },
    {
      "commit": "e6cb9710affda5e1560aa81b32ad93caf40de32a",
      "tree": "6310e982c6d3efccaa5b6bcc009d9f01c6cdf0b5",
      "parents": [
        "d5fd5c3bbb44880e440c6920ce5ed56b5383c788"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 03 14:29:42 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 04 08:20:17 2019 +0000"
      },
      "message": "Remove ImageWriter::IsInBootOatFile().\n\nIt was used only as a pre-condition for a DCHECK() that was\ncommented-out because of the multi-image implementation.\nIf it was needed again, ImageWriter::IsInBootImage() should\nbe a sufficient replacement as it covers oat files.\n\nAlso use ImageWriter::IsInBootImage() instead of\nHeap::ObjectIsInBootImageSpace().\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: Ia64e1e807a2cd24135456ae2294a3e6b9fd16337\n"
    },
    {
      "commit": "d5fd5c3bbb44880e440c6920ce5ed56b5383c788",
      "tree": "2cf8a6354e5509c5a5e0bc2937c24fe7e03a12b1",
      "parents": [
        "1a6f9fcce199f437a5945dfe0163188b923adb28"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jul 02 14:46:32 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 04 08:17:30 2019 +0000"
      },
      "message": "Make .bss stores atomic release operations.\n\nAnd rely on architecture-dependent behavior for the .bss\nentry loads.\n\nThis fixes theoretical races when one thread updates the\n.bss entry and another uses it immediately thereafter;\npreviously we did not ensure correct memory visibility.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots.\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing\nChange-Id: Ie7b7969eb355025b9c9205f8c936e702861943f4\n"
    },
    {
      "commit": "1a6f9fcce199f437a5945dfe0163188b923adb28",
      "tree": "a676d94336d22b635048ba24ba08f6df2aa041f8",
      "parents": [
        "0c89d573058f7f33a4e5bfd3ef0acd2832ea39ba"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 02 14:59:00 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 03 18:34:17 2019 +0000"
      },
      "message": "ART: Dump more env vars in run-test-jar\n\nAdd new and important environment variables.\n\nTest: manual\nChange-Id: I6a5b85a7b2672e76f94797bc5ce64036759e28ac\n"
    },
    {
      "commit": "0c89d573058f7f33a4e5bfd3ef0acd2832ea39ba",
      "tree": "27c26488fe6db86cfc26881b26fcf77d6e4f0f94",
      "parents": [
        "5e33ccdacefe363a5d9b488a09cef69fe7dd3637"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 27 14:21:12 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 03 15:02:27 2019 +0000"
      },
      "message": "Prevent art module types being used outside art\n\nAdds neverallow rules to limit use of art specific module types to art\nand external/vixl.\n\nBug: 136159343\nBug: 134379140\nTest: disallowed them in all modules and ran `m droid` to ensure that\n      soong reported usages in art and external/vixl. Update the rules\n\t  and then ran `m droid` again.\n\nChange-Id: I28097a88c13acbf5e65c32cdd9f1a6c6eedfe8a2\n"
    },
    {
      "commit": "5e33ccdacefe363a5d9b488a09cef69fe7dd3637",
      "tree": "7fd7f9306a7900655ac972903fa683d41d643bfa",
      "parents": [
        "4b3946a55516b9218063171d827009a1ffde7ba3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 03 10:53:08 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 03 14:27:49 2019 +0000"
      },
      "message": "Don\u0027t force-allocate a profiling info when we cannot.\n\nShared memory cannot allocate profiling infos.\n\nTest: art/test/run-test --always-clean --dex2oat-jobs 4 --host --prebuild --compact-dex-level fast --jit --runtime-option -Xjitthreshold:0 --no-relocate --runtime-option -Xcheck:jni 689-zygote-jit-deopt\nChange-Id: Ib09b9989fb398a12af29501e72b9acd22c3e51ec\n"
    },
    {
      "commit": "4b3946a55516b9218063171d827009a1ffde7ba3",
      "tree": "17e8ca78dd5066228e69e373fb45516116515360",
      "parents": [
        "50bc8fb89c79874e731f245abda3b9e48a541cfe"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jul 02 15:24:18 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 03 14:25:30 2019 +0000"
      },
      "message": "Remove small and tiny method options\n\nThese are unused and nops.\n\nTest: test-art-host-gtest\n\nChange-Id: I6421387d53ec8692cf420be71ec47e1ef5e61f19\n"
    },
    {
      "commit": "50bc8fb89c79874e731f245abda3b9e48a541cfe",
      "tree": "c4dd3d8291ceac4b1d9b7dbca9886842c33967f2",
      "parents": [
        "8c344524e5251535e49cbe8e68ab5dc1cd7d1591"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jun 26 15:05:43 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jul 03 14:21:47 2019 +0000"
      },
      "message": "Remove ShadowFrame::dex_pc_ (but keep dex_pc_ptr_)\n\nThey store the same information which is redundant and error prone.\n\nTest: ./art/test.py --interpreter\nChange-Id: I379c20973b90645e3c1016c253d9a6db9a2417dc\n"
    },
    {
      "commit": "8c344524e5251535e49cbe8e68ab5dc1cd7d1591",
      "tree": "0f3f6b3f7edde0f4ba42af9ec3ecd7a6f656ad8f",
      "parents": [
        "1aff1efe67be9238792704c6758028d12239e337"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 03 13:25:21 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 03 13:25:21 2019 +0100"
      },
      "message": "Add 689-zygote-jit-deopt as knownfailure while investigating.\n\nBug: 136584457\nChange-Id: I0c571dbf318f34720cac64b33a298d87e417e7e1\n"
    },
    {
      "commit": "1aff1efe67be9238792704c6758028d12239e337",
      "tree": "aad969e51d79b2cff50170c01d933b783260218b",
      "parents": [
        "c1b34d49a0790db878685258dc46c0bfd37e4f37"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jul 02 15:12:50 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 03 08:24:36 2019 +0000"
      },
      "message": "Clean up retrieving boot image address range.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: I8f36ae59399e4fa97576bbb8d71e29f9f40c0c91\n"
    },
    {
      "commit": "c1b34d49a0790db878685258dc46c0bfd37e4f37",
      "tree": "8844cb9822036de01c5ff5b712e1dad2cb3d09dd",
      "parents": [
        "f5e3c66d63437ff1cc088b6a58e566fb7b5a3482"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Jul 02 20:37:51 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 03 06:53:58 2019 +0000"
      },
      "message": "Disable JNI native whitelist check\n\nStack walking technique to be revisited as it breaks with recent LLVM.\n\nBug: 136276414\nTest: m\nChange-Id: I69d49bd5b0696a37bc82f7197243e361f4c6ce6e\n"
    },
    {
      "commit": "f5e3c66d63437ff1cc088b6a58e566fb7b5a3482",
      "tree": "dcea409ba8d6105875ca8614951bb86873c1921d",
      "parents": [
        "4d6ca2e01e5e9b0006b94039f53e552dd0236d02"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 01 14:54:23 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 02 21:30:29 2019 +0000"
      },
      "message": "ART: Use bitset in dex file verifier\n\nUse a bitset instead of a hash set. The maximum memory usage is 8K,\nwhich is reasonable and bounded.\n\nInstruction count improvement is in the noise (a percent of a percent).\nBranch misses improve by a percent.\n\nBug: 110852609\nTest: m test-art-host\nChange-Id: I8bb44ba8ab90db8ef632f2977774b389c3a504b6\n"
    },
    {
      "commit": "4d6ca2e01e5e9b0006b94039f53e552dd0236d02",
      "tree": "1731d3dd4df7790ab21532a8d2bd3be04baef0df",
      "parents": [
        "af213ccb19231a4f46340bf8a791b4f498b8bda4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 01 17:18:37 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jul 02 16:00:57 2019 +0000"
      },
      "message": "Deterministic VerifierDeps::Dump().\n\nThis makes is easier to diff oatdump output.\n\nTest: m dump-oat-boot \u0026\u0026 \\\n      grep \u0027Dependencies of \u0027 out/soong/boot.arm.oatdump.txt\n      (framework.jar dex files are ordered properly.)\n\nChange-Id: I55f14950f00e4c3cbdda53ec513837d11ade026e\n"
    },
    {
      "commit": "af213ccb19231a4f46340bf8a791b4f498b8bda4",
      "tree": "f668938f3f225e27ffd6b75993e2d8ddf65ae148",
      "parents": [
        "0cc6a825b14893d0d23311d7d708087794675e77"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 01 10:50:55 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 02 12:50:41 2019 +0000"
      },
      "message": "Fix ClearEntryPointsInZygoteExecSpace.\n\nMethods allocated in the shared region now don\u0027t have a profiling\ninfo.\n\nAlso move test 689-zygote-jit-deopt to now use proper ZygoteHooks APIs\nto fork from zygote, and have non-bionic build create a shared region.\n\nTest: 689-zygote-jit-deopt\nBug: 119800099\nChange-Id: I400618673a0b5b2ba7389e46d692ea6a58dbeea8\n"
    },
    {
      "commit": "0cc6a825b14893d0d23311d7d708087794675e77",
      "tree": "832b60c72d16f65e5988bd9d2eaf27830049baf5",
      "parents": [
        "4d71e55eb7616b2f2dc6f39377be72fdfbf01b2a"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jun 28 17:18:16 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jul 02 11:42:55 2019 +0000"
      },
      "message": "Set `ANDROID_TZDATA_ROOT` to the TZ Data APEX in `tools/run-gtests.sh`.\n\nSet environment variable `ANDROID_TZDATA_ROOT` to\n\u0027/apex/com.android.tzdata\u0027 before running gtests on device in the\nchroot environment, so that the Time Zone Data APEX is used (instead\nof Time Zone Data artifacts installed under\n`/system/etc/tzdata_module`).\n\nNote: This environment variable is set by default on devices running\nAndroid Q, but the ART Buildbot uses devices with older Android\nreleases.\n\nTest: ART chroot-based on-device testing using the master-art branch\nTest: ART chroot-based on-device testing using the master branch (with\n      `TARGET_FLATTEN_APEX` set to `true` before building).\nBug: 132169989\nBug: 121117762\n\nChange-Id: Idcf4e5f4903649b3871f97967b2bb0e2a2cb1cf5\n"
    },
    {
      "commit": "4d71e55eb7616b2f2dc6f39377be72fdfbf01b2a",
      "tree": "26ca50a97736ef59b2ad3a867c0ae377209f092c",
      "parents": [
        "e2d24beb1a9d9b718b0443b1eec63090c6fc19a4"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Jul 01 16:06:14 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 02 11:19:22 2019 +0000"
      },
      "message": "Remove ShadowFrame::HasReferenceArray()\n\nIt is always true.\n\nChange-Id: I96ddeeb87b8166d0fc08edafd1800b539eec3a7d\n"
    },
    {
      "commit": "e2d24beb1a9d9b718b0443b1eec63090c6fc19a4",
      "tree": "84c6efd6c3841ada8f4ee6b1d28107ccaace3d37",
      "parents": [
        "714fad657516f43f96ab45bd1e8853edd3662d6a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 27 15:53:30 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jul 02 08:44:25 2019 +0000"
      },
      "message": "Simplify ImageWriter::IsInBootImage.\n\nMake the code a bit faster (lost in noise on host) and\nsmaller.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: Ica9138bd51cb7f24b1f35e3a99dbb83551e7d9a2\n"
    },
    {
      "commit": "714fad657516f43f96ab45bd1e8853edd3662d6a",
      "tree": "910937741b7d5b30a830765436d0029c86648e5f",
      "parents": [
        "21c489870a2de5db4f4e9c97979676bf39c933a9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 27 15:32:00 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 02 06:59:01 2019 +0000"
      },
      "message": "Delete tasks when deleting a thread pool.\n\nFixes memory leak.\n\nTest: test.py --jit\nChange-Id: If339015f1629b42c2ff17c80e97f1303843ef878\n"
    },
    {
      "commit": "21c489870a2de5db4f4e9c97979676bf39c933a9",
      "tree": "a1a15336d1d2117cad26a0beb3fe7ceaa29edb6b",
      "parents": [
        "b06e0ad6e57ad5f77236ac06c05cb9028f4ccbb0"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jun 27 16:31:32 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 01 18:45:23 2019 +0000"
      },
      "message": "Add Runner for field-count agent\n\nAdd a python script capable of running the field-count agent across\nall processes and collecting the results.\n\nTest: m libfieldcounts; ./tools/jvmti-agents/count-fields.py \u0027Ljava/lang/Class;.extData:Ldalvik/system/ClassExt;\u0027\nChange-Id: I7463dfc0b1e7a2ae21836571f3d4708199d1b706\n"
    },
    {
      "commit": "b06e0ad6e57ad5f77236ac06c05cb9028f4ccbb0",
      "tree": "a311d6598487d23e8e91d764c52cd4798de318e7",
      "parents": [
        "2f1e8f8495e445d5418428f2c232565da284e704"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jun 19 19:07:57 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jul 01 17:26:31 2019 +0000"
      },
      "message": "Add `libcore.java.awt` tests to the ART Libcore test suite.\n\nTests execution time: 4.87s on host, 6.66s on device (Pixel XL).\n\nTest: Run Libcore tests on host and target\nChange-Id: I927411a69e4db4ffd81ce42e30f67a686ad87a7d\n"
    },
    {
      "commit": "2f1e8f8495e445d5418428f2c232565da284e704",
      "tree": "4c151b72aae5c0c568af302c1463e70f0eedcf69",
      "parents": [
        "674040421e40712df79493ecef62b6af028d657a"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jun 12 19:57:50 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jul 01 16:03:14 2019 +0000"
      },
      "message": "Use flattened Time Zone Data APEX contents in ART chroot-based device testing.\n\nCopy the contents of the flattened Time Zone Data Module\ndirectory (`/system/apex/com.android.tzdata`) to\n`/apex/com.android.tzdata` within the chroot directory on the device.\n\nTest: ART chroot-based on-device testing using the master-art branch\nTest: ART chroot-based on-device testing using the master branch (with\n      `TARGET_FLATTEN_APEX` set to `true` before building).\nBug: 132169989\nBug: 121117762\n\nChange-Id: I9d99a465609f0c6d2065268f2a09a82e45a3fa32\n"
    },
    {
      "commit": "674040421e40712df79493ecef62b6af028d657a",
      "tree": "7f73066645bf0e52972eb825ed865a74f049eb83",
      "parents": [
        "e1070377d890f278a49ec8719e66b36860124132"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 01 11:10:55 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 01 14:56:29 2019 +0000"
      },
      "message": "Disable dexdiag_test on fugu.\n\nBug: 136245508\nTest: dexdiag_test\nChange-Id: I54b0071bb0cac94d7ae4adb4460c0557fa4c865c\n"
    },
    {
      "commit": "e1070377d890f278a49ec8719e66b36860124132",
      "tree": "916f835faa36f40b35c80cd923a5d857ad95c54e",
      "parents": [
        "05b41c40c62078664fa3bcfbe5fc935d20a6e92c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 24 14:09:06 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 01 12:20:04 2019 +0000"
      },
      "message": "Clean up collecting app image string references.\n\nRecord the number of references while assigning bin slots\nand collect these references as AppImageReferenceOffsetInfo\nafterwards, without any other translation.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots.\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing\nBug: 26687569\nChange-Id: Ieeb0530129cac9a0af5af80fd73cd668d27aff3e\n"
    },
    {
      "commit": "05b41c40c62078664fa3bcfbe5fc935d20a6e92c",
      "tree": "de80d697ee6781439162a06891956ca64b6db896",
      "parents": [
        "3a614eaa58542169f2047ea6efeb5d6ece867be6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 28 12:46:33 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 01 12:07:09 2019 +0000"
      },
      "message": "Prepare for sharing JIT code after fork.\n\nOnly encode classes/strings/methods that are in a boot image.\n\nBug: 119800099\nTest: boot\nChange-Id: I7ed8ce2ce876ad1c6c1678939cafe4808a67bef4\n"
    },
    {
      "commit": "3a614eaa58542169f2047ea6efeb5d6ece867be6",
      "tree": "149bdbbd1cf0d8d6db7570db6edb1accff728ed8",
      "parents": [
        "1be9c72dd49e7620dd76a8b9cef23d7cde0a6b01"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 27 15:47:09 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 01 12:06:39 2019 +0000"
      },
      "message": "Add more tests around JitMemoryRegion.\n\n- Test that dropping the writable mapping and keeping the readable one works.\n- Test using MADV_DONTFORK.\n- Test behavior of memfd when mapping MAP_PRIVATE.\n\nAlso move IsSealFutureWriteSupported to libartbase/mem_fd.\n\nTest: jit_memory_region_test\nChange-Id: If6392780595d968588041762a72d7fa46a7b0429\n"
    },
    {
      "commit": "1be9c72dd49e7620dd76a8b9cef23d7cde0a6b01",
      "tree": "28c508dde96a47fa976d06f2b4b3ba08cb02925b",
      "parents": [
        "3768276ab9ec3ede28ac27c97dd42518b0e2dcd9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 01 09:49:38 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 01 09:49:38 2019 +0100"
      },
      "message": "Disable opaque JNI Ids for now.\n\nThey fail on gcstress.\nTest: test.py --debuggable --gcstress\nBug: 134162467\n\nChange-Id: If57dd2fe6b57abd92b6a67383eeb8f8d5d8e3b2e\n"
    },
    {
      "commit": "3768276ab9ec3ede28ac27c97dd42518b0e2dcd9",
      "tree": "0d693e9f28188937ee731615376e298902e13047",
      "parents": [
        "0d4567f26701abae84b02389c379843c1dc851a8"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri Jun 28 10:24:43 2019 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Mon Jul 01 07:00:02 2019 +0000"
      },
      "message": "Allow explicit blacklisting with maxTargetSdk\u003d0.\n\nThis allows other annotation properties to be added to blacklisted APIs,\nsuch as publicAlternatives. The semantics are identical to not having\nany annotation on the API.\n\nBug: 136102585\nTest: m, inspect out/soong/hiddenapi/hiddenapi-flags.csv\nChange-Id: I2fbcb630a4a7719984f31d9531aca4f4b658db95\n"
    },
    {
      "commit": "0d4567f26701abae84b02389c379843c1dc851a8",
      "tree": "f665e6d5db5af79a4afa3b97cd7cdb7a2069da3f",
      "parents": [
        "cc08c50948d8b2a93b53a327717c7b2a146ac754"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu May 30 22:45:40 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sun Jun 30 18:04:44 2019 +0000"
      },
      "message": "Stack maps: Refactor constructors.\n\nCreate dedicated static methods instead of passing flags.\nThis creates dedicated methods for the purpose and merges\nconstructor and decoding into single optimized method.\n\nThis speeds up CodeInfo by 10%, and maps startup by 0.1%.\n\nTest: ./art/test.py -b --host\nChange-Id: Ic7d43e22bca0be9fb13bc2c7544ebfdf46798cfe\n"
    },
    {
      "commit": "cc08c50948d8b2a93b53a327717c7b2a146ac754",
      "tree": "e84f5bd858d841d4a485f3578b8fe5514b48b7d4",
      "parents": [
        "b839fbb52a3180bbac16a8f984cb11954a2a1837"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 27 16:28:09 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Jun 29 00:58:23 2019 +0000"
      },
      "message": "ART: Restyle VerifyError\n\nUse shift expressions that are now allowed in enums that auto-generate\noperator\u003c\u003c.\n\nCleanup, and in preparation for additional entries.\n\nBug: 121245951\nTest: m test-art-host\nChange-Id: I7ea68e5671dd2e2afd77beed056ec5919d807942\n"
    },
    {
      "commit": "b839fbb52a3180bbac16a8f984cb11954a2a1837",
      "tree": "d47ebc70705fee724b6f5519f5da80878f0d9341",
      "parents": [
        "2ad19bc61d5f5a517ce95810ea326b8189f57262"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 27 16:26:55 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Jun 29 00:58:23 2019 +0000"
      },
      "message": "ART: Allow arbitrary \"expression\" in generate_operator_out.py\n\nGeneralize the \"literal\" treatment to allow \"expressions.\" As we lack a\nreal parser, define expression to be a comma-free string.\n\nBug: 121245951\nTest: m test-art-host\nChange-Id: If98cd9548359306daee05ed720667138ff1bb3a0\n"
    },
    {
      "commit": "2ad19bc61d5f5a517ce95810ea326b8189f57262",
      "tree": "e3f9c055a13499b386315f3e6d621870a05ccbee",
      "parents": [
        "d3b06ebccbac735ffddabd0d2e3a74120db7de70"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 27 15:11:59 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Jun 29 00:58:23 2019 +0000"
      },
      "message": "ART: Refactor generate_operator_out.py\n\nUse generators to delineate the parsing steps better.\n\nBug: 121245951\nTest: m test-art-host\nChange-Id: Ib52e8c991e92015c1ae5e0377015b1b89b259de1\n"
    },
    {
      "commit": "d3b06ebccbac735ffddabd0d2e3a74120db7de70",
      "tree": "e02b70c500332a241ad3b841f9846404b7937c9f",
      "parents": [
        "43884b23d61dd9c2754ef4e716458f8306b07b94"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 27 14:26:00 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Jun 29 00:58:23 2019 +0000"
      },
      "message": "ART: Run autopep8 on generate_operator_out.py\n\nFix up indentation and some minor things. Leave column limit\nissues.\n\nBug: 121245951\nTest: m test-art-host\nChange-Id: I3b977368cd8f238746f3af7f5eea1aaa6a06b6a9\n"
    },
    {
      "commit": "43884b23d61dd9c2754ef4e716458f8306b07b94",
      "tree": "5466067e89d3d3d81e069abb43b93118ca5a48bf",
      "parents": [
        "f68b698e4774275e87bc73fa916faca4c6b11744"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 27 14:05:52 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Jun 29 00:58:23 2019 +0000"
      },
      "message": "ART: Coalesce verifier flags into bit struct\n\nMakes it easier to add flags without increasing size or changing\npadding.\n\nBug: 121245951\nTest: m test-art-host\nChange-Id: I26d0491fb7eb26e441874188a8db9f276ce1aaf8\n"
    },
    {
      "commit": "f68b698e4774275e87bc73fa916faca4c6b11744",
      "tree": "7f62b21dbffad5edd277727fe54978cdc6b9c8e5",
      "parents": [
        "00b831e12cafb629952d2df9eb08b717f4167973"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 27 09:40:20 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 28 21:29:51 2019 +0000"
      },
      "message": "Remove dex2oat image-classes support\n\nDeprecated, new approach is to use boot image profile.\n\nTest: test-art-host\nBug: 63746626\n\nChange-Id: I5332b6f00ce91faab3df3e9e66e17abd0f8ee059\n"
    },
    {
      "commit": "00b831e12cafb629952d2df9eb08b717f4167973",
      "tree": "4f8c3cd351ca17cf0581dd166291d5020f083d29",
      "parents": [
        "f8a33063e92e6de71bf2bce77d351588b676811e"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Jun 19 13:41:57 2019 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jun 28 19:01:20 2019 +0000"
      },
      "message": "adbconnection: add libadbconnection_server.\n\nMove adb\u0027s jdwp listening implementation over to ART so we can have the\nJDWP logic live in one place and get dynamically linked against by adbd,\ninstead of having it being split between ART and adbd.\n\nTest: manually used jdwp\nChange-Id: I46543ea1d3ff2403a2426791b9accfde10a51ffd\n"
    },
    {
      "commit": "f8a33063e92e6de71bf2bce77d351588b676811e",
      "tree": "5e988eab6e664e7573143f30f150c84fb01c978b",
      "parents": [
        "79d6c800cd8aa1da335ea0523c391852780ac02a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jun 27 14:32:44 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 28 14:58:17 2019 +0000"
      },
      "message": "Add libfieldcount jvmti agent\n\nThis agent is useful for extracting information about the contents of\nfields and measuring the memory impact of CLs based on the different\ncounts of various fields.\n\nTest: manual\nTest: ./test/run-test --host --dev --interpreter --runtime-option -Xopaque-jni-ids:true --64 --with-agent $ANDROID_HOST_OUT/lib64/libfieldcountd.so\u003dLjava/lang/Class\\;.extData:Ldalvik/system/ClassExt\\;,Ldalvik/system/ClassExt\\;.jmethodIDs:Ljava/lang/Object\\;,Ldalvik/system/ClassExt\\;.staticJfieldIDs:Ljava/lang/Object\\;,Ldalvik/system/ClassExt\\;.instanceJfieldIDs:Ljava/lang/Object\\; 001-HelloWorld\nBug: 134162467\nChange-Id: I21cfded08f8d9f7db67a81e2ce88ef7567599d97\n"
    }
  ],
  "next": "79d6c800cd8aa1da335ea0523c391852780ac02a"
}
