)]}'
{
  "log": [
    {
      "commit": "765b2a04576f4e985a88165456f5ee55cdfe56b8",
      "tree": "1eb91d1e6dcdee31b5b396ee0ed8baf8c94aca96",
      "parents": [
        "023533677989028d48f4e64dad0a5b3b4e59b726"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 02 11:04:13 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 03 19:46:42 2019 +0000"
      },
      "message": "Add -verbose:interpreter\n\nAdds a mode to track what methods are being interpreted. Good\nfor debugging interpreter usage during app startup.\n\nBug: 130185360\nTest: test-art-host\n\nChange-Id: I8119f79e534cdad7d6a72d4f01115a288e9c8d9a\n"
    },
    {
      "commit": "6dfdfef85b210dc104a7cd221c6717e1a2123a13",
      "tree": "c8748f991a42bf15c77a388375c1af266f2bfdaf",
      "parents": [
        "a4469ef9e81bddf83d2b5b525d317de2070fbfd7"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Apr 11 17:39:11 2019 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Apr 12 15:43:15 2019 +0000"
      },
      "message": "Set core platform API policy from command line flag\n\nSo as to avoid any performance penalty from core platform API access\nchecks, disable them by default. AndroidRuntime.cpp now passes the value\nof the \"persist.debug.dalvik.vm.core_platform_api_policy\" to the\nruntime, allowing a user to enable core platform API checks on demand.\nThe workflow for a tester is:\n- adb shell setprop \u003cproperty\u003e \"just-warn\"\n- adb reboot\n- adb logcat | grep \"Core platform API\"\n\nTest: manual, observe warnings in logcat\nTest: art/test/testrunner/run_build_test_target.py art-test\nBug: 125701194\nChange-Id: Iae09a8f44918dc349bc10dbdd703043667f51268\n"
    },
    {
      "commit": "f75dce49ebe792cfd0b62c59c86fdc793926ee4d",
      "tree": "72a50f8667ee88d3f030f4de91867666ab8064fa",
      "parents": [
        "a8d23cb7febebc44ddfc03a3a135bb983eb95029"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Apr 08 09:36:23 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 09 01:01:02 2019 +0000"
      },
      "message": "Revert^2 \"Delete GSS\"\n\nBug: 73295078\nBug: 72738921\nBug: 33795328\nTest: test/testrunner/run_build_test_target.py -j50 art-ss-gc\n\nThis reverts commit e18588381b34a5ed24417c826dc389a91f8d2b7f.\n\nChange-Id: I116b7ab7dec7cafebb1e718caea71c95353417ea\n"
    },
    {
      "commit": "e18588381b34a5ed24417c826dc389a91f8d2b7f",
      "tree": "23eea25005dd814093f3f4ffd33d77619ae12388",
      "parents": [
        "926c5f03655562e3e4eecd0d1a7b6d6c5dc6ed9a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Apr 06 07:50:25 2019 +0000"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Apr 06 17:29:37 2019 +0000"
      },
      "message": "Revert \"Delete GSS\"\n\nThis reverts commit 1397ea10a8e0409c74efe251721a2ee9ffaa3127.\n\nReason for revert: Tests failing\n\nChange-Id: Ie25f7342f67685e2b4f80f8344a8a4d7e988f09f\n"
    },
    {
      "commit": "1397ea10a8e0409c74efe251721a2ee9ffaa3127",
      "tree": "aa7c44dd14f6161e6eb0aabe0cf281cb8ecdf859",
      "parents": [
        "3b23f7568077a10cb3dfd0bb7d1c5f4c035d65dc"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 02 10:54:37 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 05 15:54:52 2019 +0000"
      },
      "message": "Delete GSS\n\nDeleted GSS and related code.\n\nBug: 73295078\nBug: 72738921\nBug: 33795328\n\nTest: test-art-host\nChange-Id: I56d6c25a01abf3a969771c2161f9216c34a622e3\n"
    },
    {
      "commit": "b215557206a39d3d2373c4ba7095bdae6a705144",
      "tree": "d17a39d4016aac38abf0699269c2532b4c4e5376",
      "parents": [
        "184832a46b21ff3ebe54f50f21dd71f2292d8943"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Mar 27 14:25:53 2019 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Mar 29 23:49:27 2019 +0000"
      },
      "message": "Add FinalizerTimeoutMs argument, and respect it\n\nAdd -XX:FinalizerTimeoutMs commandline argument, and make it\navailable for libcore.\n\nAdd 1336-short-finalizer-timeout to test it. Blacklist it for\nthe cases in which 030-bad-finalizers was known not to work,\nsince it\u0027s largely a clone. Disable it for gcstress, since timeout\nmargins are tight.\n\nIncrease timeout in 030-bad-finalizers due to gcstress issues.\n\nUse the result in 004-NativeAllocations and 030-bad-finalizers\nto avoid timeouts. Make 004-NativeAllocations more proactive in\navoiding timeout.\n\nThis is intended as a replacement for aosp/836642 .\n\nBug: 129350738\nBug: 68792448\nTest: Boot AOSP, TreeHugger\nChange-Id: I9aef9c9bacb7e8d851bd2c879ed9fb5b596abc60\n"
    },
    {
      "commit": "b52cd387f5cec59a9c12e6fefd527785f1002ecf",
      "tree": "bd87f2e909108ab6a31d98a57bdfac680b2a2d37",
      "parents": [
        "0faaf9cd2fc8eb386bad9d96d86217b14308b243"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 20 10:50:50 2019 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 20 13:37:12 2019 +0000"
      },
      "message": "Add comments around runtime options \"-Xgc:[no]generational_cc\" processing.\n\nThese comments serve as a reminder that these options should be\naccepted by the runtime as long as they are passed by\napp_process/zygote.\n\nTest: mmma art\nBug: 72446017\nBug: 120794191\nBug: 123754583\nChange-Id: Ieede0536befbd9cad77c0ab9da7f553717678916\n"
    },
    {
      "commit": "8581e2a234b562880c1d6c6b5ad14d23f7b597ed",
      "tree": "460059a1717d7507fa2854c3d458ce0250ba2bbd",
      "parents": [
        "e512556ab85987c52e4be1fcd6d7a1d15a1b0fb6"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 06 15:54:55 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Feb 07 14:13:58 2019 +0000"
      },
      "message": "Replace StringPiece with std::string_view.\n\nThis replaces the last few StringPiece uses and removes\nthe stringpiece.h.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 123750182\nChange-Id: I1bb5d05df47319b6ca386db01e14ce048ae54daf\n"
    },
    {
      "commit": "0b4d146d628b359962db969c6138b18a1bcf49a9",
      "tree": "9aa05caed1a3540cc497bb6289fcd0473f96b6fe",
      "parents": [
        "3c29c66933f81dbb9af17caa197257ac67ee3c78"
      ],
      "author": {
        "name": "Albert Mingkun Yang",
        "email": "albertnetymk@google.com",
        "time": "Thu Nov 29 13:25:35 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jan 18 16:32:55 2019 +0000"
      },
      "message": "ART: make generational CC a runtime option\n\nAdd -Xgc:[no]generational_cc option to control whether generational\nConcurrent Copy collector is enabled when art is launched.\n\nRepurpose the environment variable and preprocessor macro name\n`ART_USE_GENERATIONAL_CC` to selecting the default behavior (if unset,\nthe default is to use Generational CC collection by default).\n\nTest: Run art with -Xgc:[no]generational_cc along with -XX:DumpGCPerformanceOnShutdown on some benchmarks to see if minor GC runs. parsed_options_test is updated to test this new option.\nTest: make test-art-host-gtest-parsed_options_test\nTest: make test-art-target-gtest-parsed_options_test\nBug: 112187497\nBug: 67628039\nChange-Id: I6b4660b06f7e793911a2601bed24c33777190741\n"
    },
    {
      "commit": "7b814f3e1a409eec0306d7665c4af8224d482c76",
      "tree": "8230bca56154c32ef3f496ea1fdf0ec19d2bb77d",
      "parents": [
        "e01c1c44fbd859fd155ba0afbc0c78b4ca67e105"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon Dec 17 16:13:58 2018 -0800"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon Dec 17 16:15:50 2018 -0800"
      },
      "message": "Use __builtin_trap to force crashing\n\nNull dereference hack triggers compiler warning. Use__builtin_trap\nintrinsic instead.\n\nTest: m checkbuild\nChange-Id: I43064c2e777f1620738361c50af3c5887d42a668\n"
    },
    {
      "commit": "91f1032505cfaec3aef51fc0a3085b213813f0ed",
      "tree": "6469e772d9fb562d26dc1d22dd0b71844bbb743f",
      "parents": [
        "573b3877fac3c5a4a9703301502694fe7219b21c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 07 18:04:10 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 07 18:13:55 2018 +0000"
      },
      "message": "Revert^2 \"Pass boot class path to ImageSpace::LoadBootImage.\"\n\nThis reverts commit db4b1deebf425be5f1d0f597d1ef540f19908324.\n\nFixed JDWP tests, see \"Test:\" stanzas below.\n\nChange-Id: I6fb56ac990b78164cbd3f93c9f6df66e0dd9a813\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing\nTest: run-libcore-tests.sh --mode\u003ddevice --variant\u003dX64\nTest: run-jdwp-tests.sh --mode\u003dhost --variant\u003dX64\nTest: run-jdwp-tests.sh --mode\u003ddevice --variant\u003dX64\nBug: 119868597\n"
    },
    {
      "commit": "db4b1deebf425be5f1d0f597d1ef540f19908324",
      "tree": "5851aab8a4d71b49dbd272b822bfd1ae2cbd08df",
      "parents": [
        "e3c6dfe2009d2fad6f8e4401cb17935bdd09ab9e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 07 17:18:07 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 07 17:23:26 2018 +0000"
      },
      "message": "Revert \"Pass boot class path to ImageSpace::LoadBootImage.\"\n\nThis reverts commit d19085141ad9c71eae1b0ff585999ac8e27dadd4.\n\nAlso squash a revert of\n    Fix oatdump tests on target.\n    (commit 77eea0898aca2881a87afd177a0422870c39a318)\n\nReason for revert: Broke JDWP tests.\nBug: 119868597\nChange-Id: I005097d2d96014c961e5a4c0b089e7675004febc\n"
    },
    {
      "commit": "d19085141ad9c71eae1b0ff585999ac8e27dadd4",
      "tree": "24284e84f5df4601bacc2a97c56af1bc5950c253",
      "parents": [
        "523940b40f9701504d6e007dd2af48f315038dc1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 22 14:57:28 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 06 14:43:07 2018 +0000"
      },
      "message": "Pass boot class path to ImageSpace::LoadBootImage.\n\nWhen loading the boot image by ImageSpace, do not rely on\nthe boot class path (BCP) recorded in the primary boot image\noat file. Instead, check the BCP from image against the BCP\nprovided by the Runtime, i.e. from -Xbootclasspath:_ or the\nenvironment variable BOOTCLASSPATH. For now, allow Runtime\nto extract the BCP from the primary boot image oat file when\nwe have -Ximage:_ but no BCP.\n\nAlso pass the boot class path components down to the OatFile\nso that we can open and use the original dex files when we\ndo not have copies in the vdex files. This allows compiling\napp prebuilts when the boot dex files are uncompressed and\naligned in the original jars.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing\nTest: run-libcore-tests.sh --mode\u003ddevice --variant\u003dX64\nTest: Manually create boot image jars with uncompressed and\n      aligned dex files, compile a boot image with dex files\n      not copied into vdex files and use this boot image for\n      compiling a prebuilt services.{art,vdex,odex}.\nBug: 119868597\nChange-Id: If9411ddbecf6bb90bfa9233040931c5e833f6aee\n"
    },
    {
      "commit": "1ee723b683307c804c5ddf2ad7d699f5abfc362a",
      "tree": "acfd8b753d194d708b17d6e16396d352c799c21b",
      "parents": [
        "458128737485d72028d0e4af9855b7773c81010b",
        "813b91443d37087f75eef7164043c9fff43b7077"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 30 09:58:02 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 30 09:58:02 2018 +0000"
      },
      "message": "Merge \"Add --runtime-arg to command line tools.\""
    },
    {
      "commit": "813b91443d37087f75eef7164043c9fff43b7077",
      "tree": "1dbd6fafbd1df722cf04b14d209e98d5f10c8c1f",
      "parents": [
        "d011d81e8c4c959f6d607bb80dfedf3b64a7f131"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 29 11:20:07 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 29 16:58:32 2018 +0000"
      },
      "message": "Add --runtime-arg to command line tools.\n\nThis shall be used in the next CL to pass -Xbootclasspath:\nand -Xbootclasspath-location: that match the --image\u003d arg.\n\nTest: m test-art-host-gtest\nTest: Manually run oatdump with --runtime-arg -Xms256m\nBug: 119868597\nChange-Id: Ia355a646bf34a3314c56b9a2fb20f1ef96570fbd\n"
    },
    {
      "commit": "85f1c576d228c2c43e9a0dc37f0cbb91fad59c45",
      "tree": "67d17ea5a7eb6021dabb335730402bd28d72694a",
      "parents": [
        "79c693b3133da397cec7eaff19de631b65a0cf70"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 21 13:52:48 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 21 15:22:07 2018 -0800"
      },
      "message": "ART: Some iwyu for logging.h\n\nRemove over-broad use in headers. Fix up transitive includes.\n\nBug: 119869270\nTest: mmma art\nChange-Id: I518fa7c8bee014b260818fca1fbde6ec47d126da\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": "fa6a1b0a1d9d186a0ad9bb413a4e49f1ffd187d8",
      "tree": "6d3bef945030868d7e78162dc3f4f35a07ce410a",
      "parents": [
        "a0878aa9f4f4102e56a6381b28a8d7c38dec80b9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 07 08:11:55 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 07 09:13:50 2018 -0700"
      },
      "message": "ART: Continue adding override annotations\n\nUse Clang-tidy\u0027s modernize-use-override to add more annotations. Ignore\ninferred annotations on destructors.\n\nBug: 32619234\nTest: mmma art\nChange-Id: Ic432c928e398d44df9171e42db04ee19946e6887\n"
    },
    {
      "commit": "3d8a78a79aaa47be68162cb3e3fb2544f9b624a3",
      "tree": "0f9790f629c798f5c371e75ae20af60fa39a3203",
      "parents": [
        "c497fca9aa25a331af6428aa0fb6b083c6292089"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 29 21:10:16 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Aug 30 13:37:02 2018 +0100"
      },
      "message": "Revert \"Revert \"Remove OatFileAssistant::MakeUpToDate and friends.\"\"\n\nThis reverts commit baf3761013a30b8c5dc1d6179cddaeee0a764311.\n\nAlso remove the now deprecated --{no-}dex2oat option.\n\nChange-Id: I502c7011877f43f315abffa9b7d482ef13857125\nbug: 111174995\nbug: 111342996\n"
    },
    {
      "commit": "4b22b34c698db8aa59343d0a5af89fc737532bce",
      "tree": "985c0e28dcdf5a497737690b50d31c4eb7bbda85",
      "parents": [
        "9e53f5f19167848d043f91e6d20436e9b568b55a"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Aug 02 14:43:21 2018 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Aug 02 14:43:21 2018 -0700"
      },
      "message": "Modernize codebase by replacing NULL with nullptr\n\nFixes -Wzero-as-null-pointer-constant warning.\n\nTest: m\nBug: 68236239\nChange-Id: Id869744db54b5b366454a5e13b467ac1f4df2845\n"
    },
    {
      "commit": "1a727b090e7d2a19b62410e1908e46e115b9dbc8",
      "tree": "afbabd0cf8d51389116a46a3eac3b67a580ebda8",
      "parents": [
        "3e2fad1fba7b89faa675c21676a84c487e03c23e"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jul 19 12:49:48 2018 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jul 19 12:50:14 2018 -0700"
      },
      "message": "Use std::move() to prevent copying.\n\nBug: http://b/110779387\nTest: Build with new toolchain.\nChange-Id: I0fa29e9dc2d7f2a30e8e7137d6ff8ba6f03e80b1\n"
    },
    {
      "commit": "a316f9129a698ccb995b035f8781f93c58981893",
      "tree": "a55c64c376f7cd54018a6de209102464f9b9d38b",
      "parents": [
        "74f2ccc9fad3cfd8e04d24aceba1c58ce08884dc",
        "baac7e44445286bb2a048ff24a14a65c537dd9b9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 11 19:13:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 11 19:13:39 2018 +0000"
      },
      "message": "Merge \"\"Revert^4 \"Make adbconnection start automatically for debuggable apps (on target)\"\""
    },
    {
      "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": "baac7e44445286bb2a048ff24a14a65c537dd9b9",
      "tree": "838047521312068499b0183ceb93f958a40f93f0",
      "parents": [
        "cf8e60fceee8b622b63f022e7b37f7df0f604320"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jun 08 15:30:11 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jun 08 08:45:39 2018 -0700"
      },
      "message": "\"Revert^4 \"Make adbconnection start automatically for debuggable apps (on target)\"\n\nNeeded to tell run-jdwp-tests.sh not to load adbconnection since it\nmight not be present.\n\nThis reverts commit fb57a6528d73e6ddbccf3049f08f6fa400e6dcd1.\n\nReason for revert: Added -XjdwpProvider:none to run-jdwp-tests.sh\n\nBug: 109505014\nTest: ./art/tools/run-libjdwp-tests.sh\n\nChange-Id: I43941f7048ae5b64c6cbe7a8e7c273d47596192c\n"
    },
    {
      "commit": "fb57a6528d73e6ddbccf3049f08f6fa400e6dcd1",
      "tree": "e334f68df51c6078fd51f293a38146c6fcb6c106",
      "parents": [
        "7b39a39258311ad6c3da5934746a186c185c3f4f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 08 09:40:19 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 08 09:40:19 2018 +0000"
      },
      "message": "Revert \"Revert^2 \"Make adbconnection start automatically for debuggable apps (on target)\"\"\n\nThis reverts commit 7b39a39258311ad6c3da5934746a186c185c3f4f.\n\nFails jdwp tests on target.\n\nBug: 109505014\nChange-Id: Ib8a278bc8c8137e1f1397e3e881d652504fea96f\n"
    },
    {
      "commit": "7b39a39258311ad6c3da5934746a186c185c3f4f",
      "tree": "754ff7de04f56baa11e0185d549ddfc5af42f1fb",
      "parents": [
        "dc53f1616d656a757fb26039f387b7ee44ff2f1d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 06 14:18:24 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jun 07 11:24:36 2018 -0700"
      },
      "message": "Revert^2 \"Make adbconnection start automatically for debuggable apps (on target)\"\n\nThis reverts commit b2926c0cdbd30af7529b90fe20b24010f844ccc1.\n\nWe were trying to start with adbconnection but that was not always\navailable on devices. This could cause tests to fail.\n\nBug: 109505014\nReason for revert: Fixed issue causing target tests to sometimes fail.\nTest: ./test.py --target\n\nChange-Id: I0bb9cd2dce87145a8a9c372e2f015e36a3276369\n"
    },
    {
      "commit": "b2926c0cdbd30af7529b90fe20b24010f844ccc1",
      "tree": "3a6d17746e17213a04368d6140d246063f2316b2",
      "parents": [
        "5af3f503f3ad5a24dc1acac3070f7dcda4b6593d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 06 05:49:44 2018 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 06 05:49:44 2018 +0000"
      },
      "message": "Revert \"Make adbconnection start automatically for debuggable apps (on target)\"\n\nThis reverts commit 5af3f503f3ad5a24dc1acac3070f7dcda4b6593d.\n\nReason for revert: Breaks target tests\n\nBug: 109505014\nChange-Id: I43877a11c615637a152954e0c0d0b2b0f18bcc9e\nTest: none\n"
    },
    {
      "commit": "5af3f503f3ad5a24dc1acac3070f7dcda4b6593d",
      "tree": "76c3ca01e088b0fd8d1a863dc58ce4a7e22d3a76",
      "parents": [
        "5ebdc88a8469cb2bb9188c18b379ca486d338728"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 04 16:17:56 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 05 09:35:54 2018 -0700"
      },
      "message": "Make adbconnection start automatically for debuggable apps (on target)\n\nWith wrap.sh it is required that apps that wish to be debuggable\ndeclare that explicitly by adding the \u0027-Xcompiler-option --debuggable\u0027\noptions. When we switched to the new debugger implementation we\naccidentally added a requirement that you pass\n-XjdwpProvider:adbconnection. This removes that requirement and\nreturns to the earlier state.\n\nBug: 109505014\nTest: Build program with wrap.sh that adds -Xcompiler-option --debuggable\n      Attach debugger to program.\nChange-Id: I9416ed3b156776439f5bfec032fee3f11fe4eb3c\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": "b3d1eeed7426570f61a0b0d4be1a2987200311f6",
      "tree": "ab6d525a4fe1e54645fb6828916f1ad602ca5ea6",
      "parents": [
        "9926e4615d75cb6c9371e1766a14b0a80089ae18"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu May 03 22:28:03 2018 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue May 08 00:18:34 2018 +0000"
      },
      "message": "Add new profile saver options: save without jit \u0026 profile AOT code\n\n--Xps-save-without-jit-notifications\nThe hotness for system server code is increased in AOT-ed code. The flow\ndoes not call into JIT and as such notifications are not triggered.\nInstead of relying on the JIT system, make use of a simple back off\nstrategy to save the profile.\n\n--Xps-profile-aot-code\nStarts the profile saver even if the oat file is speed compiled.\n\nTest: m test-art-host\n      boot a device with system server profiling enabled.\nBug: 73313191\n\nChange-Id: I66ec422a76bc9244349da7a5d18a3df5bcc9ccb7\n"
    },
    {
      "commit": "f8e5d8ce6cdd9048dc8e67f7343d3842189f7601",
      "tree": "4b79373ad7c6b5934f1bf6d0fd5353c7067f8c60",
      "parents": [
        "faa7b29f1e0c311e42ab5a265cb1b17036ca5a10"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 06 13:35:37 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 06 13:55:41 2018 -0700"
      },
      "message": "Delete MarkCompact GC\n\nTest: test-art-host\nBug: 77721758\nChange-Id: I99889353eb97f46c59de7ed44f2944f83867031d\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": "264a486a05e832889b17dd2bbad2d9c6588c3603",
      "tree": "f6aa966402cf3678ceaac8a7d4c13ee35097ecc4",
      "parents": [
        "f346af51a5d44ee0a3cd26e7e0e1b28ec1c5579f"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 31 16:47:58 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 31 09:48:16 2018 -0800"
      },
      "message": "Revert \"Revert \"Make the runtime default to not allowing JDWP again.\"\"\n\nThis reverts commit f05c32008de16f669ea8323c4e17beef1df92d20.\n\nWe need to change the arguments passed from run-jdwp-tests.sh in some\nsituations.\n\nReason for revert: Fixed issue causing go/art-build to fail.\n\nTest: ./art/tools/run-jdwp-tests.sh --mode\u003dhost\nBug: 72400560\n\nChange-Id: I2be260479816e3a48df5cb65bba25858750df4db\n"
    },
    {
      "commit": "f05c32008de16f669ea8323c4e17beef1df92d20",
      "tree": "449f6564eab8be9c38ea63c5e80bac5446203cfa",
      "parents": [
        "b06bd683aab50a80ef98f0ffbec9880dad068d15"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 31 07:34:46 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 31 07:34:46 2018 +0000"
      },
      "message": "Revert \"Make the runtime default to not allowing JDWP again.\"\n\nThis reverts commit b06bd683aab50a80ef98f0ffbec9880dad068d15.\n\nReason for revert: Broke go/art-build. Reverting as ART Sheriff.\n\nChange-Id: I1ab4f5eb22b51b3b348f592c22db340b88af4f7f\n"
    },
    {
      "commit": "b06bd683aab50a80ef98f0ffbec9880dad068d15",
      "tree": "d9787a74a4b57fcdffd74fe98cf0f6ae74e21f85",
      "parents": [
        "0406e1e59970399393f53923704e1b9a828b2173"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jan 29 13:26:45 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jan 30 09:11:16 2018 -0800"
      },
      "message": "Make the runtime default to not allowing JDWP again.\n\nThis was unintentionally changed a while ago and is causing a CTS test\nto fail. Changed to make the runtime default to disabling jdwp if a\nprovider isn\u0027t given. Note this does not stop one from starting a\ndebugger with -agentpath. If jdwp options are given with jdwp disabled\nthe runtime will print a warning.\n\nTest: atest CtsJdwpSecurityHostTestCases\nTest: ./test/run-test --host --debug 001-HelloWorld\nBug: 72400560\n\nChange-Id: I6561f269d9279eba0c1ac0b0f593ece867dab49e\n"
    },
    {
      "commit": "2183d4d5a65e77234a9d54d32bc0b6918a50c493",
      "tree": "a4b6642d04824391c3965f7f5f46e9afc4595283",
      "parents": [
        "bf9eedaac5a9723f022150d0f5fd58cb91779497"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jan 26 14:24:54 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jan 26 22:29:00 2018 +0000"
      },
      "message": "Refactor jdwp_provider to make it easier to change the default\n\nChange JdwpProvider to have a kDefaultJdwpProvider member that can be\nupdated to be whatever the current default jdwp provider is.\n\nTest: build\nTest: cmdline_parser_test\nChange-Id: I89559cc63d371be60b594d850f1a16a557b42edc\n"
    },
    {
      "commit": "4650d4a37d6fa65dff936df2c8696aa98b072883",
      "tree": "7a6e26793b70b9bb8ff7bb1a7f925ac7cc004198",
      "parents": [
        "a76605a4bbe93b79aa28a85cdc4a2aeac869c1ca"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 24 00:33:49 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 24 00:33:49 2018 +0000"
      },
      "message": "Revert \"Change default dalvik.vm.jdwp-provider to adbconnection\"\n\nIf DDMS is being used on a userdebug or eng build it will cause the\nlibjdwp agent to be loaded on various system processes, most notably\nsystem_server. This will cause a massive performance hit as it tries\nto force system_server to jit but, due to security policies, it is\nforced to interpreter instead.\n\nUntil this can be fixed we are changing the default back to the\ninternal jdwp provider.\n\nThis reverts commit a76605a4bbe93b79aa28a85cdc4a2aeac869c1ca.\n\nBug: 72381923\nBug: 72400642\nBug: 72336488\n\nTest: Boot userdebug with ddms monitor running.\n\nReason for revert: DDMS forcing system_server to interpreter causing\n                   massive perf problems on userdebug builds.\n\nChange-Id: I11e8397ecd6239f0e2b2ff0f8c05dad996707a65\n"
    },
    {
      "commit": "a76605a4bbe93b79aa28a85cdc4a2aeac869c1ca",
      "tree": "ff4e1935a48f02fff769bae3c75f8488836e978e",
      "parents": [
        "ad643b01de3f1152badfb12edb8469d40843d1e7"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jan 16 12:51:23 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 18 15:34:38 2018 -0800"
      },
      "message": "Change default dalvik.vm.jdwp-provider to adbconnection\n\nThis changes the default jdwp implementation to be libjdwp with the\nconnection mediated by libadbconnection.\n\nTest: ./test.py --host -j50\nTest: ./art/tools/run-libjdwp-tests.sh --mode\u003ddevice\nTest: Build and run\nTest: use ddms monitor.\nTest: Use Android Studio.\nTest: Build and debug debuggable app (bandhook-kotlin)\nTest: Build and debug non-debuggable app on userdebug build\n      (bandhook-kotlin)\nTest: Debug running system process on userdebug build\n      (com.android.packageinstaller)\nTest: adb shell stop \u0026\u0026\n      adb shell setprop dalvik.vm.jdwp-provider adbconnection \u0026\u0026\n      adb shell start;\n      Test debugger with explicit adbconnection jdwp provider set\nTest: adb shell stop \u0026\u0026\n      adb shell setprop dalvik.vm.jdwp-provider default \u0026\u0026\n      adb shell start;\n      Test debugger with explicit default jdwp provider set\n      Ensure debugger is using the \u0027adbconnection\u0027 provider\nTest: adb shell stop \u0026\u0026\n      adb shell setprop dalvik.vm.jdwp-provider internal \u0026\u0026\n      adb shell start;\n      Test debugger with explicit internal jdwp provider set\n      Ensure debugger is using the old internal jdwp implementation.\n\nBug: 62821960\nChange-Id: I6470a90e0ca264fb75028f6e7e23878c059b090e\n"
    },
    {
      "commit": "aadcbc64c674995ccdaf686789c8d39ada9913ad",
      "tree": "2b0c9c473437e49ac3c85f8a04ce979ffced880b",
      "parents": [
        "ce4982554648998abd0980bd06e738f4bcaa35d9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 28 14:05:42 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 02 09:08:00 2018 -0800"
      },
      "message": "ART: Refactor Agent into Agent and AgentSpec\n\nSeparate configuration/loading and runtime state.\n\nTest: m test-art-host\nChange-Id: I69bb91e13ef10b9e1ce313f45b0b809b913d8e10\n"
    },
    {
      "commit": "fbf9670f31d09c47078d43fd85ee2bda23273d26",
      "tree": "c2ee763c73f3cf89cfe3aed6230c1830b27583b3",
      "parents": [
        "3979571aa1dfc907569fb7e27ab225ca89f6f86e"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 14 13:27:13 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 19 14:52:08 2017 -0800"
      },
      "message": "Add adbconnection plugin\n\nThis plugin will take care of creating and managing a debugger connection\nthrough the adb daemon. This involves sending DDMS messages from the\nruntime, loading the JDWP agent when required, and setting up the\nconnection. We need this since DDMS packets can be sent even if there has\nnot been a full handshake done with the JDWP agent.\n\nAdd an \u0027adbconnection\u0027 value to \u0027-XjdwpProvider:...\u0027 to allow one to\nrequest that the adbconnection plugin be used to provide JDWP\nfunctionality.\n\nBug: 62821960\nTest: Manual, Flash walleye, debug apps\n\nChange-Id: Id9bed589b7c5e3830e6cdfbfee460b091459a27b\n"
    },
    {
      "commit": "403207107da7f11525c4d305184c56b35ec1c17a",
      "tree": "f97f080fcfa8051df18536e97a33582ee4bbbc6a",
      "parents": [
        "ba3a790338725a37ecd4cb314c4a6147e29aef38"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 14 11:52:04 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 19 09:26:11 2017 -0800"
      },
      "message": "Add support for selecting alternate JDWP implementations\n\nChange JDWP options parsing to take place later and add a\n-XjdwpProvider:_ option that can be used by the runtime to select an\nappropriate JDWP provider. The argument is a string.\n\nIf \u0027none\u0027 is given JDWP will be totally disabled.\n\nIf \u0027internal\u0027 is given the current internal JDWP implementation is\nused.\n\nIf \u0027default\u0027 is given the \u0027internal\u0027 JDWP implementation will\ncurrently be used.\n\nOther values will be added in the future.\n\nAlso adds a runtime callback that will be invoked when the runtime\nwants to start or stop the debugger (namely at the post-zygote fork\nand just before exit) and check if a debugger is availible.\n\nAlso add \u0027-XjdwpOptions:_\u0027 in preparation for the eventual removal of\nthe existing -Xrunjdwp\u003d_ and -Xagentlib:jdwp\u003d_ as top-level options.\nAll of these options now store their arguments as a std::string to be\ninterpreted by the JDWP implementation as it sees fit. Also change the\njdwpOptions to default to transport\u003ddt_android_adb if there is not one\nspecified and it is available. This will make changing the default\ntransport based on the JDWP provider easier.\n\nThese new options are needed to allow us to support both the old,\ninternal, JDWP implementation as its replacement is tested and\nverified. This lets us switch between them with little difficulty.\n\nWe will probably remove one or both of these options once we have\nconfidence that the new jdwp implementation has stuck.\n\nTest: ./test.py --host -j50\nTest: ./test/run-test --host --debug 001-HelloWorld\nTest: Manual, flash walleye, debug app\n\nBug: 62821960\n\nChange-Id: Ie31db6b6f7d76a03d4ab8e178fcf298ed0eec203\n"
    },
    {
      "commit": "92d77208d7434f2c8c49aa368769165c4d33896f",
      "tree": "1146aa6d673b38c81b551687bede8c0aeffed8d5",
      "parents": [
        "4388fb213ec746ee18a6bea38ee894f8c19990b9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 06 20:49:00 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 06 21:48:47 2017 -0800"
      },
      "message": "ART: Make kDebugVerifier a verbose flag\n\nTo aid in debugging efforts, finally introduce a verifier-debug\nverbose-logging flag that takes over the compile-time kDebugVerifier\nflag.\n\nCollecting verification times from a well-known large app during\ndex2oat via dump-timings shows a difference in the noise.\n\nLogging of the steps is restricted to failure cases, to avoid\nspam.\n\nTest: m\nTest: m test-art-host\nTest: manual: dex2oat --runtime-arg -verbose:verifier-debug APK with failures\nChange-Id: Icb998cc42a531b80f20f986625869505271b7c98\n"
    },
    {
      "commit": "5573c37e795668eca81a8488078f798d977685c3",
      "tree": "5e7675d6c1ca9ed1c31834e52282bfb9f73dc2a4",
      "parents": [
        "1598a77ca3559c8a59902f26ee887504b8159859"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Nov 16 13:34:30 2017 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Nov 16 14:42:49 2017 -0800"
      },
      "message": "cpplint: Remove many unnecessary NOLINT\n\nNow that we updated to upstream cpplint, a lot of these NOLINTs are no\nlonger necessary.\n\nBug: 68951293\nChange-Id: If8ed5ffe89727f313f907a214b6d8fd2a2eddbad\n"
    },
    {
      "commit": "2ffb703bf431d74326c88266b4ddaf225eb3c6ad",
      "tree": "0552c3c76a42b18f9e7460d501fb71a6dc2e7f33",
      "parents": [
        "c4b6f3116f15c8e4fdf2e4f604ababdee12d8923"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Nov 08 13:35:21 2017 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Nov 08 15:15:52 2017 -0800"
      },
      "message": "cpplint: Cleanup errors\n\nCleanup errors from upstream cpplint in preparation\nfor moving art\u0027s cpplint fork to upstream tip-of-tree cpplint.\n\nTest: cd art \u0026\u0026 mm\nBug: 68951293\nChange-Id: I15faed4594cbcb8399850f8bdee39d42c0c5b956\n"
    },
    {
      "commit": "33bff25bcd7a02d35c54f63740eadb1a4833fc92",
      "tree": "553db4f60878acf2a0fa7036a739d406df9a29b7",
      "parents": [
        "321b3ca9a36d769283c64d4bdee0798db80af524"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 01 14:35:42 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 02 10:11:02 2017 +0000"
      },
      "message": "ART: Make InstructionSet an enum class and add kLast.\n\nAdding InstructionSet::kLast shall make it easier to encode\nthe InstructionSet in fewer bits using BitField\u003c\u003e. However,\nintroducing `kLast` into the `art` namespace is not a good\nidea, so we change the InstructionSet to an enum class.\nThis also uncovered a case of InstructionSet::kNone being\nerroneously used instead of vixl32::Condition::None(), so\nit\u0027s good to remove `kNone` from the `art` namespace.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: I6fa6168dfba4ed6da86d021a69c80224f09997a6\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": "097f34cc09caf46945ec17e198f57ac9c156e904",
      "tree": "2f478bcc58ac21017431505ca87e83f4606355b4",
      "parents": [
        "42e482f0615bd935d1426a749a413be2c3f79114"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 23 08:57:51 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 06 13:22:08 2017 -0700"
      },
      "message": "ART: Use CmdlineParser in dex2oat\n\nRefactor dex2oat and the compiler to use the cmdline parser. In\nan effort to standardize command-line parsing and make it easier\nto add new properties in a principled manner.\n\nTest: m test-art-host\nChange-Id: Ia077a56234dbf579d7ca3430fef325b57aa06333\n"
    },
    {
      "commit": "8fae4b510963757851649928899b097e690131e3",
      "tree": "78bdb84d61fb14a413eab132bb578d77e18a6afd",
      "parents": [
        "8a6b8fceddd09c8276c084c986df8cbd27b54a82"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 27 20:04:47 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 03 10:48:29 2017 -0700"
      },
      "message": "ART: Change CmdlineMain/Args behavior\n\nDo not initialize the instruction set to the runtime ISA immediately.\nInstead, print a warning late if we fall back to the runtime ISA. This\nchange improves the understanding of what our tools are doing.\n\nBug: 66984877\nTest: m test-art-host\nChange-Id: Ib87485ffb81f721cc27797ceaf88cb5d763422bf\n"
    },
    {
      "commit": "217488a9ddf351033c1688198c492b9c40c36d8a",
      "tree": "98dc5553e2538b9b508c1837bc27b383d73b7149",
      "parents": [
        "e16ed6da590e717e28c07e2c9d1b342efc678870"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 18 08:34:42 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 18 12:50:43 2017 -0700"
      },
      "message": "ART: Move read barrier config out of globals\n\nReduce the global dependencies by refactoring where the read\nbarrier constants are defined.\n\nRename read_barier_c.h to read_barier_config.h and ifdef the\nC++ parts to have a common header for both C/asm and C++.\n\nPut heap poisoning configuration into its own minimal header.\n\nFix up transitive includes.\n\nTest: m\nChange-Id: I159669ec61e3d1c4c7ddcd79e63b023a0519717a\n"
    },
    {
      "commit": "2c30e4a2a2bd73c3e9d327d4b5d059b75cc0f798",
      "tree": "698286ee61f457069b5a53ca6869319b8d9e5acb",
      "parents": [
        "3157fc26d96951ff4acfb4feb4597e74a92da2a7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 23 11:31:32 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 23 16:06:00 2017 -0700"
      },
      "message": "ART: Remove art and art/runtime include_dir directives\n\nRemove some overly broad or unnecessary include directives. Fix up\ncode.\n\nTest: mmma art\nChange-Id: Ic2da319f39102d59566e780f3e15fe007a3c36d6\n"
    },
    {
      "commit": "3157fc26d96951ff4acfb4feb4597e74a92da2a7",
      "tree": "93c3a03a8eae4fc9f430531f25d8be3d4d8b5af7",
      "parents": [
        "27bd4dd81962b0e59df9318ae8efc83df99ebe0a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 23 09:43:46 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 23 16:06:00 2017 -0700"
      },
      "message": "ART: Move cmdline parser to header library\n\nExpress the cmdline parser as a header library.\n\nTODO: Express the libart dependency correctly.\n\nTest: m\nChange-Id: I9e90029d047ab0d75a455a2361d5213a8fa6f361\n"
    },
    {
      "commit": "8cf9cb386cd9286d67e879f1ee501ec00d72a4e1",
      "tree": "88e86e214b425e444760fe4e0ffeee677e1558a2",
      "parents": [
        "914b7b6a6c9f399b26b41e9160e9871ef749e0db"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 19 09:28:38 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 24 16:07:10 2017 -0700"
      },
      "message": "ART: Include cleanup\n\nLet clang-format reorder the header includes.\n\nDerived with:\n\n* .clang-format:\n BasedOnStyle: Google\n IncludeIsMainRegex: \u0027(_test|-inl)?$\u0027\n\n* Steps:\n find . -name \u0027*.cc\u0027 -o -name \u0027*.h\u0027 | xargs sed -i.bak -e \u0027s/^#include/ #include/\u0027 ; git commit -a -m \u0027ART: Include cleanup\u0027\n git-clang-format -style\u003dfile HEAD^\n manual inspection\n git commit -a --amend\n\nTest: mmma art\nChange-Id: Ia963a8ce3ce5f96b5e78acd587e26908c7a70d02\n"
    },
    {
      "commit": "51d80ccca5eb2ea0eef0de836dcc03e0545f63db",
      "tree": "14ff2bf5b9a9ca86d8a8d6f736cf27d8a1d47554",
      "parents": [
        "19df565ffcb30cb7b5217f074771078f0bb6cc1c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 21 21:05:13 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 22 16:04:07 2017 -0700"
      },
      "message": "ART: Refactor abort code\n\nRemove Runtime::Aborter and let Runtime::Abort set the abort message\non target.\n\nThis works around a missing tail-call optimization that leads to a\nsuperfluous frame on the call-stack when aborting.\n\nPartially reverts commit 3fec9ac0d5af1358d216eb2fdc2000ec0205f3f0.\n\nBug: 62810360\nTest: m test-art-host\nTest: Manual inspection of abort dump\nChange-Id: Ie4efc8bbdc8b665b23081b37a11921fe26b182b4\n"
    },
    {
      "commit": "885a7133472fd01321cbe545ace9c2acae543bf1",
      "tree": "f3bc66aaff2f38edc3673c3cfb4aba80f5e08242",
      "parents": [
        "16d59b2b0ff202be99cbe24830e8a5080b774357"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Jun 10 14:35:11 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 12 22:45:58 2017 -0700"
      },
      "message": "Add support for profiling boot class path\n\nAdded a runtime option -Xps-profile-boot-class-path that makes the\nprofile saver take samples for the boot dex files. The motivation is\nto use this for improving boot image creation.\n\nAdded test case to test 595.\n\nTest: adb shell setprop dalvik.vm.extra-opts \"\u0027-Xusejit:false -Xint -Xps-profile-boot-class-path -verbose:profiler\u0027\"\nTest: Pull profile and look at output\nTest: test-art-host\nTest: test/run-test --host 595-profile-saving\n\nBug: 37966211\n\n(cherry picked from commit 08fee9c7db427e90dbe75692e6bc0242643cb3c5)\n\nChange-Id: Id95de103ed14841d9c209946ea7f1c4f6b5d23a5\n"
    },
    {
      "commit": "7b135c80fedea16844892527555b144c64651a65",
      "tree": "cb0da182ae9752f64811cb2f994236058f41dc7e",
      "parents": [
        "6ecff4d2127e70738aa2493d6deceb946c204eff"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 05 12:54:01 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 06 16:49:08 2017 -0700"
      },
      "message": "Only compile hot methods\n\nInstead of compiling all startup + hot methods, we now only compile\nhot methods. However, the current logic still marks all startup\nmethods that have a counter greater than hot_method_sample_threshold_\nas hot methods. Since hot-startup-method-samples is currently 1,\nthere is no current behavioral change.\n\nThe goal is to increase hot_method_sample_threshold_ in a follow up\nCL.\n\nRenamed startup-method-samples to hot-startup-method-samples to\nbetter reflect the new behavior of the option.\n\nTest: test-art-host\nBug: 36457259\n\nChange-Id: I820bdcd4426769d76131b08a8b41f3b7eebfbc23\n"
    },
    {
      "commit": "d482e73fe26cb9161511a80e3db39e08b9808ab6",
      "tree": "0b8c874f24c211e4e3d87083f8017580aa23ff63",
      "parents": [
        "a14100ccf51cc63a5c472188d1e2d337627e49eb"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 24 17:59:09 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 30 16:26:35 2017 -0700"
      },
      "message": "ART: More header cleanup - runtime.h\n\nRemove unnecessary runtime.h includes. Refactor other headers\n(move to forward declarations) to make this possible.\n\nTest: mmma art\nChange-Id: I297f0ad444ba92169edd16d8c7cbe95bb6dbb800\n"
    },
    {
      "commit": "88307edcd5c35bd5f602b4c6b2464c2d4332753e",
      "tree": "cb41c36536ae87483daa24b6fcf4381b9a5df15d",
      "parents": [
        "18457f487316b2ed2dd584f3e1f07e939e18aef5"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Apr 25 22:33:06 2017 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Fri Apr 28 11:04:12 2017 -0700"
      },
      "message": "Fix up code warning and errors\n\nDiscovered by new LLVM rebase.\n\nClean up, no functionality change.\n\nTest: build\nBug: 37752547\nChange-Id: I7df6097706e0772226dcb07611e7d044a6085421\n"
    },
    {
      "commit": "bec07a05dd1aa564895f0d9c58c8277c576dc9bb",
      "tree": "590e3147526123734a3d5a7ec401822bf35b73d1",
      "parents": [
        "e2dfd30e752ed94944cb6f614f1a4cf18d038677"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 11 13:48:37 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 11 13:48:37 2017 -0700"
      },
      "message": "ART: Add -verbose:dex\n\nAdd a dex verbose flag to separate out concerns for dex investigations.\n\nBug: 37158297\nTest: m test-art-host\nChange-Id: Ice5efad919ae0b6838d44e2f3711563a0774ef0e\n"
    },
    {
      "commit": "4b812faa25454bda4d6e79a305938449a54a3e41",
      "tree": "20ff43702e7da31a4990125ff9b5659505b363e0",
      "parents": [
        "8b71f086ade1f48f3780cc81706669abbfe9c184"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Mar 29 10:40:15 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Mar 29 10:40:15 2017 -0700"
      },
      "message": "Change Ti::Agent collection from vector to List\n\nWe want these to be in a list to avoid the need for moving them\naround, which would introduce the need to perform annoying accounting.\n\nTest: ./test.py --host -j40\nBug: 36716572\nBug: 31455788\nChange-Id: Ie16523f4e7d79934fa7844fb9b9a26e125cfa9eb\n"
    },
    {
      "commit": "9545f6db8b2487ecb940f91c29ce814ec6b1ea25",
      "tree": "96975e0fb443225542455d33cee5d481896debdc",
      "parents": [
        "a345d3144c56e510866848fd677b05adc7780189"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Mar 16 19:05:09 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Mar 17 11:38:52 2017 -0700"
      },
      "message": "Accept output profile path from dalvikvm command\n\nTest: run dalvikvm with -Xps-profile-path\nBug: 36032648\n\nChange-Id: I34640afe1cf0e7b192ad082ccde2784faab1ba4c\n"
    },
    {
      "commit": "67e1dc5ae1357de26039151a61ad2599ef21de2f",
      "tree": "b97a67fee4d3461ec28722fee477ab91cf390361",
      "parents": [
        "e92ba687f9ab2a3cd9724f494b6899e8e6e472ec"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Feb 06 16:50:17 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Feb 15 10:47:27 2017 +0000"
      },
      "message": "Remove use of npic image for gtests.\n\nTest: art gtests on host and target\nBug: 33192586\nChange-Id: Ic56e304eb539b4cf353281280a48ce23c74bf218\n"
    },
    {
      "commit": "01fd70b531a8bd8ebb2238f20c3e651f6b065285",
      "tree": "7f4f6a9514638aafbd8fa94791676567f1bb0c3c",
      "parents": [
        "5ea54a33a81ce48156fbb2685e9a61d0748644dc"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 25 10:03:08 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 25 11:38:25 2017 -0800"
      },
      "message": "ART: Remove experimental flags for plugins and agents\n\nRemove experimental flags guarding plugins and agents.\n\nPartial revert of commit 7233c7e752c0d26387d143ee74420e9cd1f09390.\nPartial revert of commit 185d134a3b43ab7529053e965917e0fa74bceba4.\n\nBug: 31455788\nTest: m test-art-host\nChange-Id: I11a19f24b88ced8da7a28e2cb7a2f602aab884a8\n"
    },
    {
      "commit": "9320675cb21a53b3dd59d80d440a96e04c84f28d",
      "tree": "4ed1f60e2d0a39a554e1f7b38d0adbf7beb8282b",
      "parents": [
        "8bd59a0fd46db83616785168231e09fb95ed2ead"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jan 17 13:20:55 2017 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jan 17 17:05:12 2017 +0000"
      },
      "message": "MethodHandles: Remove experimental flag.\n\nRuntime::IsMethodHandlesEnabled now always returns true.\nThis change also removes the (now unnecessary) run scripts\nfor method handle tests.\n\nNote that the --experimental\u003dmethod-handles flag is left in\nplace for the test build steps (etc/default-build) because it\u0027s still a\nconvenient way to supply arguments to jack / smali.\n\nTest: make test-art-host\n\nChange-Id: I8475c7b8ac2615ac382a06ce54be39dce3cc7713\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": "9186ced255f2e7402646b5b286deebb540640734",
      "tree": "833c25fd3bbb47749265947705b4fc0f0c1ba796",
      "parents": [
        "aa2657d6d9dda2e44c6452e5f5901db78ef9b3cc"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Dec 12 14:28:21 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Dec 13 11:43:48 2016 -0800"
      },
      "message": "ART: Clean up utils.h\n\nRemove functionality provided by libbase. Move some single-use\nfunctions to their respective users.\n\nTest: m test-art-host\nChange-Id: I75594035fa975200d638cc29bb9f31bc6e6cb29f\n"
    },
    {
      "commit": "1b0adbf7b14973c3f110976de046d75a7d4ed934",
      "tree": "35e0e3effe140748982b0ccf295b123c4952dbe8",
      "parents": [
        "26c8f54be31ccf99540906746b17fc8bba1bab9a"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Nov 14 17:35:12 2016 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Nov 16 12:04:19 2016 -0800"
      },
      "message": "Ensure CC GC is used for the read barrier config.\n\nTo prevent the -Xgc option from causing unsupported GC types to run.\n\nBug: 12687968\nTest: test-art-host with CC.\nChange-Id: I10b42190c0888342e9127c52e863ddae82e4d7a1\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": "5c657fe8e3afdce77dc610446f37a43865cff702",
      "tree": "1f9fe466058b7512036b27a5b22f7720eb00729d",
      "parents": [
        "2ab98309c0fc7b3c7451205b2371db5c34b05d49"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 03 15:12:29 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 03 15:13:06 2016 +0000"
      },
      "message": "Pass some arguments by const reference.\n\nTest: Rely on TreeHugger.\nBug: 32619234\nChange-Id: Ia26277893641dcb3562eaeacaec4e089a978d56a\n"
    },
    {
      "commit": "eb84221ffc00357be6d69e2e461c7a45ee96334a",
      "tree": "00e6a0884a62dfb448e4d617699fe511307db74f",
      "parents": [
        "19c5e5f3e92db92e4a51b354743cbb0edd8e0f48"
      ],
      "author": {
        "name": "Leonard Mosescu",
        "email": "mosescu@google.com",
        "time": "Thu Oct 06 17:26:36 2016 -0700"
      },
      "committer": {
        "name": "Leonard Mosescu",
        "email": "mosescu@google.com",
        "time": "Tue Oct 25 19:46:58 2016 +0000"
      },
      "message": "Enable agent attaching during live phase\n\nThis is the ART part, the plumbing from VMDebug_attachAgent() to\nactually loading the agent into the runtime.\n\nTest: m test-art-host\n\nBug: 31682382\n\nChange-Id: I3ccc67aa050c1f78278882128983686ed44ddec2\n"
    },
    {
      "commit": "f57589fd40e5b69dad5aff060ccef756507f381a",
      "tree": "62d38e73660d9818b18c4741c6b3cce3306d63d5",
      "parents": [
        "c25dfeab1a66c942ae658fc7cd367f7c1ac502a1"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Oct 17 10:09:33 2016 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Oct 17 13:50:35 2016 -0700"
      },
      "message": "Remove logging dependency on runtime\n\nMoved the abort backtracing function to runtime, forcing callers to\nsupply the aborter at InitLogging.  This makes runtime properly layer\non top of logging by removing the cyclic dependency.\n\nBug: 22322814\nTest: test-art-host\nChange-Id: I8b2e72174e937bb88fe1bddd6d04b564cfb011a9\n"
    },
    {
      "commit": "a9b296c932947f8c857101f6653a3b7cb755c285",
      "tree": "a6d729ab851709e064cd0468cf09ec61e9002b0b",
      "parents": [
        "18f7de841fee3ca6f0c04e7caa57c3ce76b36231"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Oct 07 17:07:03 2016 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Oct 07 18:11:55 2016 -0700"
      },
      "message": "Avoid ThreadStress timeout with art-read-barrier-table-lookup.\n\nDisable MarkFromReadBarrierWithMeasurements for\nart-read-barrier-table-lookup to avoid slowdown as it takes more read\nbarrier slow paths than art-read-barrier.\n\nIncrease the timeout.\n\nBug: 31679493\nBug: 12687968\nTest: test-art-host with ART_READ_BARRIER_TYPE\u003dTABLELOOKUP\nChange-Id: I1a87864448e28099e522dc7fedce2208189248f2\n"
    },
    {
      "commit": "25352fc06c84cdab8a2ab6d173b0514066ade2b9",
      "tree": "bb8a6be0c9a144ccf33b07b3158409769a32daa2",
      "parents": [
        "51cbe84ca33800c57fef9c96f1155f60bcc70bba"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Aug 03 12:46:58 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 03 09:48:50 2016 +0100"
      },
      "message": "class_linker: Add support for resolving method types.\n\n- Add a new fixed size dex cache array for resolved method types.\n  The size of this array is set to 1024.\n- Also introduces a new runtime flag that controls this feature.\n\nTest: make test-art-host\nBug: 30550796\n\nChange-Id: I147b33398d71ee21f2e91b418d3700d4630801ff\n"
    },
    {
      "commit": "afd3c9ea7f238afebd5073c1143d3c832ab10a71",
      "tree": "ea95e66ac119b6f86f637ebbeba22e956d3a4c4e",
      "parents": [
        "be3a3ee02f148345ba6e1a0361532a3f7e8c0002"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Sep 16 13:47:21 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 19 10:10:42 2016 -0700"
      },
      "message": "Convert art runtests to Android.bp\n\nBuild the art runtest libraries with Android.bp.  The host test\nlibraries move from out/host/linux-x86/lib[64] to\nout/host/linux-x86/nativetest[64], and the device test libraires from\n/data/artest/${TARGET_ARCH} to /data/nativetest[64]/art/${TARGET_ARCH},\nwhich requires adding nativetest to the library search path, and fixing\nsome tests to support multiple entries in library search paths.\n\nTest: m -j test-art-host\nTest: m -j test-art-target\nChange-Id: I2118a3292f22f275954ddd7cdd4e12287fe47808\n"
    },
    {
      "commit": "6e95dd56e43b3a29fb8360bd94e31cd2eaab1d3d",
      "tree": "c536c5588f8a96f4559ca00921c7852a82558ea5",
      "parents": [
        "6b22aa5106e60545119b9eeaceaa9f87ee597305"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 12 15:37:10 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Sep 15 12:27:06 2016 -0700"
      },
      "message": "Convert art gtests to Android.bp\n\nThis splits the compilation and running of the art gtests into two\nseparate locations.  The tests are now compiled in multiple Android.bp\nmodules in each directory.  art.go collects the installed locations of\neach test and exports it as make variables.  art/build/Android.gtest.mk\nconverts the list into the rules to run the tests.\n\nThis has a few changes in behavior:\n  - The rules to build tests are now always defined, and will build as\n    part of mmma art or make checkbuild.\n  - Host tests are no longer installed into out/host/linux-x86/bin, they\n    are in out/host/linux-x86/nativetest[64]/\u003cmodule name\u003e/\u003ctest name\u003e\n  - Target tests are now in\n    /data/nativetest[64]/art/\u003carch\u003e/\u003cmodule name\u003e/\u003ctest name\u003e\n\nTest: mmma -j art\nTest: m -j test-art-host\nTest: m -j test-art-target\nChange-Id: Iabcd99d43890e6b693688422b07a283c3226a496\n"
    },
    {
      "commit": "60985b7a56d4fa7170721808734093a3affc41c6",
      "tree": "5d6ece230901d43318da00d51848063644dafa62",
      "parents": [
        "ebb5d0f3bcc1e7cb1a2cd4362dccb68cbdf8bbb4"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Aug 24 13:53:12 2016 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Aug 25 17:36:17 2016 -0700"
      },
      "message": "Background full compaction for CC.\n\nInvoke a full compaction with the CC collector when an app goes to the\nbackground like the HSpace compaction for the CMS collector.\n\nBug: 31039431\nBug: 12687968\nTest: test-art, Ritz EAAC, N9 libartd.so device boot with CC\nChange-Id: I119aa26c1d3c167b12983fffcb16164929bf8f68\n"
    },
    {
      "commit": "346285b55869af2054465fccef2065f7462ac9cd",
      "tree": "0bc092fedc880f5022fcdc6ab0c3a53f5a599dd4",
      "parents": [
        "635ba0cbceb367836dae0cc4da4eb672263e7ef5",
        "185d134a3b43ab7529053e965917e0fa74bceba4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 12 17:33:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 12 17:33:34 2016 +0000"
      },
      "message": "Merge changes I852b4daf,Id648eaed\n\n* changes:\n  Add basic runtime-plugins support.\n  Create a basic agent loading framework.\n"
    },
    {
      "commit": "7cbd27fe778f2c348136540d52b5473e28f5769d",
      "tree": "80c0fa4ff2a223c061245c6799d992cd4d863fa0",
      "parents": [
        "3d1d18d74dfac5039b6093ddf04f74eee4f157a3"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Aug 11 23:53:33 2016 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Aug 12 13:19:51 2016 +0100"
      },
      "message": "Adjust spacing before NOLINT comments in ART.\n\nNote that neither clang-tidy nor cpplint.py complain about\nthese style \"issues\", precisely because of the NOLINT\ncomments.\n\nTest: WITH_TIDY\u003d1 WITH_TIDY_CHECKS\u003d\u0027-*,misc-macro-parentheses\u0027 mmma art\nChange-Id: Id692fd394ffbd4fe208cbbe4407b4d5e208462bb\n"
    },
    {
      "commit": "185d134a3b43ab7529053e965917e0fa74bceba4",
      "tree": "5d3d0cee3aa4c64fc5f36fd5f648e53f6df984ae",
      "parents": [
        "7233c7e752c0d26387d143ee74420e9cd1f09390"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Aug 11 10:48:03 2016 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Aug 11 13:55:03 2016 -0700"
      },
      "message": "Add basic runtime-plugins support.\n\nThis allows one to pass shared-libraries on the command line that the\nruntime will load as plugins. They have access to runtime code and can\ninstall hooks to add functionality. Currently the only hook they can\ntouch is JavaVMExt::AddEnvironmentHook to register a callback for\nGetEnv(). More hooks might be added in the future.\n\nTest: ./test/run-test 900\nChange-Id: I852b4daf5a3fa71e9888722bc07794632c0e5010\n"
    },
    {
      "commit": "7233c7e752c0d26387d143ee74420e9cd1f09390",
      "tree": "680b4c1fc3fddbe6004156e5e02770223f3f8587",
      "parents": [
        "f2b1529b0988a1722b718fee6911e0030e95c9b6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 28 10:07:45 2016 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Aug 11 13:48:13 2016 -0700"
      },
      "message": "Create a basic agent loading framework.\n\nCurrently we only allow agents to be loaded at runtime startup, though\nthis is expected to change soon.\n\nTest: ./test/run-test --host 900\nChange-Id: Id648eaed4bbbe6fdef41d64922d023a4db0bfa54\n"
    },
    {
      "commit": "14832efeb92334c562ebedef34e920d30e3cee69",
      "tree": "57d10c24966a46ae1c01861ee579ac6000326c45",
      "parents": [
        "c984725d0035e1925371757c38fed339b409e525"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Aug 05 11:44:32 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Aug 09 13:47:49 2016 +0100"
      },
      "message": "Revert experimental lambda feature.\n\nThis is a revert of the following changes :\n\n30c475a2046951a81769c2db0b2dad66cd71e189.\nlambda: Minor capture-variable/liberate-variable clean-up after post-merge reviews.\n\n6918bf13eb855b3aa8ccdddda2d27ae8c60cec56.\nlambda: Experimental support for capture-variable and liberate-variable\n\nfc1ccd740b7c8e96dfac675cfc580122cd1b40a6.\nlambda: Infrastructure to support capture/liberate-variable dex opcodes\n\ne2facc5b18cd756a8b5500fb3d90da69c9ee0fb7.\nruntime: Add lambda box/unbox object equality\n\n2ee54e249ad21c74f29a161e248bebe7d22fddf1.\nruntime: Partially implement box-lambda and unbox-lambda experimental opcodes\n\n158f35c98e2ec0d40d2c032b8cdce5fb60944a7f.\ninterpreter: Add experimental lambda opcodes for invoke/create-lambda\n\na3bb72036f5454e410467f7151dc89f725ae1151.\nAdded format 25x to dexdump(2).\n\nPlus surrounding cleanups.\n\nTest: make test-art\nChange-Id: Ic6f999ad17385ef933f763641049cf721510b202\n"
    },
    {
      "commit": "56fe25895e91d34a0a017429468829a20bdd5ae4",
      "tree": "b000aa1b4a54360db45436a9df872b034e36d79f",
      "parents": [
        "dc4f4d42aa1712a7ac2e4c24c0aebe58b71ae2c0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 14 13:30:03 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 20 18:05:30 2016 -0700"
      },
      "message": "Add a way to measure read barrier slow paths\n\nIf enabled, this option counts number of slow paths, measures the\ntotal slow path time per GC and records the info into a histogram.\nAlso added support for systrace to see which threads are performing\nslow paths.\n\nAdded runtime option -Xgc:measure to enable. The info is dumped\nfor SIGQUIT.\n\nTest: Volantis boot with CC, test-art-host with CC, run EEAC with CC\nand -Xgc:measure\n\nBug: 30162165\n\nChange-Id: I3c2bdb4156065249c45695f13c77c0579bc8e57a\n"
    },
    {
      "commit": "138dbff9246c89ac9fbe0b086b54fdab3f4451fb",
      "tree": "07afe983b3892505d4a5bdd3b3bdd5fe126e76c7",
      "parents": [
        "be84b59e802d9176a9b60b040e0be6bda54e958a"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jun 28 19:36:58 2016 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jun 29 14:31:30 2016 +0100"
      },
      "message": "Clean up profiler options\n\n- remove obsolete options\n- using ProfileSaverOptions instead of hard-coded values in the profile\nsaver\n\nBug: 24698874\nChange-Id: I4ff535d29a644d1bd5509844f89615b70a723749\nTest: cmdline_parser_test, gtest and run-tests pass.\n"
    },
    {
      "commit": "c7ed09bd5d6f2c7af3bcba1c39b3f9185af68796",
      "tree": "bfad0c9f5236cc4d158bc0c64d5ef645ce09d283",
      "parents": [
        "0f35e0b26d8c7738ca7b284357afa9dafb659d47"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 25 20:08:55 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 29 16:06:14 2016 -0700"
      },
      "message": "ART: Log all monitor operations to systrace\n\nAdd a VLOG option (\"-verbose:systrace-locks\") to log all monitor\noperations to systrace. This requires non-fastpath thread\nentrypoints, and ATRACE tags for locking and unlocking.\n\nDo a bit of cleanup to the entrypoint initialization to share\ncommon setup.\n\nBug: 28423466\n\n(cherry picked from commit fc6898769ae1ef91ec3e41c0a273401213cb82cd)\n\nChange-Id: Ie67e4aa946ec15f8fcf8cb7134c5d3cff0119ab3\n"
    },
    {
      "commit": "ffc87076dda9878cb2cc098149bae441d38b9268",
      "tree": "e587208d6a8e62532792add3e1ace6b4e6d73e0f",
      "parents": [
        "97cbc9206e9adc473a90650ebdb5d620f517ff04"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Apr 20 14:22:09 2016 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Apr 28 16:15:04 2016 +0100"
      },
      "message": "Split profile recording from jit compilation\n\nWe still use ProfileInfo objects to record profile information. That\ngives us the flexibility to add the inline caches in the future and the\nconvenience of the already implemented GC.\n\nIf UseJIT is false and SaveProfilingInfo true, we will only record the\nProfileInfo and never launch compilation tasks.\n\nBug: 27916886\n\n(cherry picked from commit e5de54cfab5f14ba0b8ff25d8d60901c7021943f)\n\nChange-Id: I68afc181d71447895fb12346c1806e99bcab1de2\n"
    },
    {
      "commit": "66a55394b0489b30576f90499f24b792a400a2d2",
      "tree": "0ebcacba63101540516ef5c150d0c03d9db9ffe3",
      "parents": [
        "eeb3b0bf5339e24b6f5e22c5a884910000c9bcfb"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Feb 19 10:25:39 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Feb 19 10:56:10 2016 -0800"
      },
      "message": "Add VLOG(collector) to reduce log spam\n\nVLOG(gc) is enabled from AndroidRuntime, using it too much produces\nlog spam.\n\nBug: 22858531\n\n(cherry picked from commit a6e1c126299586932ecd3c1133a55a6f8e1107fc)\n\nChange-Id: If60902a8d7855cdabd80208b9b385ce4ba4d9e5f\n"
    },
    {
      "commit": "7ccb63fe85e78dea6c849cf4c6eeba9823d9efd0",
      "tree": "bd43bfdc87f08cd25d7861644d22e68a324ceeea",
      "parents": [
        "8881c422743ac4ffd3d594420fec078d896dd05f",
        "9724c636467d56632a45fdf6353e3d57d1925501"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jan 26 19:53:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 26 19:53:18 2016 +0000"
      },
      "message": "Merge \"Enable interface default methods by default.\""
    },
    {
      "commit": "9724c636467d56632a45fdf6353e3d57d1925501",
      "tree": "f28f6ff8146088eef28405a55a7f6ab517120ae0",
      "parents": [
        "4fe6ce5f48687cf24c91ac9865dbad497ed6c074"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Jan 07 15:42:47 2016 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jan 26 10:23:06 2016 -0800"
      },
      "message": "Enable interface default methods by default.\n\nThis also enables interface static methods.\n\nThis removes the -Xexperimental:default-methods flag and all places\nwhere we explicitly check for its presence.\n\nBug: 24618811\n\nChange-Id: Icd91e377bd6e1a45a1645f810d15de1b0312e31d\n"
    },
    {
      "commit": "fbc31087932a65e036a153afab3049dc5298656a",
      "tree": "c728b9039a71db3be9cae888ad5e1afc31f34a13",
      "parents": [
        "c7f4e3a5aeaa23342b4e03b0d751f60ac5c5815c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Jan 24 11:59:56 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jan 25 14:22:15 2016 -0800"
      },
      "message": "Revert \"Revert \"Load app images\"\"\n\nThis reverts commit 1bc977cf2f8199311a97f2ba9431a184540e3e9c.\n\nBug: 22858531\n\nChange-Id: Ide00bf3a73a02cba3bb364177204ad1b13f70295\n"
    },
    {
      "commit": "1bc977cf2f8199311a97f2ba9431a184540e3e9c",
      "tree": "580a02752d8e447f6dce7cce01386c7e2a9a87f4",
      "parents": [
        "f7fd970244f143b1abb956e29794c446e4d57f46"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Jan 23 14:15:49 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Jan 23 14:15:49 2016 +0000"
      },
      "message": "Revert \"Load app images\"\n\nFails when a method is duplicated (see test 097-duplicate-method)\n\nBug: 22858531\n\nThis reverts commit f7fd970244f143b1abb956e29794c446e4d57f46.\n\nChange-Id: Ib30ae5be00cc568e799290be6b3c8f29cbbe4c20\n"
    },
    {
      "commit": "f7fd970244f143b1abb956e29794c446e4d57f46",
      "tree": "aac1f57ac70747957f609bb46305dfeca87645a1",
      "parents": [
        "95005291d8ebdd1d2ac58ffc5181fef4fbbf2383"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 09 11:16:49 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jan 22 15:01:55 2016 -0800"
      },
      "message": "Load app images\n\nSupport in-place patching of the app image based on boot image\nlocation and app oat location. Only loads for art run test so far\nsince we do not automatically generate app images for app installs.\n\nN5 maps launch time (~200 runs):\nBefore: 930ms\nAfter: 878.18ms\nAfter + image class table: 864.57ms\n\nTODO:\nOatdump support.\nStore class loaders as class roots in image.\n\nBug: 22858531\n\nChange-Id: I9cbc645645e62ea2ed1ad8e139e91af7d88514c1\n"
    },
    {
      "commit": "dcdc85bbd569f0ee66c331b4219c19304a616214",
      "tree": "b5ab789248e279318f6c1e3f6c511703d7294476",
      "parents": [
        "48944c760b196188b968b7af81439466cf987a75"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Dec 04 14:06:18 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 23 21:14:23 2015 -0800"
      },
      "message": "Dex2oat support for multiple oat file and image file outputs.\n\nMultiple changes to dex2oat and the runtime to support a --multi-image\noption. This generates a separate oat file and image file output for\neach dex file input.\n\nChange-Id: Ie1d6f0b8afa8aed5790065b8c2eb177990c60129\n"
    },
    {
      "commit": "4741516396e9dbfb3afc2c1d8241a7e4e26a6302",
      "tree": "5b828a40c6a4342e4a3fbe995560df014db8fa81",
      "parents": [
        "7f3b38cc23b638ab84ac01a94e90f0456da3b688",
        "751beff19b36f777d9e3a966d754fd9cfad5d534"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Dec 16 15:21:25 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 16 15:21:25 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Introduce support for hardware simulators, starting with ARM64\"\"\""
    },
    {
      "commit": "64fff41f639a7b85b2e172977175b3c79151634e",
      "tree": "67bcdff6c0d4c92d4e3f023927c0891447d35854",
      "parents": [
        "533ffe5369cdaeb8ab7986b1fefece32351c0366"
      ],
      "author": {
        "name": "Kevin Brodsky",
        "email": "kevin.brodsky@linaro.org",
        "time": "Tue Nov 24 14:24:34 2015 +0000"
      },
      "committer": {
        "name": "Kevin Brodsky",
        "email": "kevin.brodsky@linaro.org",
        "time": "Wed Dec 09 11:42:12 2015 +0000"
      },
      "message": "Clarify --boot-image help message\n\nMake dex2oat print the same help as e.g. oatdump regarding\n--boot-image and clarify the example, this is particularly important\nas the automatic addition of the arch to the path is quite\ncounterintuitive.\n\nChange-Id: I234b498d5deca99bb988a9c24ff9febc6349eb9e\n"
    },
    {
      "commit": "88b2b80aed15bb1f931cddd40e44ca525ef10018",
      "tree": "04b2f9d27863cd469dae8050335f197496f24ff2",
      "parents": [
        "cf6bd55863ded11e0533966657871aca444505a5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 04 14:19:04 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Dec 07 12:38:21 2015 +0000"
      },
      "message": "Allow initializing runtime with parsed options.\n\nNeeded by upcoming refactoring of dex2oat to allow\nearly writing of dex files to the oat file.\n\nChange-Id: Ia13c26132846801522f181f51f64035d625e8416\n"
    },
    {
      "commit": "295a5963dc127d5d6a269d672d47512f51992915",
      "tree": "34beb9d23681d2aec1251e78a8e4725eae3632f1",
      "parents": [
        "34053d1f5a9a3d98b5e45d395ed95ba66b518d4d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 19 18:17:41 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 19 18:17:41 2015 +0000"
      },
      "message": "Fix cmdline parser test.\n\nChange-Id: I6f03552d8d48e875f80a69455397146b132ed623\n"
    },
    {
      "commit": "0a3be1620a3560253cfa789cb9819013293c5654",
      "tree": "7bdbc40b620706a83a0904ee1544e4be1c61f695",
      "parents": [
        "991842a5273d20695dd5f35eb9a9e28c386c5b4b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 18 11:15:22 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 19 11:30:39 2015 +0000"
      },
      "message": "Increase code cache after 1 full collection.\n\nAlso add a max capacity option.\n\nChange-Id: Icd442b72e9be0c6b091b588b4c4473c69b7cde10\n"
    },
    {
      "commit": "751beff19b36f777d9e3a966d754fd9cfad5d534",
      "tree": "450cb7ef8cb9f955a6d689c394bd85bc9eea14f1",
      "parents": [
        "4bbe7807f313bb8e59131812c31bf31513094f8f"
      ],
      "author": {
        "name": "Phil Wang",
        "email": "phil.wang@linaro.org",
        "time": "Fri Aug 28 15:17:15 2015 +0800"
      },
      "committer": {
        "name": "Phil Wang",
        "email": "phil.wang@linaro.org",
        "time": "Fri Nov 06 14:44:20 2015 +0800"
      },
      "message": "Revert \"Revert \"Introduce support for hardware simulators, starting with ARM64\"\"\n\nThis reverts commit 4cd27d64b0bbdde61fa3f6674ceb24221853ac2c.\n\nThis depends on VIXL 1.11.\n\nChange-Id: I402c1fd6bbb218ba80ef8e59af203c9276151059\n"
    },
    {
      "commit": "eb7c144a6aff7da673ba53d501c46f00311d4d7f",
      "tree": "feec33dd2e711800305477b092970500991a3993",
      "parents": [
        "98ae42010a6e6a0e4c5bcc4d6a357805eef3f4ff"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Aug 31 13:17:42 2015 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 13 13:09:37 2015 -0700"
      },
      "message": "Add initial default method support to Art\n\nThis commit starts the process of adding default methods and their\nassociated pieces to ART.\n\nThis adds full support for calling default methods using\ninvoke-interface and invoke-virtual on objects implementing the\ninterfaces. Verifier is changed to allow this when the runtime is\nstarted with -Xexperimental:default-methods.\n\nThis also adds support for defining and calling static methods on\ninterface classes with invoke-static.\n\nDirectly calling overridden default methods using invoke-super is not\nyet supported.\n\nThis adds 5 new run-tests for this functionality.\n\nBug: 24618811\n\nChange-Id: I35ca800d99d3329348b277789b70ceeeba6e7f03\n"
    },
    {
      "commit": "3887c468d731420e929e6ad3acf190d5431e94fc",
      "tree": "67dacb849e722e33e118b97714a48e467c06cbd5",
      "parents": [
        "6a5037eb3340e4c981fd7de3ff45167ee5b7fc82"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 12 18:15:42 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 12 18:15:42 2015 +0100"
      },
      "message": "Remove unnecessary `explicit` qualifiers on constructors.\n\nChange-Id: Id12e392ad50f66a6e2251a68662b7959315dc567\n"
    }
  ],
  "next": "7617abdb402fd0419daa3eefb2ad059ccbb8b6db"
}
