)]}'
{
  "log": [
    {
      "commit": "c607092fda93d8d9a52ec8ee2fddd6a685a6785a",
      "tree": "5dbdc81dba0a3344fe4e633632adb018572d19dd",
      "parents": [
        "3060bb919cd2f37c6a97e87c1581ac5294af72b3"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jul 16 11:06:32 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jul 16 17:05:50 2020 +0000"
      },
      "message": "Fix golem build\n\nART_CLANG_PATH is not defined (or needed) on golem.\n\nBug: 147817558\nTest: m build-art-target-golem build-art-host-golem\nChange-Id: I635b7b86fb8120954d206601590df42b505e87cf\n"
    },
    {
      "commit": "7400a5466a04f9a274d262c5cb1fd35ff496839a",
      "tree": "8e4d617b0e0fdfda2c089a6a30353d470c0fb2b3",
      "parents": [
        "b461b53c926dae7f1959a309b0a2b109b6d3c4d3"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jul 09 13:40:57 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jul 15 14:33:43 2020 +0000"
      },
      "message": "Fixes for gtests in eng-prod\n\nBug: 147817558\nTest: art/art-host-gtest on forrest\nChange-Id: I0ecfbc81fe6998d4c8c69ce6fbeb35bdd5908b55\n"
    },
    {
      "commit": "3e9d7ae3c2b303be546e84f73a3a3c2d7cbd74e3",
      "tree": "f143dd7f5acf7a4b23d500cbebcffa01b7e51ede",
      "parents": [
        "c526e42d6091b8f2b3b4ac810299ccba9506e380"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Nov 18 15:21:51 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 20 14:05:18 2019 +0000"
      },
      "message": "Don\u0027t use addr2line for dex and jar files.\n\nBug: 144594370\nTest: Modify a run-test to invoke String.length interpreter intrinsic \\\n  and call Runtime::Abort from interpreter intrinsic implementation\nChange-Id: I2997dbfa59ce2bbe9d725f1d7fe7eed565f698fe\n"
    },
    {
      "commit": "c88c1d0fbbc4bc230f08fd1e0fe7b652519c9236",
      "tree": "7295e7e39530096cfe42a24326c28e22f7d4efdc",
      "parents": [
        "4ec4d48940696de077f88f9f8e9abdb178772301"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 27 08:18:46 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 27 18:09:57 2019 +0000"
      },
      "message": "Fully remove DumpKernelStack.\n\nAs explained in the previous commit touching this code, these days only\nroot can get the kernel stack trace anyway.\n\nTest: treehugger\nChange-Id: I9924951afa1f8511720c479598c3bd74f5a55c66\n"
    },
    {
      "commit": "efd55b5b5837912c737eb0a9fa09954c8085e055",
      "tree": "43917185ef67c94326e1b27325dc617b92abb5bf",
      "parents": [
        "1ec82e562a31fbd7383555b610743d85b7b4a7d4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 26 09:25:20 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 27 05:13:38 2019 +0000"
      },
      "message": "Don\u0027t complain if we can\u0027t read /proc/self/task/pid/stack.\n\nWhy do we see the warning on every stack in an ANR? Because normally on\nAndroid you either won\u0027t have CONFIG_STACKTRACE, or you won\u0027t have\nPTRACE_MODE_ATTACH_FSCREDS. I\u0027m assuming this code still has some value\non the host, so I\u0027m just silencing the warning rather than deleting the\ncode.\n\nTest: treehugger\nChange-Id: I2f203bde87a6613d1b300a0020290c62bea4ac48\n"
    },
    {
      "commit": "43e72433fd2115b4213b5db06568ebd1c550e7d1",
      "tree": "32b71a387354aaa09cbc07a146fc6f16a0eb6882",
      "parents": [
        "391be3ab96ebe8d9cc00849a3bb8058708416000"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 14 16:15:24 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 16 01:00:21 2019 +0000"
      },
      "message": "ART: Remove file_utils\u0027 ReadFileToString\n\nReplace with libbase.\n\nTest: mmma art\nChange-Id: Id042f4879485e743e3dc7548434be1634370ee66\n"
    },
    {
      "commit": "7f7285657c06bbd48fae131afd5148fae4403f11",
      "tree": "2de7fb7fbb2a59c67dc3dd06aaad49d5b924fed4",
      "parents": [
        "768b15d9d1b6847910da4782672bdec79913a8b7"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 14 17:52:33 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Feb 15 00:20:18 2019 +0000"
      },
      "message": "Fix DumpNativeStack function for traced methods. (part 2)\n\nThe alignment didn\u0027t work for thumb due to least significant bit set.\n\nBug: 123510633\nTest: ./art/test.py -b -r -t 163\nChange-Id: I173bdef1050c79a7431955034e3eb001d1efae05\n"
    },
    {
      "commit": "eea5fd3561ec3cc1f97b754607e69c2f84d17a6d",
      "tree": "9bacc8130ccbbebb5dc4b4e674f9ae20f5b1968b",
      "parents": [
        "d8c4a38b3fc37efdfe691c317b37e9808022f7a3"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Feb 13 17:24:17 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Feb 13 17:26:29 2019 +0000"
      },
      "message": "Fix DumpNativeStack function for traced methods.\n\nThe art_quick_instrumentation_exit stub does not have oat header.\n\nBug: 123510633\nTest: test.py -b -r --host --trace -r -t 163\nChange-Id: I56d72816daf836440feccb42c81031f120e8c4c5\n"
    },
    {
      "commit": "62d986b0a18b7d4616915c9545678bc23f843518",
      "tree": "0d7bd5a9c4097b26ea89737a96892ab707fc2c77",
      "parents": [
        "1b0f5354ccd1642e20e57daa956d5fc32fb8a4b6",
        "bb7207376b186d8df9afcbb9df6011f8a4ef7ab5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 04 16:15:36 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 04 16:15:36 2019 +0000"
      },
      "message": "Merge \"Fix DumpNativeStack function for trampolines.\""
    },
    {
      "commit": "87da30ee0e2072cdbb72f9c35d57fedf97cfed58",
      "tree": "3c807f2c6f8bb349be145af8c5ade4018a20390c",
      "parents": [
        "c0f797328e986dcdded1ba5e413ae01c24fedef9"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jan 30 15:51:23 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jan 30 16:30:53 2019 +0000"
      },
      "message": "Use prebuilt addr2line on host\n\nThe build system rightfully warns if we use the system addr2line.\n\nBug: 123562439\nTest: Crash dex2oat during built and check the log output.\nChange-Id: I236df48bb49ab914da372de337da091b00a7459e\n"
    },
    {
      "commit": "bb7207376b186d8df9afcbb9df6011f8a4ef7ab5",
      "tree": "9b196da040792c08849fc64483dc16fa2feef787",
      "parents": [
        "c0f797328e986dcdded1ba5e413ae01c24fedef9"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Jan 29 16:54:47 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jan 30 14:53:06 2019 +0000"
      },
      "message": "Fix DumpNativeStack function for trampolines.\n\nTrampolines are not preceded by OatQuickMethodHeader,\nso we should not be trying to read it in those cases.\n\nBug: 123510633\nTest: Added temporary checks when reading the header.\nTest: test.py -b --host -r -t 061 -t 064\nChange-Id: I3507efcb1ac342fc3d65dd4d38408d9a18f1877a\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": "c57c680b16eb4857eef16134a811f4c2ff9d95f0",
      "tree": "9527328cb8738878e1b727a48620769224dddb2c",
      "parents": [
        "ce2a00daa92670a4fc01ef59fdbc3769a846f69c"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon Oct 29 14:28:56 2018 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon Oct 29 14:39:24 2018 -0700"
      },
      "message": "Modernise code to use std::make_unique\n\nGenerated by clang-tidy.\n\nTest: m checkbuild\nChange-Id: Idb24960d9326c0d94ab5d04b18deb0894d23da9f\n"
    },
    {
      "commit": "0b0d3b421782fbe04085765df9e99fb05a93a01c",
      "tree": "cb894e3132f0e10f928bfd594d5ef3c46c6b7690",
      "parents": [
        "41a50f3627e4d84941aaf36d821ea8ba47750b56"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jun 14 13:55:49 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jun 14 16:50:31 2018 +0100"
      },
      "message": "Re-enable ART code paths and tests for ASan that were disabled for Valgrind.\n\nTest: SANITIZE_HOST\u003daddress ASAN_OPTIONS\u003d\u0027detect_leaks\u003d0\u0027 make test-art-host\nBug: 29282211\nChange-Id: I127a8c11c7d3b778c8d538aec0782a10f042225c\n"
    },
    {
      "commit": "05e34f4cb8c9db165d1008721e874b9dd3db024b",
      "tree": "c41d397ef5cfb9d7918fceadcda3195a0d0d91de",
      "parents": [
        "428d80e3a49f732b39bb0c71cfde26451e3fdf4d"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 24 13:19:05 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 11 14:03:37 2018 +0100"
      },
      "message": "Revert^2 \"Remove support for Valgrind in ART.\"\n\n- Disable test configuration art-gtest-valgrind64\n  (art-gtest-valgrind32 was already disabled).\n- Remove Makefile logic regarding testing with Valgrind.\n- Remove occurrences of `TEST_DISABLED_FOR_MEMORY_TOOL_VALGRIND`.\n- Replace occurrences of `TEST_DISABLED_FOR_MEMORY_TOOL_ASAN` with\n  `TEST_DISABLED_FOR_MEMORY_TOOL`.\n- Replace the potentially dynamically evaluated\n  `RUNNING_ON_MEMORY_TOOL` expression with constant\n  `kRunningOnMemoryTool`.\n- Simplify and fold the logic of\n  `art::ArenaAllocatorMemoryToolCheckImpl` and\n  `art::ArenaAllocatorMemoryToolCheck` into\n  `art::ArenaAllocatorMemoryTool`.\n- Adjust comments regarding memory tools.\n- Remove Valgrind suppression files.\n- Remove `--callgrind` option from tools/art.\n\nThis reverts commit 8b362a87d52a6668ffd2283ef6ffc274315f41c8.\n\nChange-Id: I23c76845e6ccf766f19b22b58a0d5161f60842a9\nTest: art/test.py\nTest: art/test/testrunner/run_build_test_target.py art-asan\nBug: 77856586\nBug: 29282211\n"
    },
    {
      "commit": "8b362a87d52a6668ffd2283ef6ffc274315f41c8",
      "tree": "14b187cd0b4afde501b9cc7a9dc82c997362e888",
      "parents": [
        "8268cb677bd92bfbcfec7e803775c29687494e53"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 22 20:54:14 2018 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 22 20:54:14 2018 +0000"
      },
      "message": "Revert \"Remove support for Valgrind in ART.\"\n\nThis reverts commit 8268cb677bd92bfbcfec7e803775c29687494e53.\n\nReason for revert: ASAN failures\n\nChange-Id: I7e66d3f3fb461ae4f6dea6ec7d506b7dface3402\nTest: SANITIZE_HOST\u003daddress m test-art-host\nBug: 77856586\nBug: 29282211\n"
    },
    {
      "commit": "8268cb677bd92bfbcfec7e803775c29687494e53",
      "tree": "b63ca42dcd440117187e3c859b4b311b11b8137e",
      "parents": [
        "004b8875b291af5001d384fb1eb76ae0660ff056"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri May 11 15:06:17 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon May 14 18:40:49 2018 +0100"
      },
      "message": "Remove support for Valgrind in ART.\n\n- Disable test configuration art-gtest-valgrind64\n  (art-gtest-valgrind32 was already disabled).\n- Remove Makefile logic regarding testing with Valgrind.\n- Remove occurrences of `TEST_DISABLED_FOR_MEMORY_TOOL_VALGRIND`.\n- Replace occurrences of `TEST_DISABLED_FOR_MEMORY_TOOL_ASAN` with\n  `TEST_DISABLED_FOR_MEMORY_TOOL`.\n- Replace the potentially dynamically evaluated\n  `RUNNING_ON_MEMORY_TOOL` expression with constant\n  `kRunningOnMemoryTool`.\n- Simplify and fold the logic of\n  `art::ArenaAllocatorMemoryToolCheckImpl` and\n  `art::ArenaAllocatorMemoryToolCheck` into\n  `art::ArenaAllocatorMemoryTool`.\n- Adjust comments regarding memory tools.\n- Remove Valgrind suppression files.\n- Remove `--callgrind` option from tools/art.\n\nTest: art/test.py\nBug: 77856586\nBug: 29282211\nChange-Id: Ifdcbfccc1830104c455760457df66ede4a4cd135\n"
    },
    {
      "commit": "a0b252726ea12d3bc1834aad2a4230447d562181",
      "tree": "15330a526e6dbb04e6b4c17de93bc5ca87f4ac11",
      "parents": [
        "4bf07f6921384d44987d68e6a6cabf32b9b90714"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 27 17:04:44 2018 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 27 17:04:44 2018 -0700"
      },
      "message": "Fix mac build.\n\nAdd extra parameter to DumpNativeStack for mac definition.\n\nBug: 74121887\n\nTest: NA\nChange-Id: I7b9ec40fb1f81a4e38e2ce06313df6ca6706312b\n"
    },
    {
      "commit": "b2749310a8b4789b7ddd8fe1055d3bcb19741518",
      "tree": "dabb1377b633736ce3da2296716bc544d4d7f43e",
      "parents": [
        "a020472fe3f732a4523cf36f56a309089193648c"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Mar 23 13:03:45 2018 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Mar 26 13:10:28 2018 -0700"
      },
      "message": "Display all stack frames on a crash.\n\nBug: 74121887\n\nTest: Forced a crash in the unwind code and verified the frames\nTest: in the unwinder are present.\nChange-Id: Id158dadea25e986a0d2e9feba0873a921644fd22\n"
    },
    {
      "commit": "b1f23f99cbb73a00c4c333d479b40893ceaeff35",
      "tree": "f431c505a7aa79c8decd484a7377c5a66f359860",
      "parents": [
        "c9d51092baaf870f58f0728936a8a179750cfc03"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Mar 07 14:10:49 2018 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Mar 07 14:10:49 2018 -0800"
      },
      "message": "Ignore vdex files for addr2line.\n\nBug: 74349704\n\nTest: Ran the 141 art test with a patch to cause a crash. Observed no addr2line\nTest: errors, and all non-vdex mapped lines properly have line information.\nChange-Id: I82a9f351f33353f3a17ed03bfaa8f28a92e75ee2\n"
    },
    {
      "commit": "453e0e557d608d82012a49fedd1b9c83bb54daee",
      "tree": "a6179be23a0ce0ccd053e9398c933cb6634949b4",
      "parents": [
        "7a02c66fd9ed174fc2e49ccc9f582dd661b7de9e"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 06 14:02:55 2018 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 06 16:07:23 2018 -0800"
      },
      "message": "Change Addr2line to use poll.\n\nMoving from select to poll avoids any problems with the fd being\ntoo large for the call to FD_SET. It also slightly simplifies the code.\n\nMake sure that the call to read only ever occurs if there is really data\nto be read. There was a case with the previous use of the select call\nwhere the read would be called when there was no data to be read which\ncaused the process to hang forever.\n\nTest: Ran the 137 test forcing a crash and verified the addr2line\nTest: information is correct.\nTest: Ran the 141 test forcing a crash and verifying that when more than\nTest: two lines are returned by addr2line, it still display them all.\nTest: Modified the Addr2line call to pass in an emptry string for the\nTest: executable and verified there are no hangs.\nChange-Id: I3d750e7796d0c70122686aad1eb40856157c9770\n"
    },
    {
      "commit": "c431b9dc4b23cc950eb313695258df5d89f53b22",
      "tree": "422273559c3ae52caff0c6b1cf1a62a8312f0e26",
      "parents": [
        "f46f46cf5bd32788d5252b7107628a66594a5e98"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Mar 02 12:01:51 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Mar 05 13:58:20 2018 -0800"
      },
      "message": "Move most of runtime/base to libartbase/base\n\nEnforce the layering that code in runtime/base should not depend on\nruntime by separating it into libartbase.  Some of the code in\nruntime/base depends on the Runtime class, so it cannot be moved yet.\nAlso, some of the tests depend on CommonRuntimeTest, which itself needs\nto be factored (in a subsequent CL).\n\nBug: 22322814\nTest: make -j 50 checkbuild\n      make -j 50 test-art-host\n\nChange-Id: I8b096c1e2542f829eb456b4b057c71421b77d7e2\n"
    },
    {
      "commit": "53ef6a65714ddc90de3b4c624d6434ef482d714b",
      "tree": "d74ae44792fa75246b7dd5ccc1d8d1a1cbf97934",
      "parents": [
        "0dc1b92c76bd8a85ae4f5dad1dea61a11660d9cc"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Feb 09 23:13:27 2018 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Feb 09 23:13:27 2018 -0800"
      },
      "message": "Add offset for native stack dump.\n\nWhen dumping the stack from a shared library loaded out of an apk,\nthe art stack dumper didn\u0027t match the backtrace unwinding code and\ninclude an offset. Add that back in so that this backtrace can be\npassed to go/as.\n\nTest: Loaded an app with a shared library from an apk and did a kill -3.\nTest: Observed that the offset value is set properly.\nChange-Id: I881946330e76b9aab28cf7dbd94fe406bac7895a\n"
    },
    {
      "commit": "1be550542283ba9876dce18473268df1d41bc397",
      "tree": "ebfb1ea3e5bd32e53c5ad978a956b5b00f78d589",
      "parents": [
        "8e8f5e3b45432e458b6fe9c3af42d94b928b2b1e",
        "7a8b3f24e8c7190895e0cccbcc7e3c33908ced45"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 03 02:51:43 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 03 02:51:43 2018 +0000"
      },
      "message": "Merge \"Fix NE when DumpKernelStack\""
    },
    {
      "commit": "7a8b3f24e8c7190895e0cccbcc7e3c33908ced45",
      "tree": "8b1a567e257972adbf7233e2fb67402a3abe3a4d",
      "parents": [
        "1d32a16f93d8bb479523fd237277ecbbff5bf1f4"
      ],
      "author": {
        "name": "yuanhao",
        "email": "yuanhao@xiaomi.com",
        "time": "Thu Feb 01 15:58:53 2018 +0800"
      },
      "committer": {
        "name": "yuanhao",
        "email": "yuanhao@xiaomi.com",
        "time": "Fri Feb 02 11:53:02 2018 +0800"
      },
      "message": "Fix NE when DumpKernelStack\n\nBefore kernel_stack_frames.pop_back(),\ncheck whether kernel_stack_frames is empty.\n\nBug: 72759265\nTest: manual\n\nChange-Id: I3e52d0a38ff868a278da94b2b80d44a324514934\nSigned-off-by: yuanhao \u003cyuanhao@xiaomi.com\u003e\n"
    },
    {
      "commit": "77b38df8ebc6be91621054a0bc9bca68c02d6879",
      "tree": "905b9f654e1f7551e94bab3c8544515b965b8770",
      "parents": [
        "23c6cf437b12864fb637b8cbe4018f8608135b0d"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jan 18 16:16:49 2018 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jan 18 17:27:06 2018 -0800"
      },
      "message": "Update to track libbacktrace API changes.\n\nBug: 65682279\n\nTest: Compiles. Ran art host unit tests.\nChange-Id: I2077e61cc89cdb93a04a70612b01596fcc273d8c\n"
    },
    {
      "commit": "8bd7d1bb2858cdfebe8d00350c584b62221479a0",
      "tree": "bd7ae503f0a4da512a1cc9f4cf166207aaa959be",
      "parents": [
        "4b9a11f1d43df69c50e93ba1793fce1c2216682b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jan 08 11:12:40 2018 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jan 08 11:12:40 2018 -0800"
      },
      "message": "Allow map name to be empty in DumpNativeStack.\n\nFor the gdb jit interface, functions in the stack trace will come from\nmaps that have no names. Print a special name for these maps and also do\nnot allow addr2line to run on these maps either.\n\nTest: Build and ran a stack through that use the jit gdb interface.\nChange-Id: I39d3f7e24a38df0a02214d1014a5d0b2e0174dd7\n"
    },
    {
      "commit": "39b378ca3b4b6dc6da1651b84ee4289cd9bff0f8",
      "tree": "1da7bdc834fbc2f11243fa2b936f0d7a67d982c1",
      "parents": [
        "dcc528d2c7d5ac2cc075d4c965fdf702421d0f43"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 07 15:44:13 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 07 16:26:11 2017 -0800"
      },
      "message": "ART: Factor out gAborting\n\nCut dependencies on base/logging.h by moving gAborting to its\nown header. Leave the static storage in logging.cc.\n\nTest: m\nChange-Id: Ib2ca880e15f9cb50cb9aab803784826bb46efb5e\n"
    },
    {
      "commit": "dcc528d2c7d5ac2cc075d4c965fdf702421d0f43",
      "tree": "e070070248facaf4c23f0ceb4a713de29b681462",
      "parents": [
        "57943810cfc789da890d73621741729da5feaaf8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 07 13:37:10 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 07 16:26:11 2017 -0800"
      },
      "message": "ART: Move runtime-debug flags to own files\n\nTo reduce the need for base/logging.h and separate out concerns.\n\nTest: m\nChange-Id: Ib373357325c6e622f608ada341594c3bea2fce2e\n"
    },
    {
      "commit": "891a50e9dc0f02ee34bd7348f80b621249153af5",
      "tree": "6af57b3aa8961ed8e6cd39fdf5a0ac335905b4c6",
      "parents": [
        "13e6f2935d67742e9eec14b412d33bf71b20697b"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Oct 27 17:01:07 2017 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Nov 01 11:39:19 2017 -0700"
      },
      "message": "Separate file utilities from utils.cc\n\nReduce the dependencies from utils.cc to arch/ subdirectories, etc.\n\nBug: 22322814\nTest: make test-art-host\nChange-Id: I4decd15ff4ec460735bfb58cebb1c6a1bf32b68f\n"
    },
    {
      "commit": "f88b5c0bdf829cba1b3d30d2e428ba165522efeb",
      "tree": "2b503d6bdd5cfc6f705c00296a5284d6dde9a22c",
      "parents": [
        "6c13ce8b4ccdb6127c4428cf8b2c8261dccced20"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 19 14:18:33 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 19 14:18:33 2017 -0700"
      },
      "message": "Use the rel_pc instead of computing it.\n\nBug: 23762183\n\nTest: Compiles.\nChange-Id: I5fe96c444bed89b4b9d3e96ffc37555678428be1\n"
    },
    {
      "commit": "b486a98aadc95d80548953410cf23edba62259fa",
      "tree": "b113b7d50a4a015502873b7742c9ece00d293e84",
      "parents": [
        "1656ca9e6996cb555b4463e5efd4bd7e3f4fb816"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 01 13:45:54 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 02 08:24:02 2017 -0700"
      },
      "message": "ART: Introduce thread-current-inl.h\n\nFactor out Thread::Current() code into its own -inl file to remove\ntransitive includes.\n\nThis requires at the same time correcting mutex.h, i.e., moving\nsome functions into mutex-inl.h.\n\nTest: m test-art-host\nChange-Id: I88f888b604e0897368d9b483edce6ce4332dd9c9\n"
    },
    {
      "commit": "0ed6c80d40c215720a47f62d02f9bff4e1b76257",
      "tree": "62da9f73df1bfb6684662f3ac69027410b24bd63",
      "parents": [
        "49ebbb27ccaccd7d1466eebb24b847118b6f78a3"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Mar 27 18:12:05 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Mar 27 18:12:54 2017 -0700"
      },
      "message": "Close the right fd in native_stack_dump\n\nTest: m test-art-host\nChange-Id: I7edbeba699f3e957b915c5fcd52337ee64b878e2\n"
    },
    {
      "commit": "46ee31b67d7ee1bd085fbc240502053caa3cf8fa",
      "tree": "83e870f293cd60d533207e389d7b094acd87b31f",
      "parents": [
        "9538f9e2a5d03f1b1bc07ebfbd93b61dcf8ad604"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 14 10:11:49 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 15 09:50:39 2016 -0800"
      },
      "message": "ART: Move to libbase StringPrintf\n\nRemove ART\u0027s StringPrintf implementation. Fix up clients. Add\nmissing includes where necessary.\n\nTest: m test-art-host\nChange-Id: I564038d5868595ac3bb88d641af1000cea940e5a\n"
    },
    {
      "commit": "063fc772b5b8aed7d769cd7cccb6ddc7619326ee",
      "tree": "bc165781989087a998721991504e589a7d5b0926",
      "parents": [
        "48d08a4233ee4450b0d5073d41445f9dd1f17191"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Tue Aug 02 11:02:54 2016 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Dec 01 11:15:47 2016 -0800"
      },
      "message": "Class Hierarchy Analysis (CHA)\n\nThe class linker now tracks whether a method has a single implementation\nand if so, the JIT compiler will try to devirtualize a virtual call for\nthe method into a direct call. If the single-implementation assumption\nis violated due to additional class linking, compiled code that makes the\nassumption is invalidated. Deoptimization is triggered for compiled code\nlive on stack. Instead of patching return pc\u0027s on stack, a CHA guard is\nadded which checks a hidden should_deoptimize flag for deoptimization.\nThis approach limits the number of deoptimization points.\n\nThis CL does not devirtualize abstract/interface method invocation.\n\nSlides on CHA:\nhttps://docs.google.com/a/google.com/presentation/d/1Ax6cabP1vM44aLOaJU3B26n5fTE9w5YU-1CRevIDsBc/edit?usp\u003dsharing\n\nChange-Id: I18bf716a601b6413b46312e925a6ad9e4008efa4\nTest: ART_TEST_JIT\u003dtrue m test-art-host/target-run-test test-art-host-gtest\n"
    },
    {
      "commit": "ca620d7bc03b23a0bcf0ef58df58603ee000dca0",
      "tree": "07cb026075b70a958d14ae84b4e213178a6ba0b4",
      "parents": [
        "b02b8d7df48ea3314cfcb3c08d84ac9556363833"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 08 08:09:33 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 08 15:04:48 2016 -0800"
      },
      "message": "ART: Fix tidy warnings\n\nSwitch to char versions of find variants.\n\nAdd \"explicit\" constructor variants or refactor and\nremove defaults.\n\nUse const references.\n\nBug: 32619234\nTest: m test-art-host\nChange-Id: I970cc2f47d6cf8f0c74104b994b075b2fafb3d45\n"
    },
    {
      "commit": "709b070044354d9f47641f273edacaeeb0240ab7",
      "tree": "3a8ac051d7c35076303984d0d892cdd396b60427",
      "parents": [
        "1a4de6a2453a3ad0310aca1a44e7e2d3b6f53bc1"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Oct 13 09:12:37 2016 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue Oct 18 14:10:04 2016 -0700"
      },
      "message": "Remove mirror:: and ArtMethod deps in utils.{h,cc}\n\nThe latest chapter in the ongoing saga of attempting to dump a DEX\nfile without having to start a whole runtime instance.  This episode\nfinds us removing references to ArtMethod/ArtField/mirror.\n\nOne aspect of this change that I would like to call out specfically\nis that the utils versions of the \"Pretty*\" functions all were written\nto accept nullptr as an argument.  I have split these functions up as\nfollows:\n1) an instance method, such as PrettyClass that obviously requires\nthis !\u003d nullptr.\n2) a static method, that behaves the same way as the util method, but\ncalls the instance method if p !\u003d nullptr.\nThis requires using a full class qualifier for the static methods,\nwhich isn\u0027t exactly beautiful.  I have tried to remove as many cases\nas possible where it was clear p !\u003d nullptr.\n\nBug: 22322814\nTest: test-art-host\nChange-Id: I21adee3614aa697aa580cd1b86b72d9206e1cb24\n"
    },
    {
      "commit": "ef2953643e54ea6208fc37df010adf5a9d43faaf",
      "tree": "243069a0226983dc32451aecf21dec57871032d1",
      "parents": [
        "91d1b61db7f83c7b8119a0327fbe2f3c0b6a17db"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 11 20:04:11 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 11 20:04:11 2016 -0700"
      },
      "message": "ART: Use cerr for host unexpected errors\n\nUse cerr and endl when dumping unexpected signals on Linux. This\nsimulates the previous special-casing of INTERNAL_FATAL to\nimmediately print output.\n\nBug: 31338270\nTest: m test-art-host\nTest: manual segfault\nChange-Id: I9d4471836339bf69681cc4aa43df6d558e7f123d\n"
    },
    {
      "commit": "fcccbafa61fcab8950f8ca9b6d380e44cb5fac7d",
      "tree": "c576849c7b8d2714a237b7613c50e33eff8cbacb",
      "parents": [
        "5dd44d0da7999ab62f09a1bf03345280811736d4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 02 17:20:03 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 04 20:13:52 2016 -0700"
      },
      "message": "ART: Improve addr2line\n\nChange addr2line handling: use the tool in \"server\" mode of\noperation, keeping a connection open for the same file. This\nreduces the time of a dump of sleeping 001-HelloWorld from fifteen\nto ten seconds.\n\nBug: 30351473\nTest: m test-art-host\nTest: manual host testing with a test that times out\nChange-Id: Idbe424f85c566f5bb39d12644ce104fff54a2146\n"
    },
    {
      "commit": "5dd44d0da7999ab62f09a1bf03345280811736d4",
      "tree": "18dc0029caf5791b0bf831dcc6e38f623fe14eb4",
      "parents": [
        "20b975cc5c5a1f4e6f0a8e525b5d2e63abc413df"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 02 17:20:03 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 04 18:19:02 2016 -0700"
      },
      "message": "ART: Factor out native stack dumping\n\nMove DumpNativeStack and DumpKernelStack into a new file to keep\nconcerns separated. Clean up the file.\n\nIn preparation for modifications to how we use addr2line.\n\nBug: 30351473\nTest: m test-art-host\nTest: manual host testing with a test that times out\nChange-Id: I02d5645952fe94fd8e73bcf0522721547f6cef66\n"
    }
  ]
}
