)]}'
{
  "log": [
    {
      "commit": "6806d3c9e41e0e8b187d5e4c76d48ea6cc90b613",
      "tree": "4b696d6ad642a6114bcda2237b764699cfca6b0d",
      "parents": [
        "a110ae1ad51f53ed257cb4349b266131b5145a1e"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Tue Nov 09 17:33:51 2021 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Nov 10 18:00:02 2021 +0000"
      },
      "message": "Document --simpleperf option to run-test.\n\nThis is a follow-up CL for https://r.android.com/1882072.\n\nBug: none\nTest: art/test/run-test --help |\u0026 grep simpleperf\n      # dumps description\nChange-Id: I515dc77fe84fdf9fe42132e15d83b14c16adec57\n"
    },
    {
      "commit": "7f7f6442ccd272a04c4d21f573ae40f1887b41e1",
      "tree": "0faaf406b9df3955e1765891256fc043ab8e7e5f",
      "parents": [
        "cdf6c49112615419b0d170bac31685bd0b3dae0e"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Nov 05 15:26:13 2021 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Mon Nov 08 10:15:53 2021 +0000"
      },
      "message": "Allow running art run-tests with simpleperf.\n\nAdd \"--simpleperf\" option to art/test/run-test and pass it to\nart/test/etc/run-test-jar. With this option dalvikvm invocation is\nwrapped in \"simpleperf record ... simpleperf report\".\n\nThe new option can be used with chroot-based testsing approach described\nin art/test/README.chroot.md. For example, to profile 001-HelloWorld on\na sargo device with serial 8BLAY00EVN (64-bit), do the following steps:\n\n  unset ART_TEST_ANDROID_ROOT\n  unset CUSTOM_TARGET_LINKER\n  unset ART_TEST_ANDROID_ART_ROOT\n  unset ART_TEST_ANDROID_RUNTIME_ROOT\n  unset ART_TEST_ANDROID_I18N_ROOT\n  unset ART_TEST_ANDROID_TZDATA_ROOT\n\n  export ART_TEST_CHROOT\u003d/data/local/art-test-chroot\n  export ANDROID_SERIAL\u003d8BLAY00EVN\n  export ART_HEAP_POISONING\u003dtrue\n\n  . ./build/envsetup.sh\n  lunch aosp_sargo-userdebug\n\n  art/tools/buildbot-build.sh --target -j72 # --installclean\n  art/tools/buildbot-cleanup-device.sh\n  art/tools/buildbot-setup-device.sh\n  art/tools/buildbot-sync.sh\n\n  art/test/run-test --simpleperf --chroot $ART_TEST_CHROOT --64 001-HelloWorld\n\n  art/tools/buildbot-teardown-device.sh\n  art/tools/buildbot-cleanup-device.sh\n\nBug: none\nTest: Ran the above steps, observed simpleperf stats in the output.\nChange-Id: I1ce14fa94add3a1a6e7cec59382909ad6d11ef2a\n"
    },
    {
      "commit": "7cf6c58ed90d827dd9b85020219eced5d8c8ae78",
      "tree": "a0da2d477a14055959e9cbcfa15e5673cc04f9ff",
      "parents": [
        "d4e07aac5b8774545d848b2907664a01ae00568f"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Jul 20 16:56:06 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Oct 05 10:53:06 2021 +0000"
      },
      "message": "Move run-test compilation to soong.\n\nRun-test compile many java files (sometimes in very specific ways).\nCompile them just once in soong, instead of every time we run a test.\n\nThis makes local host tests 4x faster (21min -\u003e 6min).\nI expect similar or better improvement on LUCI.\n\nIt does not affect eng-prod tests now, but the generated output\nshould be reusable to make more run-tests supported in eng-prod.\n\nBug: 147814778\nTest: test.py -r --host --target --jvm\nChange-Id: If689784d2a8d901d132ed0d674a2e2be36f1cd05\n"
    },
    {
      "commit": "816b0da3ef7a2fffeda087917353646b3d48fd62",
      "tree": "409402e7f6a9f5bf2c2268eb7f077b60f20d74c0",
      "parents": [
        "2658a0775f45da9e797a5901298887a1a4b8a4c8"
      ],
      "author": {
        "name": "Stelios Ioannou",
        "email": "stelios.ioannou@linaro.org",
        "time": "Thu Jun 03 13:25:50 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Sep 20 13:42:35 2021 +0000"
      },
      "message": "ART: Enables Debugging with LLDB for dex2oat.\n\nCurrently, there is not a flag present to enable debugging the dex2oat\ncompiler on host. Therefore, because we want to be able to debug the\ndex2oat compiler when testing, this patch adds two flags,\n\"--gdb-dex2oat\" and \"--gdb-dex2oat-args\". As a result, when the\n\"--gdb-dex2oat\" flag is present in a test command, it will\nrun LLDB on dex2oat.\n\nNote that to be compliant with the current naming convention,\nthe relevant variable names include the \"GDB\" prefix instead of \"LLDB\".\n\nAdditionally, we can pass arguments that are delimited by a semi-column\nto LLDB with \"--gdb-dex2oat-args\", e.g.\n\"--gdb-dex2oat-args\u003d\u0027-X\u0027\".\n\nNote that this patch does not enable dex2oat debugging on target.\n\nTest: art/test.py -v -j12 --host --64  -t 554-checker-rtp-checkcast\\\n      --run-test --optimizing --gdb-dex2oat\n\nChange-Id: I392a57a41a90550cc5dc766ee9f148327a9c21d2\n"
    },
    {
      "commit": "8d3d64f57da1cd501405d1e5588cdf18ac1894ee",
      "tree": "7daa104b4868bea797e80f83b901d89a00faace3",
      "parents": [
        "a0e10b1691aca250f390704c73b18810b89302e1"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jul 29 15:46:48 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 17 19:50:05 2021 +0000"
      },
      "message": "Make run-test build scripts more deterministic\n\nUse soong_zip instead of system zip to make the build deterministic.\nThis is guaranteed to be same on all machines and removes timestamp.\n\nFix helper utility which generated java source code with functions\nin random order for some tests.\n\nThere is still some non-determinism left caused by the smali\ncompiler generating non-deterministic dex output files.\n\nBug: 147814778\nTest: test.py --host\nChange-Id: Ibd1187e7cda840b647d3f13ad158952f235716bf\n"
    },
    {
      "commit": "1b621225a8869f930d530e4855157a444971aca1",
      "tree": "9885c16405db986e26419e4d0e001ab0c5fd48b1",
      "parents": [
        "fc42ce1a2b013059b7868ffc69d35fade6c5b743"
      ],
      "author": {
        "name": "Stelios Ioannou",
        "email": "stelios.ioannou@linaro.org",
        "time": "Thu Jun 17 14:15:45 2021 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Jul 22 13:07:21 2021 +0000"
      },
      "message": "ART: Implements a test option of forced generation of .cfg\n\nThis patch introduces the option to dump .cfg for any type of test. If\nthe \"--dump-cfg \u003cpath/graph.cfg\u003e option\" is present, then it generates\na .cfg following the same logic used for the \"checker\" tests but\nforcing it for any type of test. This option works for both host and\ntarget.\n\nBefore the artifacts are wiped, the generated .cfg file is copied to\nthe specified host path.\n\nNote that it will only dump a .cfg if the compiler type is set to\n\"optimizing\". Otherwise, it will throw a warning.\n\nTest: ./art/test/run-test  --host --simulate-arm64  --optimizing \\\n--dump-cfg \u003cpath\u003e/graph.cfg  \u003ctest\u003e\n\nChange-Id: I034b13b401bd1dee8d871297da8d09e807a35fd1\n"
    },
    {
      "commit": "ca15b8d4b05e374569fd98599b5c395b4aa655c7",
      "tree": "ab72586d846136b64ab2af8556e794893eb41780",
      "parents": [
        "2ce26fd4a022090e8613b8e2555f2c5e3be018c5"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Apr 23 12:25:08 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 20 22:22:29 2021 +0000"
      },
      "message": "testrunner.py: Add --build-only and --skip-build options.\n\nThe build stage is more expensive than the test stage\nand we do it redundantly repeatedly for all variants.\n\nMake it possible to separate the build and test stages,\nwhich will allow us to do the build just once on buildbots.\n\nThe proper solution is to move all the build work to soong,\nand we will be able to remove this code again at that point.\n\nBug: 188631922\nTest: testrunner.py --host --build-only \u0026\u0026 \\\n      testrunner.py --host --skip-build\nChange-Id: I542feac03acc25a853dbf7f1a2e5587a2c5d6d7a\n"
    },
    {
      "commit": "0d0f8df5070dc6c6e5a5809d8a57e0212a1a5164",
      "tree": "fe0fc4815a3af6dfd5cd3e17a672362647c78af0",
      "parents": [
        "2207b7e7db463dfa96d071654c49268e22e8745f"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Apr 28 16:47:01 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed May 05 12:07:48 2021 +0000"
      },
      "message": "In run tests, do not rely on loading native libs in the ART namespace\nwith an allow_all_shared_libs fallback to system.\n\nThe system and com_android_art namespaces need to be properly\nseparated, but run tests have relied on loading test libraries through\neither LD_LIBRARY_PATH or java.library.path without a clear separation.\nThat has worked through a combination of\nANDROID_ADDITIONAL_PUBLIC_LIBRARIES and fallback dlopen() calls that\nused the ART namespace.\n\nThis change introduces a new directory\n/data/nativetest(64)/com.android.art for test libraries that depend on\ninternal ART libraries. It\u0027s added with LD_LIBRARY_PATH to the default\nnamespace, which in the APEX linker config has full access to\ncom_android_art.\n\nNormal JNI libraries that don\u0027t depend on ART internals stay in\n/data/nativetest(64)/art/\u003carch\u003e. There should be no overlap between the\ntwo locations.\n\nA new environment variable NATIVELOADER_DEFAULT_NAMESPACE_LIBS is\nintroduced to list the libraries added through LD_LIBRARY_PATH, so\nlibnativeloader can link to them from classloader namespaces and in the\nfallback namespace when no classloader is specified.\n\nLike ANDROID_ADDITIONAL_PUBLIC_LIBRARIES,\nNATIVELOADER_DEFAULT_NAMESPACE_LIBS is only effective when\nro.debuggable is true.\n\nA new cc_defaults \"art_test_internal_library_defaults\" is added to\nAndroid.bp, to be used in libraries that should be installed in the new\ncom.android.art directory.\n\nSome run tests that are special and need more treatment are disabled\nfor now, to be addressed in b/186654484.\n\nTest: art/test/testrunner/testrunner.py --target --64 --optimizing\nTest: art/test/testrunner/testrunner.py --target --32 --jit\nTest: art/test/testrunner/testrunner.py --host --64 --optimizing\nBug: 130340935\nChange-Id: Iec640d5e22b46af2c1a4d375ce3f06c57b1d224e\n"
    },
    {
      "commit": "efbc659ba4566f6fbad3d13bea170fb522955b8a",
      "tree": "e7650951550e50e7619f0b17467cfa9d328135c5",
      "parents": [
        "640c448bad41c00599f8f8fb056eba679edc891e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 16 10:29:13 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 16 10:29:13 2021 +0000"
      },
      "message": "Update run-test to python3.\n\nTest: testrunner.py --host -t 001-Main\nChange-Id: I1f95a57e88890c332f58303795ee93f4be7d575a\n"
    },
    {
      "commit": "b15e8797d2ca6fb480a940887c66dd2aae7c9065",
      "tree": "23bd6e44c31b45fde7d92bbe7620329a61c1fcf5",
      "parents": [
        "79bf0b8e9c704e63029bb3badf9c4872484a827b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 28 12:20:59 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 10 09:46:01 2020 +0000"
      },
      "message": "Verify ART run-tests\u0027 standard output and standard error separately.\n\nIntroduce expected standard error files for ART run-tests. Collect\ntests\u0027 standard output and standard error separately and check them\nagainst the corresponding expectation file.\n\nTest: Run ART run-tests on host and device using `testrunner.py`.\nTest: atest --test-mapping art:all\nTest: atest --test-mapping cts/hostsidetests/jvmti:all\nBug: 171865375\nBug: 147812905\nChange-Id: Ie95bec4a4684ff6791d464124ce8976339432d1f\n"
    },
    {
      "commit": "a073f46104fbce0482fb759d5ccfb32ee39cc973",
      "tree": "985538ce69fa4d9253725cddaca936ddc3eaea86",
      "parents": [
        "5a19854c682a994729f704806d6c0de1de349631"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 28 12:48:24 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 05 18:15:49 2020 +0000"
      },
      "message": "Rename ART run-tests `expected.txt` files as `expected-stdout.txt`.\n\nThis is in preparation for the addition of `expected-stderr.txt` files\nin all ART run-test directories, which will record the expected\nstandard error for each of these tests, and which will be verified\nalong with `expected-stdout.txt`.\n\nTest: Run ART run-tests on host and device using `testrunner.py`.\nTest: atest --test-mapping art:all\nBug: 171865375\nBug: 147812905\nChange-Id: I37e3c4b8409475790e2fc63514cdf57156d47ff4\n"
    },
    {
      "commit": "9ca92fb4646eccff9f972f6a2a21709676b65460",
      "tree": "b6e8653d98201d8184964dd0d9b8fffc972be918",
      "parents": [
        "eeaf47f7c9bbad29afab84a0f199a5751d9c616b"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Oct 28 15:08:11 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 29 11:03:55 2020 +0000"
      },
      "message": "run-test: add --external-log-tags options\n\nBug: 171770326\nTest: art/test/run-test --host 001-HelloWorld\nTest: ANDROID_LOG_TAGS\u003d\"*:V\" art/test/run-test --external-log-tags \\\n                                               --host 001-HelloWorld\nTest: ANDROID_LOG_TAGS\u003d\"*:E\" art/test/run-test --external-log-tags \\\n                                               --host 001-HelloWorld\nChange-Id: Ibe27047549fd7c3c556e2e754015a2cfaa97d6cf\n"
    },
    {
      "commit": "9fde2db3d4cfc6d7d1520454abc2aa4622a073ea",
      "tree": "24b984d2761b8b42df31e25949ce8d2d6f33bdc6",
      "parents": [
        "f50975ab491fa962e6e5ec4405fdb31591d51d96"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Oct 15 16:03:29 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Oct 20 15:08:20 2020 +0000"
      },
      "message": "Update host tests to point to a dedicated boot image directory.\n\nOn device the boot image files are in the APEX, but on host they\u0027re\ncreated by the global code in dexpreopt_config.go and installed by make\nin the same location irrespective of the ART APEX in use (release or\ndebug). That location is now moved to\n$(ANDROID_HOST_OUT)/apex/art_boot_images to avoid conflict with the\nAPEX paths (because the release APEX is moving from\ncom.android.art.release to com.android.art).\n\nTest: art/test/testrunner/run_build_test_target.py art-test\nTest: art/build/apex/runtests.sh\nTest: art/tools/buildbot-build.sh {--host,--target}\nTest: art/tools/run-gtests.sh\nTest: m test-art-host-gtest\nTest: art/test/testrunner/testrunner.py --target --64 --optimizing\nTest: m build-art-target-golem\nBug: 169639321\nChange-Id: I932a15539e170d3c6c78515b22dd4b91ce1c57b4\n"
    },
    {
      "commit": "bfe8fc80767511676eae739e0924377dfc6c6089",
      "tree": "266db200bfb812ebe6b5ed9ab3ab9accb67081fe",
      "parents": [
        "7e9fc9d6d1622192f118bab771784eedfb66c60e"
      ],
      "author": {
        "name": "Daniil Riazanovskiy",
        "email": "riazanovskiy@google.com",
        "time": "Mon Oct 05 15:07:15 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 12 08:23:13 2020 +0000"
      },
      "message": "Restore cfg file printing in Checker as an option\n\nTest: run checker with test that is expected to fail\nChange-Id: I14ca5e6bed38e2677cdf4b2eb4b79a6594af6f13\n"
    },
    {
      "commit": "5439f051a950f0281eeafb8e8064839f2aea6e38",
      "tree": "889efef779fa462357f77cb2166c600cb0d60679",
      "parents": [
        "483bf78ae61ab43a3d513cef0de0072e86d0b0b1"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Jul 29 10:03:46 2020 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Jul 29 13:58:15 2020 +0000"
      },
      "message": "Revert^3 \"VIXL simulator for ART (Stage1)\"\n\nThis reverts commit e886d68b9c40c941d8966b9c90d0e265c75fb19e.\n\nReason for revert: simulator implemention is not ready yet.\n\nTest: lunch aosp_cf_x86_phone-userdebug \u0026\u0026 m\nTest: art/test.py --run-test --optimizing --host\nChange-Id: I03c8c09ea348205b0238d7a26caef3477cd6ae3b\n"
    },
    {
      "commit": "e886d68b9c40c941d8966b9c90d0e265c75fb19e",
      "tree": "ad78c4e375c95a96e200baa2786e748505ab928b",
      "parents": [
        "f12dd5861e0eaf1822c12137fd353b5e79761a6c"
      ],
      "author": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Jul 16 15:09:38 2020 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Jul 17 11:04:27 2020 +0000"
      },
      "message": "Revert^2 \"VIXL simulator for ART (Stage1)\"\n\nThis reverts commit 3060bb919cd2f37c6a97e87c1581ac5294af72b3.\n\nReason for revert: relanding original change. The fix is setting\n`device_supported: false` for libart(d)-simulator module in the .bp\nfile (`m checkbuild` attempted to build it for arm32 and failed).\nOriginal commit message:\n\nVIXL simulator for ART (Stage1)\n\nQuick User Guide: test/README.simulator.md\n\nThis CL enables running ART run-tests in a simulator on host machine.\nSome benefits of using this simulator approach:\n- No need to use a target device at all.\n  Save developers from solving the device troubles: build, flash, usb,\n  adb, etc.\n- Speed up development/debug/test cycle.\n- Allows easy debugging/testing new instruction features without real\n  hardware.\n- Allows using a smaller AOSP Android manifest master-art.\n\nThe Stage1 CL provides support for running 30% of current run-tests.\nThe rest unsupported test cases are kept in knownfailures.json.\n\nFuture work will be supporting proper stack frame layout between\nsimulator and quick entrypoints, so that stack walk,\nQuickArgumentVisitor, deoptimization, etc can be supported.\n\nThis CL adds libart(d)-simulator-container library to the ART APEX. It\nhas caused the following increase of the APEX size (small, about 0.13%\nfor release APEX, measured for target aosp_arm64-userdebug):\n Before:\n   88992 com.android.art.debug.apex\n   51612 com.android.art.release.apex\n  112352 com.android.art.testing.apex\n After:\n   89124 com.android.art.debug.apex\n   51680 com.android.art.release.apex\n  112468 com.android.art.testing.apex\n\nChange-Id: I461c80aa9c4ce0673eef1c0254d2c539f2b6a8d5\nTest: art/test.py --run-test --optimizing --simulate-arm64\nTest: art/test.py --run-test --optimizing --host\nTest: m test-art-host-gtest\n"
    },
    {
      "commit": "3060bb919cd2f37c6a97e87c1581ac5294af72b3",
      "tree": "6a2b517812ff83cd10cc3b055635d0746157b345",
      "parents": [
        "48ca6a681efe1fa1cf82d8af918bf9bbfd35ae96"
      ],
      "author": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Jul 16 14:17:11 2020 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Jul 16 14:17:11 2020 +0000"
      },
      "message": "Revert \"VIXL simulator for ART (Stage1)\"\n\nThis reverts commit 48ca6a681efe1fa1cf82d8af918bf9bbfd35ae96.\n\nReason for revert: broken build 6685551 on aosp-master on full-eng\nBug: 161440641\n\nChange-Id: I849fe53f56c4786f0f2a1605cbfd215559f11072\n"
    },
    {
      "commit": "48ca6a681efe1fa1cf82d8af918bf9bbfd35ae96",
      "tree": "87ff5251f8f843e64e3f3632c423856ba14ceadf",
      "parents": [
        "cfea667ed9bfbdd21bf9812d1598603fc359d2e1"
      ],
      "author": {
        "name": "Xueliang Zhong",
        "email": "xueliang.zhong@linaro.org",
        "time": "Thu Mar 07 14:48:55 2019 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Jul 16 13:31:48 2020 +0000"
      },
      "message": "VIXL simulator for ART (Stage1)\n\nQuick User Guide: test/README.simulator.md\n\nThis CL enables running ART run-tests in a simulator on host machine.\nSome benefits of using this simulator approach:\n- No need to use a target device at all.\n  Save developers from solving the device troubles: build, flash, usb,\n  adb, etc.\n- Speed up development/debug/test cycle.\n- Allows easy debugging/testing new instruction features without real\n  hardware.\n- Allows using a smaller AOSP Android manifest master-art.\n\nThe Stage1 CL provides support for running 30% of current run-tests.\nThe rest unsupported test cases are kept in knownfailures.json.\n\nFuture work will be supporting proper stack frame layout between\nsimulator and quick entrypoints, so that stack walk,\nQuickArgumentVisitor, deoptimization, etc can be supported.\n\nThis CL adds libart(d)-simulator-container library to the ART APEX. It\nhas cause the following increase of the APEX size (small, about 0.13% for\nrelease APEX, measured for target aosp_arm64-userdebug):\n Before:\n   88992 com.android.art.debug.apex\n   51612 com.android.art.release.apex\n  112352 com.android.art.testing.apex\n After:\n   89124 com.android.art.debug.apex\n   51680 com.android.art.release.apex\n  112468 com.android.art.testing.apex\n\nTest: art/test.py --run-test --optimizing --simulate-arm64\nTest: art/test.py --run-test --optimizing --host\nTest: m test-art-host-gtest\n\nChange-Id: I078812dde9aaf7128d9f262b2102251927596b7f\n"
    },
    {
      "commit": "928d28e1fbef54dccd0b34a63b262b7950c355d5",
      "tree": "5a68026bb50392fccf11fa2c81fa48d8ffe0edf5",
      "parents": [
        "85af16e673c58cef1eb6d764468b7218bc343dae"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Apr 01 17:50:51 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue May 12 17:59:03 2020 +0000"
      },
      "message": "Use boot image for all tests instead of core.art.\n\nTest: m test-art-host-gtest\nTest: test.py -b -r --host --optimizing\nTest: mmma art/tools/ahat\nTest: (the tests above do not build core.art)\nBug: 147817558\nBug: 147819342\nChange-Id: I412fa140e78fd3769696a6635b896b1cf975edd6\n"
    },
    {
      "commit": "94a810be73cea8f7c34df572fbdf5d2fbb2d6f87",
      "tree": "849a2455396dc27981ef34fab2a524ab135b8dfa",
      "parents": [
        "fc5e2ef08c78bcf4a60c5097ff3a7fa80e358522"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Wed May 06 14:33:16 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 08 19:07:00 2020 +0000"
      },
      "message": "Small cleanups\n\nThis change addresses several cleanup opportunities that came up during\nhttps://r.android.com/1298080, including:\n\n* Remove --no-dex2oat from the run-test usage message, since this option\n  is no longer supported.\n\n* Refactor the `b ? OatHeader::kTrueValue : OatHeader::kFalseValue`\n  pattern in dex2oat so there is less code duplication.\n\nTest: ./test.py --host\nChange-Id: I9a2a6649116cd431c3829901965f2e48812fcbd6\n"
    },
    {
      "commit": "80dc7dc20855bf680fa598127f26e6047821bdd0",
      "tree": "e3e4a9b0e5bec3710a60cc71cd1c95b695ce6aeb",
      "parents": [
        "c1ff0ff1e3f64a991119b3f86db3dc9e76f3a4e4"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Mar 10 15:56:42 2020 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Mar 11 19:45:28 2020 +0000"
      },
      "message": "Truncate run-test output less\n\nBug: 151062816\nTest: Treehugger\nChange-Id: I4c2c14c7fbd9a8f9bfc24842c3a96ce3e52f557d\n"
    },
    {
      "commit": "be0d3cff84c69c497487d39c4022d604a7907d5b",
      "tree": "15364a8eb252f9645bb1cf3f9fe9d2017f1ed5fa",
      "parents": [
        "5945de03b6f6b35bcf6a575b2291e29ae7a2b1ee"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 12 10:52:22 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 20 07:15:30 2020 +0000"
      },
      "message": "Remove remaining MIPS support.\n\nWith the exception of dwarf support in libelffile.\n\nTest: aosp_taimen-userdebug boots.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 147346243\nChange-Id: Ib25acbc98aa7f63ce49a7ed2f81a4a64d48eac39\n"
    },
    {
      "commit": "8c41a0b9bcf6ab95d92bed4976ee15f2c54e2d74",
      "tree": "d9b45049d12fbe4dcc29576bbc625c667d233edb",
      "parents": [
        "99c19ca707391f0908313c7cee2ef315d2b5cb3c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 06 16:52:11 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 07 09:39:46 2020 +0000"
      },
      "message": "Handle interpreter / access-checks mode in the runtime.\n\nStop requiring multiple image kinds for run tests, and have the runtime\nadjust method flags and entrypoints when it is running interpreter-only\nor with soft fail verification.\n\nTest: test.py\nChange-Id: I813fe17e49d2b07545577ecf4ce7b6af62e3bef9\n"
    },
    {
      "commit": "30a11eb467147003bf87fd3ac8638d8b60f357d7",
      "tree": "f3046bb0b36e15339f38e32d5f5363be3017039e",
      "parents": [
        "1c5b1ea14b3bf799eeaa27f583a72c5856771142"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 28 16:04:01 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 30 13:57:28 2020 +0000"
      },
      "message": "[checker]: Dump the CFG when we fail.\n\nTest: checker tests.\nBug: 147094528\nChange-Id: Ia51a511b6528ebe7d624b26773f575e29d24954c\n"
    },
    {
      "commit": "8e7ab70070c40df682345125045d1c44bac8d626",
      "tree": "b21563dd141e4524a18688aac1fbcbddfe6ea675",
      "parents": [
        "a3f8129f53394d315618e5c185e95fb8c9d2e28b"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 09 13:09:46 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 10 07:08:26 2020 +0000"
      },
      "message": "Remove extra shift in --create-runner handler in run-test\n\nrun-test --create-runner would eat an argument due to an extra shift.\nRemove this shift.\n\nTest: ./test/run-test --create-runner --jit --host 001-HelloWorld\n      examine output.\n\nChange-Id: Id8676fc90aa841d130437174e5958f29b9062311\n"
    },
    {
      "commit": "8d94dddfd60ab8122b0abb1a0d90fb13d752a7b6",
      "tree": "3c9195b1fd8a78ef3d112ed5b5663796946c9629",
      "parents": [
        "65a01a7a751f0ec8c0cbb5650c25724e1df93826"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 18 11:13:03 2019 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 03 22:11:47 2020 +0000"
      },
      "message": "Improve run-test tooling support\n\nA useful thing to do with run-test tests is to run them in parallel to\nreproduce low-probability flakes. We have a tool called\nparallel_run.py to do this. Unfortunately one had to manually create\nthe script that parallel_run.py would execute, making it rather\ndifficult to use. This adds a --create-runner flag to run-test that\nwill cause it to write a script (called $DEX_LOCATION/runit.sh) that\nis compatible with parallel_run.py\n\nTest: % ./test/run-test --host --64 --prebuild 001-HelloWorld\n      ...\n      Runnable test script written to /tmp/allight/test-180018/runit.sh\n      ...\n      % ./tools/parallel_run.py /tmp/allight/test-180018/runit.sh -j80\n\nChange-Id: I18d4ec72b51fb3c868ca4c6fe7f191e74f45b868\n"
    },
    {
      "commit": "2191069047034ad891ea15f60a217246edc38d53",
      "tree": "5fcdb37aa8d1e052979631adac01fe74794748b3",
      "parents": [
        "add69acb7db965bd8d817a185e962e5474f690d1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 06 13:27:03 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 07 14:04:57 2019 +0000"
      },
      "message": "Revert^4 \"Boot image extension.\"\n\nThis reverts commit f5c5eb30fc71e0c305d678bd3c1c995a5c36d508.\n\nRemoved wrong check for no dex files. Dex files can also be\nspecified with zip-location and file descriptors. Added a\nregression test to dex2oat_test.\n\nFixed the image checksums validation to use the appropriate\npart of BCP rather then full BCP. This fixes errorneous\nrejection of oat files compiled against partial BCP.\n\nChanged dex2oat_image_test to use ART_BASE_ADDRESS to try\nand avoid failures when reserving space for loading the\ncompiled images.\n\nTest: Additional tests in dex2oat_{,image_}_test\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 119800099\nBug: 143492855\nBug: 144001974\nChange-Id: I062cbecd0020f5c24353eb75643ea5905cb6f4fd\n"
    },
    {
      "commit": "f5c5eb30fc71e0c305d678bd3c1c995a5c36d508",
      "tree": "2f08c5562d3b35b7f0139f772b6324a9689d01ea",
      "parents": [
        "acdb9a350fede0776e1f4d6d04dc3246249345e3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 06 12:25:10 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 06 13:25:07 2019 +0000"
      },
      "message": "Revert^3 \"Boot image extension.\"\n\nThis reverts commit 02820f424714e711bbd4cb4b04a109416eb0c8b8.\nAlso reverts commit beb66b38dcce937d7eee9ef2d07b6402c720f8ee\nthat contained a follow-up fix.\n\nReason for revert: b/144001974\n\nBug: 119800099\nBug: 143492855\nBug: 144001974\nChange-Id: I4da5330c3efa9f0c3508e85344c031d3b360ca0a\n"
    },
    {
      "commit": "beb66b38dcce937d7eee9ef2d07b6402c720f8ee",
      "tree": "4bdf0034b5fbd4aa6bb07c73f8c38f9eac03669e",
      "parents": [
        "a48f0bbb2939fa743904f7553a060b12846f100e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 01 14:59:36 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 05 09:42:18 2019 +0000"
      },
      "message": "Fix boot image extension relocation.\n\nStore boot image begin and size to the extension header as\nit is needed for relocation; this requires rewriting the\nImageHeader::IsAppImage(). Also mark the class roots as\nvisited to satisfy a DCHECK() for extension relocation.\n\nAnd re-enable loading boot image extensions for tests.\n\nTest: Add relocation tests to dex2oat_image_test.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing --relocate --no-relocate\nTest: testrunner.py --target --64 --optimizing --relocate\nBug: 119800099\nChange-Id: Ie7e883beaa927ca4dc91f0ae660c8de74f7d4ddb\n"
    },
    {
      "commit": "ad6f4ce1488add3a2aff2c30bc43568594a6875a",
      "tree": "458deb0629d260b0f5d9b7e4accbc85d37c1efb2",
      "parents": [
        "4f6ebe89af462ff05d97433deb2bca3f3b011fc2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 01 14:32:20 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 01 14:34:45 2019 +0000"
      },
      "message": "Disable loading boot image extensions for tests.\n\nRun tests with --relocate are hitting a DCHECK().\n\nTest: testrunner.py --host --optimizing --relocate\nBug: 119800099\nChange-Id: I933f3f917ac04271a917c4336a2d90334d89a092\n"
    },
    {
      "commit": "4f6ebe89af462ff05d97433deb2bca3f3b011fc2",
      "tree": "856ef32276112b78fb51bd95dfd545217b86cb33",
      "parents": [
        "3155aa4e6167c5f346aa5e90da43ee0e9d04d2ec"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 19 15:23:44 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 01 12:48:46 2019 +0000"
      },
      "message": "Boot image extension.\n\nAllow the boot image to be split into the primary boot image\nand any number of optional boot image extensions.\n\nTest: New extension test in dex2oat_image_test.\nTest: aosp_taimen-userdebug boots.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing --jit\nBug: 119800099\nChange-Id: If5a2fa1c0facccbfaf0a1f0cb015ea9233f1f4c6\n"
    },
    {
      "commit": "4815e7209ef2558c861036b05a3082d32909b236",
      "tree": "0809482592566e336b5d9ab8c8f5d90ba42dc37f",
      "parents": [
        "f84ef3192bcc167c627e8e13a48b112f017821c2"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Sep 24 16:20:09 2019 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Sep 26 14:24:43 2019 +0000"
      },
      "message": "Propagate timeout to run-test-jar.\n\nBug: 141485154\nTest: art/test/run-test --chroot /data/local/art-test-chroot --jit --64 --timeout 5 151-OpenFileLimit (timeout failure)\nTest: art/test/run-test --chroot /data/local/art-test-chroot --jit --64 151-OpenFileLimit (success)\nChange-Id: I741e2ae485e4f5769d6e0dfa44f4986d901d7d3b\n"
    },
    {
      "commit": "e58624f221b967553d7b71f14d8677ceaa000553",
      "tree": "00d6caa5ca66562d9c8e448abc77c0c6018fca0c",
      "parents": [
        "48349ad38887f65da76df268f8e548d508d8c6a1"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Sep 20 15:53:40 2019 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Sep 24 17:40:00 2019 +0000"
      },
      "message": "Various renames following the name change from \"Runtime APEX\" to \"ART APEX\".\n\nIn particular ANDROID_RUNTIME_ROOT is now ANDROID_ART_ROOT.\n\nTest: Build \u0026 boot\nTest: art/tools/run-gtests.sh in chroot\nTest: art/test/testrunner/testrunner.py --target --64 in chroot\nTest: art/tools/run-libcore-tests.sh --mode\u003ddevice --variant\u003dX64 in chroot\nTest: art/tools/run-jdwp-tests.sh --mode\u003ddevice --variant\u003dX64 in chroot\nTest: m test-art-host-gtest\nTest: art/test/testrunner/testrunner.py --host --64\nTest: art/tools/run-jdwp-tests.sh --mode\u003dhost\nBug: 135753770\nChange-Id: Ia74da964e54cf396d66e9e12ea56da4e9483662a\n"
    },
    {
      "commit": "d6be5da75294d29060440a10e77f5d3461ed8d74",
      "tree": "2a92b0c53c3b40ef36cb8a81c4326b323d63b80c",
      "parents": [
        "ad909af6c4be163bf2d5f4ca1e0487cc619a5041"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Jul 16 17:14:46 2019 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Sep 02 10:28:27 2019 +0000"
      },
      "message": "Update references to the ART APEX for tests.\n\nTest: art/tools/buildbot-build.sh --host \u0026\u0026 art/test.py --host --64 --optimizing\nTest: art/tools/run-gtests.sh in chroot\nTest: art/test/testrunner/testrunner.py --target --64 in chroot\nTest: art/tools/run-libcore-tests.sh --mode\u003ddevice --variant\u003dX64 in chroot\nTest: art/tools/run-jdwp-tests.sh --mode\u003ddevice --variant\u003dX64 in chroot\nBug: 135753770\nChange-Id: I876c5a2931970d6a75c1812e0f87bc65ab7bde0f\nMerged-In: I876c5a2931970d6a75c1812e0f87bc65ab7bde0f\n"
    },
    {
      "commit": "86459c058c387d76f96d6644e8ec9fb1aa7f165d",
      "tree": "410d3aabee49e72bbd78e1a1e795b50180577bc3",
      "parents": [
        "79e6eb8b79be6249358b7801bc511290dacf10d0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 29 14:01:18 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 29 23:54:46 2019 +0000"
      },
      "message": "ART: Change Python code in run-test\n\nWe rely on Python\u0027s os.path.realpath as the \"nuclear option\" to\nresolve the temp directory. However, between Python 2 and Python 3,\nit is better not to use print.\n\nBug: 140161314\nTest: art/test/testrunner/testrunner.py -b --host -t 001-HelloWorld\nChange-Id: I38ad20d63b94e5bf816cb019f9f95cb2934e33dc\n"
    },
    {
      "commit": "759845ff57929e26bfe922b30c814cb58e886bc1",
      "tree": "91ed3883cbce398f08308e2cff119dea04eb21cb",
      "parents": [
        "77251f97137f6a9fd5e88b18b653d022996cd369"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Tue Aug 06 16:04:36 2019 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Mon Aug 12 15:36:42 2019 +0000"
      },
      "message": "Separate ICU4J from core-libart\n\n- It adds the new core-icu4j into boot classpath\n\nBug: 138994281\nTest: CtsLibcoreTestCases\nChange-Id: I6e8d971f304fe9f4836fcd73818720ed83d38154\n"
    },
    {
      "commit": "6461124331de7707f3b109cec38337d851be997e",
      "tree": "551fe08dc46d71f903244080f90df751d648adb5",
      "parents": [
        "3cb59a4e22bff5a06f5bcd1deb86e2580dd36de3"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Fri Jul 05 16:32:41 2019 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Thu Aug 08 11:06:51 2019 +0000"
      },
      "message": "Remove icu .dat file from Runtime module\n\nBug: 137009149\nBug: 130295968\nTest: device boots\nTest: m out/target/common/obj/JAVA_LIBRARIES/ahat-test-dump_intermediates/test-dump.hprof\nTest: art/build/apex/runtests.sh fails due to bug 138103882\nTest: art/tools/buildbot-build.sh\nTest: m test-art-host-gtest\nChange-Id: I0501fd6dd02dac3cf9780f5f1c0103e4b0475e1f\n"
    },
    {
      "commit": "11410de860d4e6bd6d3cc90aa604575430882302",
      "tree": "95ad8586ef841a3a5750c24a7780b58bf12cac3c",
      "parents": [
        "8d6651d8cc83d028cefc24153f4543a82dea4574"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 02 15:53:53 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 08 19:36:16 2019 +0000"
      },
      "message": "ART: Refactor run-test run_args\n\nUse an array instead of a string. This makes it easier to handle\nparameters with spaces.\n\nTest: art/test/testrunner/testrunner.py -b --host\nTest: art/run-test --host --invoke-with \"perf record -g -F 9999\" 001-HelloWorld\nChange-Id: Ic405c0f35aad4a9e36f9cb3b76fb307dadf7e732\n"
    },
    {
      "commit": "90b3457f9c64efba370c51b216dabb164a40b1ff",
      "tree": "edf97bc304fc96e34f9f0bc353e89b6e5aa8cd85",
      "parents": [
        "024d69fb9936ca5a0031d35c9f248853cbc25d3f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jun 14 15:23:15 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 17 14:23:57 2019 +0000"
      },
      "message": "Handle `--android-tzdata-root` in `test/run-test`.\n\nThis was missing from previous CLs and prevented\n`test/testrunner/testrunner.py` from passing a custom TZ data root to\nART run-tests (via `test/etc/run-test-jar`).\n\nTest: Set `ART_TEST_ANDROID_TZDATA_ROOT` to \"/system/etc/tzdata_module\"\n      and run ART run-tests using `art/test/testrunner/testrunner.py` on\n      device within the chroot environment.\nBug: b/132169989\nBug: b/121117762\nBug: b/119293618\n\nChange-Id: Ia669af6e6fc6c2c8fa57e557fc3a90065166d1ac\n"
    },
    {
      "commit": "6f342dd00e7423bd29b79607df655e44b654166e",
      "tree": "cdd370f1e91e4e77888f5103db5a257f08554984",
      "parents": [
        "2bcea184e4934ee6681837c9e80660cfac2166c6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Mar 27 17:15:42 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 27 21:38:38 2019 +0000"
      },
      "message": "Revert^2 \"Only extract zipapex once for linux-bionic-zipapex tests\"\n\nFixed issue that caused main-thread exception. Changed to using the\npython3.4 compatible subprocess API.\n\nThis reverts commit c26d9e3bffa8757f8f9bcc8798cc88f57136049e.\n\nReason for revert: Fixed issue causing tests to not run.\n\nTest: ./test/testrunner/run_build_test_target.py art-linux-bionic-x64-zipapex\nChange-Id: If6a2246a3f039411011e99cce692d5a4ff1d0e47\n"
    },
    {
      "commit": "c26d9e3bffa8757f8f9bcc8798cc88f57136049e",
      "tree": "5b1a99a9bee8bc2f120b5d286cd9431df762ee95",
      "parents": [
        "d53f60658fb0d28279919cc856a55e4b6504dabe"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Mar 27 17:06:32 2019 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Mar 27 17:09:14 2019 +0000"
      },
      "message": "Revert \"Only extract zipapex once for linux-bionic-zipapex tests\"\n\nSomehow an exception in the main thread doesn\u0027t cause testrunner.py\nto exit non-zero.\n\nThis reverts commit 912cee8ab1260c5022ddb4862620d6ed17658de7.\n\nTest: None\n\nReason for revert: Python version incompatibility\n\n[\u0027/usr/local/google/buildbot/src/googleplex-android/master-art-host/art/test/testrunner/testrunner.py\u0027, \u0027--run-test-option\u003d--bionic\u0027, \u0027--runtime-zipapex\u003d/usr/local/google/buildbot/src/googleplex-android/master-art-host/out/soong/host/linux_bionic-x86/apex/com.android.runtime.host.zipapex\u0027, \u0027--host\u0027, \u0027--64\u0027, \u0027--no-build-dependencies\u0027, \u0027--host\u0027, \u0027--dex2oat-jobs\u0027, \u00274\u0027, \u0027--verbose\u0027]\nConcurrency: 40\n4150/4150 (100%) tests passed.\nException in thread Thread-1:\nTraceback (most recent call last):\n  File \"/usr/lib/python3.4/threading.py\", line 920, in _bootstrap_inner\n    self.run()\n  File \"/usr/lib/python3.4/threading.py\", line 868, in run\n    self._target(*self._args, **self._kwargs)\n  File \"/usr/local/google/buildbot/src/googleplex-android/master-art-host/art/test/testrunner/testrunner.py\", line 508, in run_tests\n    with handle_zipapex(zipapex_loc) as zipapex_opt:\n  File \"/usr/lib/python3.4/contextlib.py\", line 59, in __enter__\n    return next(self.gen)\n  File \"/usr/local/google/buildbot/src/googleplex-android/master-art-host/art/test/testrunner/testrunner.py\", line 531, in handle_zipapex\n    subprocess.run([\"unzip\", \"-qq\", ziploc, \"apex_payload.zip\", \"-d\", tmpdir]).check_returncode()\nAttributeError: \u0027module\u0027 object has no attribute \u0027run\u0027\n\nChange-Id: I33a87fc2d96b250e30e3e08c60e9197daa11e049\n"
    },
    {
      "commit": "912cee8ab1260c5022ddb4862620d6ed17658de7",
      "tree": "18278fbb659b8d9250e4732b8a5db4984878c411",
      "parents": [
        "1617f8caf200820e6831296681d49df51982d66c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Mar 26 13:32:54 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 27 01:48:23 2019 +0000"
      },
      "message": "Only extract zipapex once for linux-bionic-zipapex tests\n\nWe were unzipping the zipapex for every test when running the\nart-linux-bionic-x64-zipapex tests. This could take a long time. This\nmakes us only have to unzip it a single time.\n\nTest: ./test/testrunner/run_build_test_target.py art-linux-bionic-x64-zipapex\nChange-Id: Id7cf1b6445526a950c45b74fc98208e234d3069f\n"
    },
    {
      "commit": "e4b4a18fe564c02af46477357967d6b43b8b0c54",
      "tree": "8670af9fd1385473e7fbffb7e6295ec3964d198e",
      "parents": [
        "3611fdf703a6417c08a2e3d6e642d5936318de18"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Feb 12 14:19:49 2019 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Feb 12 14:19:49 2019 -0800"
      },
      "message": "Add support for using gdbserver with run-test\n\nThis will allow one to use alternative gdb frontends with run-test\ntests by pointing them at the gdbserver port.\n\nTest: ./test/run-test --host --64 --gdbserver 001-HelloWorld\n      Use VSCode to attach to localhost:5039 and debug dalvikv64\n\nChange-Id: I87f31f035d4192e786b152be43d8415dc7e0f210\n"
    },
    {
      "commit": "2807614fcef6280c78e3987289fe345a770ca5c2",
      "tree": "e9efd9037a0ad7785f5f24ae36b37916a1988ed2",
      "parents": [
        "d7d3f6fa1870b9e9b8f58ab7854e5eeee071ba2e"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jan 10 16:39:25 2019 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jan 10 18:14:28 2019 +0000"
      },
      "message": "Add support for option `--android-runtime-root` to ART run-test scripts.\n\nAlso have testrunner.py honor `ART_TEST_ANDROID_RUNTIME_ROOT` and pass\nits value via `--android-runtime-root` to art/test/run-test (for\ntarget testing).\n\nThese changes are needed for the interim period where\n- we have code running on the ART Buildbot using\n  `ANDROID_RUNTIME_ROOT` to locate files on device (namely ICU code\n  looking for ICU .dat prebuilt files); and\n- the Runtime APEX is not (yet) available on all environments where\n  ART is running (namely the ART Buildbot).\n\nTest: Rely on the ART Buildbot.\nBug: 121117762\nBug: 119293618\nBug: 113373927\nChange-Id: I83bbb2442f15ed82eee3369dad1d249227bb3442\n"
    },
    {
      "commit": "20802ca8210fb9e86433fcdd5b67dbfc760f82b5",
      "tree": "95a9e76b0599718cb4b74463a012626b99298b1c",
      "parents": [
        "3cd5a75c4fb4ab87baa1699085a664979013a084"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 05 15:36:03 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Dec 10 13:20:56 2018 -0800"
      },
      "message": "Add buildbot target using linux_bionic zipapex\n\nAdds art-linux-bionic-x64-zipapex target config. This target uses\nbinaries from the com.android.runtime.host zipapex to execute the art\nrun-test suite.\n\nTest: ./test/testrunner/run_build_test_target.py -j72 art-linux-bionic-x64-zipapex\nBug: 120436895\nChange-Id: Ie0cb1b7489f698dfb4f7f6d01a4c99701343cfff\n"
    },
    {
      "commit": "680cbf205f4560c22d96ed6f3296eb25125d99d6",
      "tree": "7e455c872744007bb04dcda59221d0288466d986",
      "parents": [
        "23d3ed8c124f239d26a583f9d096b22f7f6677d1"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Oct 31 11:00:19 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 06 10:34:35 2018 -0800"
      },
      "message": "Enable building art and tests with linux_bionic\n\nA linux_bionic built runtime can be created by modifying the\n$OUT_DIR/soong/soong.config json file to add a \u0027\"Host_bionic\": true\u0027\nentry and then running the following command:\n\n% m --skip-make $OUT_DIR/soong/host/linux_bionic-x86/\u003ctarget-file\u003e\n\nA script \u0027tools/build_linux_bionic_tests.sh\u0027 was also added that will\nbuild linux-bionic versions of host-test related files.\n\nAlso modify tests so they can be run.  Currently all run-tests pass\nwhen run on a linux_bionic host build. All gtests pass except for the\nfollowing 9 tests:\n  ArmVIXLAssemblerTest.VixlJniHelpers\n  ArmVIXLAssemblerTest.VixlLoadFromOffset\n  ArmVIXLAssemblerTest.VixlStoreToOffset\n  DwarfTest.DebugFrame\n  DwarfTest.DebugFrame64\n  DwarfTest.x86_64_RegisterMapping\n  DwarfTest.DebugLine\n  DwarfTest.DebugLineSpecialOpcodes\n  DwarfTest.DebugInfo\n\nSince these tests must be run manually without the standard\n(makefile-based) testrunner it\u0027s not clear yet whether these failures\nare important or what must be done to fix them. Several tests had\ndependencies on the actual location of the libart library that needed\nto be fixed, these tests might as well.\n\nTest: ./tools/build_linux_bionic_tests.sh\nTest: ./test/testrunner/testrunner.py --no-build --host --64 --run-test-option\u003d--bionic\nTest: find $OUT_DIR/soong/host/linux_bionic-x86/nativetest64 -mindepth 2 -type f | while read abc; do $abc; done | tee all-tests.txt\nTest: tail -n +0 -f all-tests.txt | grep FAILED\n\nBug: 31559095\nBug: 118778408\nChange-Id: I5fae4e54371e7410678619f18fcb54a3bd34e9b0\n"
    },
    {
      "commit": "0aa7a5a6a7bc350b79351f52e26c97747e927acf",
      "tree": "a583889668d9703d16d37586d56421bd27c62661",
      "parents": [
        "e12575640dca5118bf96245f373acda276c22178"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Oct 10 15:58:14 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Oct 11 16:41:54 2018 -0700"
      },
      "message": "Revert^4 \"JVMTI PopFrame support\"\n\nThis reverts commit 202b617acf477e8e8e11915f467120a0bd518e74.\nThis unreverts commit 202b617acf.\nThis unreverts commit 88a2a9d7a1.\n\nThere were several bugs with the implementation of pop-frame related\nto interactions between the jit, exception handling, class-loading,\nand deoptimization.\n\n- We were instrumenting the target thread stack in cases where it was\n  unnecessary which caused the exception handler to incorrectly\n  determine that a method was not deoptimizable. This caused the\n  pop-frame to be ignored.\n\n- We were incorrectly sending ExceptionCatch events if an exception\n  suppressed by pop-frame would have been caught in the current frame.\n\n- We were allowing pop-frame to be used on threads suspended in the\n  ClassLoad or ClassPrepare events despite having surprising semantics\n  in that situation (see b/117615146).\n\nNeeded to modify test 1953 slightly for inclusion in CTS. I needed to\nmake the CTS entrypoint not run the class-load tests (since the cts\nconfiguration means the classes are loaded by the verifier and not the\ninterpreter). I updated the expected.txt and check script to reflect\nthis.\n\nReason for revert: Fixed issue causing Exception events to sometimes\n                   eat PopFrame and other issues.\n\nTest: ./test.py --host\nTest: ./art/tools/run-libjdwp-tests.sh --mode\u003dhost\n\nBug: 73255278\nBug: 111357976\nBug: 117533193\nBug: 117615146\n\nChange-Id: I655c4fe769938cf41d7589f931d6710cf2001506\n"
    },
    {
      "commit": "4519b9d28719a726c09ef8e02b00ea93ea9f6f03",
      "tree": "687ebaa5b5560017f67cc676b25c573d9aa434b0",
      "parents": [
        "a2da9b99fa1ea3d25d52da71308a623b2aae216c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 10 15:21:21 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 10 18:05:48 2018 +0100"
      },
      "message": "Make the boot image always multi-image.\n\nDeprecate the --multi-image option.\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\nBug: 77856493\nChange-Id: I01fd02341cb4dc4fa75a388071694b51ba0bc5f7\n"
    },
    {
      "commit": "a2da9b99fa1ea3d25d52da71308a623b2aae216c",
      "tree": "5533be23eee7c24b68b1b72272cbae3f35a708cb",
      "parents": [
        "dc3b4670b170b39a8bd6498d4de69c1513af1db2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 10 14:21:55 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 10 15:25:26 2018 +0100"
      },
      "message": "ART: Completely remove the --compile-pic option.\n\nAnd the PIC-related fields from image header.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --optimizing\nBug: 77856493\nChange-Id: I3787369378f12d8cd9003bebeae62830a67def33\n"
    },
    {
      "commit": "acc56ac6a33a23abbf4a9a62528e352ea28c5407",
      "tree": "e1dd4569fd5b49879ec8dfd1b5ef5204a1084407",
      "parents": [
        "4ca6cc7ddcbd568b365c428371ea9675799775af"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 09 08:45:24 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 10 11:10:08 2018 +0100"
      },
      "message": "Introduce a \u0027baseline\u0027 variant for the compiler.\n\nImplemented as a stripped down version of the optimizing compiler,\nnot running any optimization.\n\nAdjust code to still work with expectations in code generators.\n\nbug: 111397239\n\nTest: test.py --baseline\nChange-Id: I4328283825f9a890616e7496ed4c1e77d6bcc5dd\n"
    },
    {
      "commit": "202b617acf477e8e8e11915f467120a0bd518e74",
      "tree": "4d1124b540984f970acaf494f4fd85cc347fbd57",
      "parents": [
        "1c7b1fcf0ff29d83d13d38d0451a54474ccf5964"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 10 07:47:58 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 10 07:47:58 2018 +0000"
      },
      "message": "Revert \"Revert^2 \"JVMTI PopFrame support\"\"\n\nThis reverts commit 1c7b1fcf0ff29d83d13d38d0451a54474ccf5964.\n\nBug: 73255278\nBug: 111357976\nbug: 117533193\n\nReason for revert: Test failures\n\nChange-Id: I9da863fd95264007c4efeb85539e704e83499dcf\n"
    },
    {
      "commit": "1c7b1fcf0ff29d83d13d38d0451a54474ccf5964",
      "tree": "b978817acd252f10bd4648d3582ac9459fc9a0f4",
      "parents": [
        "59b950f53152c169464ba8c63d44102eeba1e594"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Oct 05 23:42:12 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 08 13:18:35 2018 -0700"
      },
      "message": "Revert^2 \"JVMTI PopFrame support\"\n\nThis reverts commit f67d0cbf2743b29aa6e1be7ae2f71762b8762785.\n\nRedefine-stress causes classes to be loaded at slightly different\nplaces due to the deep verification needed to redefine a class. This\nwould cause the parts of tests 1953 and 1954 to fail due to classes\nloading at unexpected times. We changed the test to skip these\ntest-cases when they cannot be correctly executed.\n\nReason for revert: Fixed issue causing tests to fail under\n                   redefine-stress\nTest: ./test.py --host\nTest: ./art/tools/run-libjdwp-tests.sh --mode\u003dhost\nTest: ./test/testrunner/testrunner.py --host --redefine-stress\nBug: 73255278\nBug: 111357976\nChange-Id: I46fb4aed878bcc9398f2b73ad5040d7c97aec3ef\n"
    },
    {
      "commit": "068a9bec8d637ce907f6c2829b772a99cae60611",
      "tree": "f099925c0269895935c9eea9a0caca8e8f801dce",
      "parents": [
        "bc550bbbf2fcd82b5b888683a4e3708a26d0efe6",
        "f67d0cbf2743b29aa6e1be7ae2f71762b8762785"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Oct 05 23:41:16 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 05 23:41:16 2018 +0000"
      },
      "message": "Merge \"Revert \"JVMTI PopFrame support\"\""
    },
    {
      "commit": "f67d0cbf2743b29aa6e1be7ae2f71762b8762785",
      "tree": "b0b1b8a1908541791bfeb18c1117482d559ded38",
      "parents": [
        "88a2a9d7a14b67e10525d93b0ee57d9dd6bc345a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Oct 05 23:39:54 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Oct 05 23:40:30 2018 +0000"
      },
      "message": "Revert \"JVMTI PopFrame support\"\n\nThis reverts commit 88a2a9d7a14b67e10525d93b0ee57d9dd6bc345a.\n\nReason for revert: Fails class-load/prepare tests with jit-at-first-use.\nBug: 73255278\nBug: 111357976\nTest: None\nChange-Id: Id8dea6dcf124d56e3a8dfa19e6ed39cc70370c34\n"
    },
    {
      "commit": "dd0f77c4006544a58a82cb90088ee3d8dedb86e1",
      "tree": "9203806e4016928577872e5c1401b876a5d519d7",
      "parents": [
        "c6adcbdb278aa2e235c39e69e7b5421ad560d9f4",
        "88a2a9d7a14b67e10525d93b0ee57d9dd6bc345a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Oct 05 17:58:45 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 05 17:58:45 2018 +0000"
      },
      "message": "Merge \"JVMTI PopFrame support\""
    },
    {
      "commit": "88a2a9d7a14b67e10525d93b0ee57d9dd6bc345a",
      "tree": "a19af813a97be817a76072534139a77b16f3ad87",
      "parents": [
        "fc7d33fc052d993eaa205337e6a805022d2cd822"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Mar 14 14:44:29 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Oct 04 11:04:49 2018 -0700"
      },
      "message": "JVMTI PopFrame support\n\nImplement support for the JVMTI can_pop_frames capability. This works\nby marking shadow-frames with a bit that forces it to be popped or an\ninstruction to be retried. When a PopFrame is requested the plugin\nwill deoptimize the targeted thread and force the interpreter to deal\nwith the frame pop. If the can_pop_frames capability is enabled the\nruntime will be forced to handle all exceptions through the\ninterpreter. This is required to support PopFrame during some\nexception events.\n\nTest: ./test.py --host\nTest: ./art/tools/run-libjdwp-tests.sh --mode\u003dhost\nBug: 73255278\nBug: 111357976\nChange-Id: I62d6b1f4ff387c794ba45093c3d6773aaf642067\n"
    },
    {
      "commit": "c3f4df7f2db4add3251846ca129c0f67e76f8664",
      "tree": "a095eb40286c18519be6ba46bfe6985644a001c9",
      "parents": [
        "a39a8978d2da1830a480d1a097e31e0607558b46",
        "12371e99a73cca0d73f209552aba9ecb10388aa5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 03 11:27:14 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 03 11:27:14 2018 +0000"
      },
      "message": "Merge \"Support a relative OUT_DIR\""
    },
    {
      "commit": "a497a39fe8830fe7b1c1c23b413753fe4e12923b",
      "tree": "c1f02f404feefb94fa105a563f0e6c1146ab22b8",
      "parents": [
        "d6266f3292eab5b043262c6366ed6b8131e152c5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Sep 26 10:52:50 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 02 08:54:11 2018 +0100"
      },
      "message": "Remove patchoat.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nBug: 77856493\nChange-Id: I6686ce9d23e02aa8b8ef4081b302dbd860d07718\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": "64fe3be84105db1a8f35550ae0a3c06f1092d436",
      "tree": "22f91ab45b3c8b1d940e83a0fd24b851be32949c",
      "parents": [
        "cca7cb9ffa56d8ab8fd0c5997c8bfd965d7426c1"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jun 15 12:50:22 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Jun 26 14:08:29 2018 +0000"
      },
      "message": "ART: Retire desugar and dx in run-tests\n\nRun-tests now use d8 for desugaring and dexing.\n\nBuild scripts no longer have hand written dexer invocations.\n\nBug: 110150973\nBug: 73711890\nTest: art/test.py --host --64 -r\nTest: art/test.py --target --prebuild --optimizing -r\nChange-Id: Iae2199cf756624c1f045de7777c5ee6432398bd2\n"
    },
    {
      "commit": "d0566d41aa32fcbcb255415b0fd67baf1d206919",
      "tree": "c58805b79fa25be6f2e865d37fbfbc0d5d89ee40",
      "parents": [
        "45b12e704e158f29877c78bd9a8406db7e361537"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 06 09:54:34 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 14 08:21:15 2018 -0700"
      },
      "message": "ART: Add native bridge \"support\" to run-test\n\nAdd detection of a native-bridge device to run-test. Right now it\nonly recognizes x86+arm (and will only set x86).\n\nIn a follow-up, the test runner needs to be restricted to not\nrun 64-bit tests on such a configuration.\n\nBug: 109714550\nTest: art/test/run-test --dev 001-HelloWorld\nTest: art/test/run-test --dev --64 001-HelloWorld\nChange-Id: Ib91086745084e3281725e86619811332d0be7054\n"
    },
    {
      "commit": "6aa4e0d6d54fd061387f1ffc88ea2f96daad9425",
      "tree": "a32e92af207cf7158440f384a1a86b1e172fe642",
      "parents": [
        "ebf5902272613d8bb563ae312ec5ce2580a59bb7"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri May 25 09:39:16 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri May 25 09:39:16 2018 +0100"
      },
      "message": "ART: Fix run-test invocation for jvm tests\n\nAdd check in testrunner.py to conditionally add \"--compact-dex-level\".\n\nAdd check in run-test to warn if the test argument is missing to avoid\ncryptic failure.\n\nTest: art/test.py --host --jvm -r -t 526\nChange-Id: I73c6f9654656ada79553e536546464e267c66053\n"
    },
    {
      "commit": "4a1cac420b34cc23458742e0deb67116b69b93eb",
      "tree": "9f8cde8c7b94b14b5597a3c8e7b9a0e641437201",
      "parents": [
        "d804b76c0b8f9d2c94f3a8648aba26254742a1e2"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed May 23 16:23:27 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu May 24 09:54:59 2018 +0100"
      },
      "message": "ART: Remove jack from test\n\nTest: art/test.py --host\nChange-Id: I31b0c0d57d344f54a8c0545fd32c81a893b4ec75\n"
    },
    {
      "commit": "76cfe61b0c20f7c9d9ba9b60b188f483d81c5f68",
      "tree": "7ac27f14dedefc355c9f890d339397b8fdcb3e52",
      "parents": [
        "b865d9af3bb5f4777dbe9cbd60cdb2a8fe5f0557"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Oct 30 13:14:28 2017 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue May 08 13:55:56 2018 +0100"
      },
      "message": "Support ART on-device testing in a chroot environment.\n\nThis change updates the ART test rules and scripts to allow\ninstallation and ART testing in a chroot directory on device.\n\nAll existing ART testing is supported:\n- ART gtests (with and without Valgrind).\n- ART run-tests.\n- libcore tests (with companion CL in external/vogar).\n- JDWP tests (with companion CL in external/vogar).\n\nTest: Run ART tests (gtest, run-tests, libcore tests, JDWP tests) in chroot\nBug: 34729697\nBug: 68125496\nChange-Id: I398e9bafee61eccd98d827ab8d9b8f6395aaa853\n"
    },
    {
      "commit": "cf2de16a293583932b331548e87d60603ddca4e0",
      "tree": "30dd3e4100978607be7b6a0bb126894e0112de83",
      "parents": [
        "5430e68ddee3178445536cca710412808afa3cad"
      ],
      "author": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Fri Mar 30 20:18:20 2018 +0000"
      },
      "committer": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Tue Apr 03 16:54:35 2018 -0700"
      },
      "message": "Revert \"Revert \"Move most art test off DX\"\"\n\nThis reverts commit 0e3a6addf60cbf006536d05aebe652e7ccddcd70.\n\nReason for revert: The failing test (036-finalizer) is fixed by\nhttps://android-review.googlesource.com/637929 .\n\nTest: run-test --gcstress 036-finalizer \u0026\u0026 run-test 651-checker-simd-minmax\n\nChange-Id: Ib5efbd4abc57b26f7dfcf73edf201d7145fe8781\n"
    },
    {
      "commit": "0e3a6addf60cbf006536d05aebe652e7ccddcd70",
      "tree": "8fd20108950bdb0a28a85b2615b7463bf7e12263",
      "parents": [
        "9222417fdcf7c504fe86fa88b8a77363cb941e11"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Mar 28 09:58:22 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Mar 28 09:58:22 2018 +0000"
      },
      "message": "Revert \"Move most art test off DX\"\n\nReason for revert: 036-finalizer broken for gcstress configs\n\nNote: The run-test script changes do not seem to allow\nfallback to DX. That also puts into question the need\nfor the new \"build\" scripts in many tests.\n\nBug: 65168732\n\nThis reverts commit 9222417fdcf7c504fe86fa88b8a77363cb941e11.\n\nChange-Id: I990167267ac01174cc612cac87dbacd77dec8a45\n"
    },
    {
      "commit": "9222417fdcf7c504fe86fa88b8a77363cb941e11",
      "tree": "f05543c90e4ca5abe0ba67978ad960856b040327",
      "parents": [
        "2f13276ff44dc56784abf82541c485f1b914d867"
      ],
      "author": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Fri Mar 23 11:30:36 2018 -0700"
      },
      "committer": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Tue Mar 27 10:56:12 2018 -0700"
      },
      "message": "Move most art test off DX\n\nWe should move testing to D8 as dexer and prevent further\naccumulation of DX dependent tests from being checked in.\n\nBug: 65168732\nTest: run-test ... 646-checker-hadd-alt-short \u0026\u0026 run_build_test_target.py art-test \u0026\u0026 run_build_test_target.py -jvm\n\nChange-Id: Ibb76eb82b9517ae4bec2b031bab6eb782909d745\n"
    },
    {
      "commit": "d5cbc56de42b1de0dfe64bbbf3d25b9806811862",
      "tree": "3389baf78a4daeecc78ec6020a8630e5b0a2a8fb",
      "parents": [
        "753ce1bcf458ad6c6fbb41689901943d44e7738e"
      ],
      "author": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Thu Mar 15 14:02:46 2018 -0700"
      },
      "committer": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Tue Mar 20 15:39:17 2018 -0700"
      },
      "message": "Replace DX DexMerger with D8 in platform\n\nBUG: 73981693\nTest: art/test.py --verbose -j200 --host -b\nChange-Id: Idf7b71807019aca91094f69dba8c6b62e1a6bf16\n"
    },
    {
      "commit": "2de6e083df95afcc27ab2c37a82448f927cb0d87",
      "tree": "fd0ef6bcb94b4047024b89ced331cdf41f9ed863",
      "parents": [
        "7b414bac4b69309498cb8d0264cf152e4f328db6"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 28 15:25:23 2018 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Mar 01 15:41:07 2018 -0800"
      },
      "message": "run-test: Build against libcore for Android device and host targets.\n\n--jvm will build against the RI bootclasspath\n--host will build against the host libcore bootclasspath\n(implied --target) will build against the target libcore bootclasspath\n\nAlso fix other tests that were relying on building against OpenJDK.\n\nBug: 72491947\nTest: art/test/testrunner/testrunner.py --jvm\nTest: art/test/testrunner/testrunner.py --host\nChange-Id: Ib7ce6740cda544797604200341578f8191f4b2b4\n"
    },
    {
      "commit": "f34ac496bfa6a53a42460e59edffd2a582590947",
      "tree": "3c27cc9dc503c7f603a370563df0e1272ebad8d2",
      "parents": [
        "a1322f062616c7979da49d2c2198eabb6b7b259d"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Feb 21 03:58:43 2018 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Feb 21 03:58:43 2018 +0000"
      },
      "message": "Revert \"Stress profile saving for gc-stress tests\"\n\nThis reverts commit a1322f062616c7979da49d2c2198eabb6b7b259d.\n\nReason for revert: some tests are failing \n\nChange-Id: Ib8015f3f2d3a22db8f59a5fb2fecff5b1cad97c4\n"
    },
    {
      "commit": "a1322f062616c7979da49d2c2198eabb6b7b259d",
      "tree": "1fe9765b364868d8a0b5b13d670023602e5a453d",
      "parents": [
        "02c08794435da77724486a5170d1733f760bc8af"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Feb 19 13:26:39 2018 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Feb 19 13:28:32 2018 -0800"
      },
      "message": "Stress profile saving for gc-stress tests\n\nForce profiling saving for gc-stress configuration. It will verify the\ninteractions between profile saving and GC.\n\nTest: run-test\nBug: 62004634\nChange-Id: Ia6f76debedd39353b210975fe95b155f63b1fa57\n"
    },
    {
      "commit": "21dca7396476df0d3f09dee7058e1e175b8a21df",
      "tree": "45c22aa065247825c7e7013bd7073278fd4f790c",
      "parents": [
        "0e9d0908a9462f8cc8881ae9a54e4fa131f3c3ea",
        "baeaa9b4517cfb8876369ff33c2bb92ff9c79ef1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 01 14:27:07 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 01 14:27:07 2018 +0000"
      },
      "message": "Merge \"dex2oat: Accept .dm files.\""
    },
    {
      "commit": "baeaa9b4517cfb8876369ff33c2bb92ff9c79ef1",
      "tree": "4c056b6847e958b58d8532159f5c15f9fbc0287a",
      "parents": [
        "b3c0c8086f85d415a3425bc17373e4c792d64b47"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 26 14:31:17 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 01 11:54:00 2018 +0000"
      },
      "message": "dex2oat: Accept .dm files.\n\nAnd locate primary.vdex in it to do fast verification.\n\nbug: 63920015\nTest: 674-HelloWorld-Dm\nChange-Id: If920a6c7e4856a047a24bd30b049ef1ee16d7c1f\n"
    },
    {
      "commit": "122c663a57088a373fb9c31c3f0b78993385f6e5",
      "tree": "b1bf9761dad6177447a20b122cc09948dd996d45",
      "parents": [
        "2b1a21ed3581f77f34d582507177ebce33565534"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 24 17:32:49 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 24 17:32:49 2018 +0000"
      },
      "message": "Change path to hiddenapi for run-tests\n\nSome test runners don\u0027t seem to have ANDROID_HOST_OUT in their PATH.\nMake it explicit.\n\nTest: art/test.py --host -b -r -t 674-hiddenapi\nChange-Id: Ie9c8ad7738eaeeb06909397fc056ddd57fbc7a70\n"
    },
    {
      "commit": "11b67b201adb173d5f6f1b7a3fd337fda91e200f",
      "tree": "90870c2ec271002ab36cb57484c185076e424f3a",
      "parents": [
        "8714435022757567aa078601f54244b8339bbed1"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jan 18 16:41:40 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 24 14:21:50 2018 +0000"
      },
      "message": "Set up a test for hidden API enforcement\n\nSubmitting the test first for easier review. The expected outcome\nis that all currently class members are discoverable and accessible.\nFuture CLs will implement the enforcement and change the expected\noutcome.\n\nThe test itself has two JARs - parent declares classes and child\ntries to access them using reflection, JNI and static linking.\nThe test driver (\"Main\" class) loads these JARs as follows:\n(a) both with class loaders\n(b) parent in boot class path, child with class loader\n(c) both in boot class path\n\nIn (a), there should be no enforcement as the JAR does not have\nhidden API access flags (would not load otherwise). In situation(b),\nchild should only be allowed to access parent\u0027s public, non-hidden\nmembers. And in (c), parent contains hidden API access flags but\nchild is exempt from access checks.\n\nBug: 64382372\nTest: art/test.py -b -r -t 674-hiddenapi\nChange-Id: I19f5f7c30c0c7913703209817d36006b161c6778\n"
    },
    {
      "commit": "93d6846bff241fe104d681e078f66dc40daf39d8",
      "tree": "e29332aad50d0cea7d55f443ddf5dfe0d39e5d63",
      "parents": [
        "bf7fbc28a885d50a336eb7a191d24dc15f075360"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 02 11:59:45 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 02 11:59:45 2018 +0000"
      },
      "message": "Revert \"Rename ANDROID_PRODUCT_OUT -\u003e PRODUCT_OUT.\"\n\nUsing ANDROID_PRODUCT_OUT is actually the right thing to do.\n\nThe reason the bots failed was because I\u0027ve changed their export to PRODUCT_OUT. I\u0027ve reverted that change here:\nhttps://chromium-review.googlesource.com/c/chromium/tools/build/+/847512\n\nThis reverts commit bf7fbc28a885d50a336eb7a191d24dc15f075360.\n\nChange-Id: Ic67586bc33b8921dd20946238b59fe522fe784dd\n"
    },
    {
      "commit": "bf7fbc28a885d50a336eb7a191d24dc15f075360",
      "tree": "f9e4665f4d41b0fdd202d8461c725e948cf6116c",
      "parents": [
        "a13628ed118c821eef5e2eaf76a9b17ac27a405f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 01 21:13:46 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 01 21:18:56 2018 +0000"
      },
      "message": "Rename ANDROID_PRODUCT_OUT -\u003e PRODUCT_OUT.\n\nChange-Id: I95cb69931b9d18e26ccd75ff59d9c5d1a11a2764\n"
    },
    {
      "commit": "dcd56c9116c2dc45b40b38fbb2a55c7e33a85a45",
      "tree": "d245d2156e2638f587eec14d60e927645b81b42c",
      "parents": [
        "d5153627778e71ef68b510ce03c77467fa4d85bd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 20 20:30:24 2017 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Dec 08 10:56:08 2017 -0800"
      },
      "message": "Add --cdex-fast and --cdex-none variant to testrunner\n\nAdded --cdex-fast and --cdex-none variant options. These are passed\nto ART through the compact-dex-level option.\n\nBug: 63756964\nTest: test/testrunner/testrunner.py --host --cdex-fast -j40\nTest: Commented out header writing in compact_dex_writer.cc and confirmed tests fail.\n\nChange-Id: I408555b48286d2c4c5eca72e2cabe956aa1e9835\n"
    },
    {
      "commit": "0e151e7940edd31c1dc332d0b56fa9295f08c6f7",
      "tree": "3a91d116134dfae5695d19dffa23ae2210227da1",
      "parents": [
        "31275df5ea1b91ed668618d6ec64a76d67cee73c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Oct 25 10:50:35 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Oct 26 11:47:20 2017 -0700"
      },
      "message": "Add agent for printing breakpoints\n\nThis can be used to test performance of breakpointed code in a\nlightweight way or to ensure that code is reaching expected locations.\n\nSee tools/breakpoint-logger/README.md for information on how to use.\n\nAlso added the ability to pass explicit agents for run-test to load\nbefore running tests.\n\nTest: ./test/run-test                                                 \\\n        --host                                                        \\\n        --dev                                                         \\\n        --with-agent                                                  \\\n        \u0027libbreakpointlogger.so\u003dLMain;-\u003emain([Ljava/lang/String;)V@0\u0027 \\\n        001-HelloWorld\n\nBug: 68259370\n\nChange-Id: I409c940a34b1e823ec50649cdb3c51e5a81a09ab\n"
    },
    {
      "commit": "1949baf64471241cb9bd59ca2b61be24b4320528",
      "tree": "cdfb4fcf6b9ad60d441a4def9b505d355ffbacce",
      "parents": [
        "c2176669b4c8ee7622609d07ccca0524e6628471"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 17 12:14:53 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 17 12:14:53 2017 +0000"
      },
      "message": "Revert \"Force OSR compilation on all compilations.\"\n\nChange was temporary.\n\nThis reverts commit c2176669b4c8ee7622609d07ccca0524e6628471.\n\nChange-Id: Iaa039c166827da983f757acc168e0c0f49daec4e\n"
    },
    {
      "commit": "c2176669b4c8ee7622609d07ccca0524e6628471",
      "tree": "1bcc30e005054118c5d37b2cb792b39038afa34b",
      "parents": [
        "b73cc5dece8bf95935e03ff86b9a314872886299"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 12 11:11:01 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 17 10:00:35 2017 +0000"
      },
      "message": "Force OSR compilation on all compilations.\n\nTemporary change to trigger tests. Will revert once enough\nbuilds have been triggered.\n\nAlso disable checker tests and $noinline$ checks.\n\nbug: b/66752868\nTest: test.py\nChange-Id: Idee456fea4c9e43dfc52e766bbd98408e0bbd4e8\n"
    },
    {
      "commit": "c281ba5fc8d36d0452b666b08321962a6a90e188",
      "tree": "93a1bc064b3b7e47ea100791be708d5cc6880a46",
      "parents": [
        "a7d81f1764e8690883a955f305019fd5e32e11c0"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Oct 11 11:35:55 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Oct 13 00:08:24 2017 +0000"
      },
      "message": "Make it easier to run libjdwp.so as debugger for run-test\n\nAdds a --debug-agent argument to run test that allows one to specify\nthe path for a debugger JVMTI agent. Also adds a --debug-wrap-agent\noption that makes the agent specified by --debug-agent use\nlibwrapagentproperties to ensure compatibility.\n\nCurrently this only supports host use.\n\nAlso refactored JVMTI plugin loading slightly since it was getting\nto be required by a large number of different options.\n\nTest: ./test/run-test \\\n         --debug-agent $ANDROID_JAVA_HOME/jre/lib/amd64/libjdwp.so \\\n         --debug-wrap-agent \\\n         --64 \\\n         --host \\\n         001-HelloWorld\n\nBug: 67752243\n\nChange-Id: Ie0b38999826cc09651a6d100be6acccf79e706dc\n"
    },
    {
      "commit": "0afa07af28def04784678599d68b3634c36cbb47",
      "tree": "fdeb4a301ffeb336bfe955526788a81404b87dd3",
      "parents": [
        "8cdfac752808784d29185710095ad104922cd861"
      ],
      "author": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Tue Oct 03 16:56:30 2017 -0700"
      },
      "committer": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Tue Oct 03 16:57:29 2017 -0700"
      },
      "message": "Use D8 based the default in build var.\n\nChange-Id: I94dd97dcf0ada9a600ea7de9f3faeb6561971cf0\n\nTest:  art/test.py --host  -b -r  -t 911-get-stack-trace\n"
    },
    {
      "commit": "77fee87b262e969b29a9ac121a8bcbf87b68d9ce",
      "tree": "3280ba8d887045217bfbcb81eb624f571eeee7d0",
      "parents": [
        "ec995142998f6c7371734e6df95b5e2c80b18d27"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Sep 05 14:51:49 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Sep 14 09:57:03 2017 -0700"
      },
      "message": "Add support for JVMTI monitor events.\n\nAdds support for the JVMTI can_generate_monitor_events capability and\nall associated events. This adds support for the\nJVMTI_EVENT_MONITOR_WAIT, JVMTI_EVENT_MONITOR_WAITED,\nJVMTI_EVENT_MONITOR_CONTENDED_ENTER, and\nJVMTI_EVENT_MONITOR_CONTENDED_ENTERED events.\n\nBug: 65558434\nBug: 62821960\nBug: 34415266\n\nTest: ./test.py --host -j50\n\nChange-Id: I0fe8038e6c4249e77d37a67e5056b5d2a94b6f48\n"
    },
    {
      "commit": "981d99c84e458d835f8417293389ca4d45fa5242",
      "tree": "a24a28bdb970abf84c036ec455c19a651ef0ff3f",
      "parents": [
        "70f94cace70be42861ba0a433cfe4bdf6c892f7c"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Thu Aug 17 14:11:08 2017 -0700"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Tue Aug 29 10:11:22 2017 -0700"
      },
      "message": "Testrunner: Added an option to set # dex2oat-jobs for each test\n\n--dex2oat-jobs\n\nTest: test/testrunner/testrunner.py -j64 --dex2oat-jobs 15\nTest: test/testrunner/testrunner.py -j64\nBug: 64686163\nChange-Id: I2e41605b35392cbfb4e85d472cb901a766a3081e\n"
    },
    {
      "commit": "52a3c989f96984f9bc9e02620694fc44708a1df2",
      "tree": "d0b4beb13f6401eefb742973da840cc6696b808d",
      "parents": [
        "951853a68554d1bc5f50980194f1686cb5f41d83",
        "e0ef0a80878aa53d9b16495e4c72c04802ec559b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Aug 01 18:24:12 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 01 18:24:12 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"tools: Read ANDROID_COMPILE_WITH_JACK from build\"\"\""
    },
    {
      "commit": "e79ca19f6df6d24bd0e48a572602118a6b45ee3a",
      "tree": "10f1ca19f58ac9e2a334ed663ea0ff1fa80fb234",
      "parents": [
        "7f14c2ec37c70010d99cab6806d85018df56c555"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 31 10:30:16 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 31 22:14:45 2017 +0000"
      },
      "message": "ART: Add symbolization on SANITIZE_HOST failures\n\nAdd a call to development/scripts/stack on failures for SANITIZE_HOST,\nas AddressSanitizer does not symbolize its output by itself.\n\nBug: 31098551\nBug: 64221719\nBug: 64125492\nTest: m test-art-host\nTest: manual test with failure introduced\nChange-Id: Ic66059d2bb7a40da1b5d03d52b30579d39bd9d98\n"
    },
    {
      "commit": "e0ef0a80878aa53d9b16495e4c72c04802ec559b",
      "tree": "02564dd2de11c49577f693b2afbd17d801ce55ac",
      "parents": [
        "d092e7477b175853bd178eebd163b27e1ba79639"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jul 27 21:29:18 2017 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jul 27 21:29:18 2017 +0000"
      },
      "message": "Revert \"Revert \"tools: Read ANDROID_COMPILE_WITH_JACK from build\"\"\n\nThis reverts commit d092e7477b175853bd178eebd163b27e1ba79639.\n\nBug: 36902714\nChange-Id: I46699d639c0f1e8d7cc6190eebf49d023715b8cd\n"
    },
    {
      "commit": "d092e7477b175853bd178eebd163b27e1ba79639",
      "tree": "cef0433bc2a897ed8afccc8d763922505543c1db",
      "parents": [
        "08e3397d83784f67f0e5f447e25f1f791fe650f1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jul 27 06:03:00 2017 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jul 27 06:03:00 2017 +0000"
      },
      "message": "Revert \"tools: Read ANDROID_COMPILE_WITH_JACK from build\"\n\nThis reverts commit 08e3397d83784f67f0e5f447e25f1f791fe650f1.\n\nBug: 36902714\nChange-Id: I4632dab64c2b1c4b5f842be07de81eb206e88ece\n"
    },
    {
      "commit": "08e3397d83784f67f0e5f447e25f1f791fe650f1",
      "tree": "02564dd2de11c49577f693b2afbd17d801ce55ac",
      "parents": [
        "b22ae40038aeeebb16936fbf62b48f080d6e7ef4"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jul 26 13:03:00 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jul 26 14:59:58 2017 -0700"
      },
      "message": "tools: Read ANDROID_COMPILE_WITH_JACK from build\n\nThis centralizes switching the default usage of jack vs javac into the\nbuild.\n\nRun-tests changed to unconditionally use javac/dx by default\n(but this doesn\u0027t affect automation since we always go through\ntestrunner).\n\nBug: 36902714\nChange-Id: I4b733918c780878a300c0413668c53ad756038c4\n"
    },
    {
      "commit": "c38c3699b8d91c837c0e590a618aeb4860eed5cc",
      "tree": "83e300a8f9b4c065e5467f5473e25bb2451481cc",
      "parents": [
        "a26e349b960a7b4c49929a5c4bcaff56e79fbe73"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 27 15:45:14 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 28 13:48:19 2017 -0700"
      },
      "message": "Add JVMTI breakpoint and SingleStep tests\n\nTests for functionality related to the can_generate_single_step_events\nand can_generate_breakpoint_events jvmti capabilities.\n\nBug: 62821960\nTest: ./test.py --host -j40\nTest: ./test/run-test --host --jvmti-step-stress 001-HelloWorld\nTest: ./test/run-test --host --jvmti-step-stress 914\nChange-Id: Id2a4db5a6de3a97726f03f5e735c2bb77dafe4ca\n"
    },
    {
      "commit": "2c7cebd0112d15f57c0dabd9c15b9c3145a33f0b",
      "tree": "be96370c28a7ed26e10fe44ce6209c64338f759f",
      "parents": [
        "afdcd847498abc0f4e295bece443afabf8aaf868"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jun 26 14:10:02 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jun 26 14:13:22 2017 -0700"
      },
      "message": "test: Enable checker tests for javac/dx\n\n173/180 checker tests passing, the other failing 7 tests added to blacklist.\n\nTest: ANDROID_COMPILE_WITH_JACK\u003dfalse art/test.py\nBug: 62950048\nBug: 36902714\nChange-Id: I6e762efdb2de17c3b3d774e462781b7ab1a2ad73\n"
    },
    {
      "commit": "2cf565901845e4bafc663c24071c91d13c692858",
      "tree": "388eaab56dffaac54e59d2c9c3768e32a1af7188",
      "parents": [
        "fe51c7bbe0fed86bb5a77037bb24800b45e07b7e",
        "d323277bf90069dade43d8d85a86d77bf4078d98"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 23 07:26:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 23 07:26:22 2017 +0000"
      },
      "message": "Merge \"run-test: Fix bash warning with DESUGAR\u003dfalse\""
    },
    {
      "commit": "d323277bf90069dade43d8d85a86d77bf4078d98",
      "tree": "a095e765e437fd3d39efb36d7517f4efb70f0fdd",
      "parents": [
        "1c15526f612e43e2a65ba12f69f742a66e4bce10"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jun 22 14:54:13 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jun 22 14:55:06 2017 -0700"
      },
      "message": "run-test: Fix bash warning with DESUGAR\u003dfalse\n\nBash doesn\u0027t like missing space before end of ].\n\nTest: DESUGAR\u003dfalse art/test/testrunner.py --host\nChange-Id: I43e500f4f02fb9797be2677e4196f1dda173cec1\n"
    },
    {
      "commit": "43e935dfd2d16c6a1a2d120ca6b99ffabd064239",
      "tree": "c5d08d693bdbbb89a9c192d79f37a3e4150ce43d",
      "parents": [
        "7c95849fb89ccc49d601a34d09cb629f3feb4116"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 19 15:40:40 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 19 15:49:18 2017 -0700"
      },
      "message": "Add field-access/modification to ti-stress.\n\nThese tests stress jvmti FieldAccess and FieldModification.\n\nTest: ./test/testrunner/testrunner.py --host --field-stress -j40\nChange-Id: Ie2ea91e165beed73f14e8aff0adb137becdccd01\n"
    },
    {
      "commit": "e51819312bb2f5423cda853da577088633c9faf3",
      "tree": "fd1998eb2dbc29393aa2afe7e2d69982d473a0cf",
      "parents": [
        "4cf4e365a9deeb1f55f95738661ac61183e4da73"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jun 15 16:03:50 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jun 16 18:09:39 2017 +0000"
      },
      "message": "test: Skip desugar with DESUGAR\u003dfalse when running tests\n\nAllow one to skip desugar when running the tests, for example:\n\n   $\u003e ANDROID_COMPILE_WITH_JACK\u003dfalse DESUGAR\u003dfalse DX\u003d\u003cyour-dx-tool\u003e art/test.py\n\nWhy this might be useful: If building with javac and a dexer tool that\nalready processes invoke-dynamic lambdas, then desugar is redundant.\n\nBug: 36902714\nChange-Id: I39aadca4985e2aafe4b4b24ff3dc9d7a364bbad7\n"
    },
    {
      "commit": "2a33775e1500040a32e20c1e1aeb45e6c5416a15",
      "tree": "9b1af0d21383a8377277a714dce4658e031b1573",
      "parents": [
        "75e7c9cc3db9547127dbc706f9a4fade54a41600"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jun 16 14:34:40 2017 +0000"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jun 16 14:34:40 2017 +0000"
      },
      "message": "Revert \"Revert \"test: Add desugar support to run-test\"\"\n\nThis reverts commit 75e7c9cc3db9547127dbc706f9a4fade54a41600.\n\nChange-Id: I7932e27b5307bbe7b60184dd5faf24bd336aa63a\n"
    },
    {
      "commit": "75e7c9cc3db9547127dbc706f9a4fade54a41600",
      "tree": "65d634cf46190e02060f2a47929cef28e9060ca2",
      "parents": [
        "86b0db4b7b892f27c738d3d3adab28c143120ac8"
      ],
      "author": {
        "name": "Mariano Giardina",
        "email": "giardina@google.com",
        "time": "Thu Jun 15 11:32:51 2017 +0000"
      },
      "committer": {
        "name": "Mariano Giardina",
        "email": "giardina@google.com",
        "time": "Thu Jun 15 11:35:00 2017 +0000"
      },
      "message": "Revert \"test: Add desugar support to run-test\"\n\nCollateral effect after rollback \nhttps://android-review.googlesource.com/#/c/416319/\n\nThis reverts commit 86b0db4b7b892f27c738d3d3adab28c143120ac8.\n\nChange-Id: Icc8e2acabbd2ffe1ad290cd641da70cf63a7041c\n"
    },
    {
      "commit": "86b0db4b7b892f27c738d3d3adab28c143120ac8",
      "tree": "9b1af0d21383a8377277a714dce4658e031b1573",
      "parents": [
        "19a4d0f01f850b86921e67b3f1d9834d5ce94ee3"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 13 15:57:34 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jun 14 16:33:38 2017 -0700"
      },
      "message": "test: Add desugar support to run-test\n\nThis fixes 17 tests with javac/dx, but breaks 5 new ones.\n\nNet tests fixed: 12. Remaining broken tests: 42.\n\nTest: ANDROID_COMPILE_WITH_JACK\u003dfalse art/test.py\nBug: 36902714\nChange-Id: I41e498d59a57e10bb37cef1bd1f197cc6defff9e\n"
    },
    {
      "commit": "b7edcda968bb0cbaa69a3ad387fcd3194f5612be",
      "tree": "50748aac195d20a7e8f6d59a6e499f3fe69418de",
      "parents": [
        "049f2a58ea9276dfd162760271ad443570f2e660"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Apr 27 13:20:31 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jun 09 10:54:02 2017 -0700"
      },
      "message": "Add method tracing JVMTI callbacks\n\nAdd MethodEntryHook and MethodExitHook callbacks and associated\ncapabilities.\n\nSplit --jvmti-stress option in run-test into --jvmti-trace-stress and\n--jvmti-redefine-stress to test each different component.\n\nNB 3 differences from RI found:\n  1) RI will call methodExitHook again if the method exit hook throws\n     an exception. This can easily cause an infinite loop and the test\n     is specifically tweaked to prevent this from happening on the RI.\n  2) RI always includes the method being exited in the stack trace of\n     errors thrown in the hooks. In ART we will not include the method\n     if it is native. This is due to the way we call native methods\n     and would be extremely difficult to change.\n  3) The RI will allow exceptions thrown in the MethodEnterHook to be\n     caught by the entered method in some situations. This occurs with\n     the tryCatchExit test in 989. In ART this does not happen.\n\nBug: 34414073\nTest: ./test.py --host -j40\nTest: ART_TEST_FULL\u003dtrue DEXTER_BINARY\u003d\"/path/to/dexter\" \\\n      ./test/testrunner/testrunner.py --host -j40 -t 988\nTest: ART_TEST_FULL\u003dtrue DEXTER_BINARY\u003d\"/path/to/dexter\" \\\n      ./test/testrunner/testrunner.py --host -j40 -t 989\nTest: lunch aosp_angler-userdebug; \\\n      m -j40 droid build-art \u0026\u0026 \\\n      fastboot -w flashall \u0026\u0026 \\\n      ./test.py --target -j4\n\nChange-Id: Iab229353fae23c2ea27c2b698c831627a9f861b1\n"
    }
  ],
  "next": "f654ef9c7003028fb8bb03f4ead3019795c52214"
}
