)]}'
{
  "log": [
    {
      "commit": "ce9b902a161b86eb2d5ef9fe4442305e25828d0a",
      "tree": "3108d6315b779816b076b220870748631235e2ea",
      "parents": [
        "a8f858e4eddeede8c465cc5b9fb40733e4649aed"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Wed Jul 21 10:44:06 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 27 16:56:08 2021 +0000"
      },
      "message": "Reland: Support pass BCP art/vdex/oat files by FD\n\nThe original implementation in odrefresh generated inconsistent number\nof files between jars and other files. The code is reworked.\n\nOriginal description:\n\nThis is currently used by odrefresh.\n\nMain runtime changes are:\n\n1. When reading the image header, also tries to read from the FD if\n   provided.\n\n2. Initialize the art/vdex/odex FDs in the boot image chunk if provided.\n   This allows them to be opened (in case if the file is not accessible\n   by path) in LoadComponents.\n\n3. OpenBootDexFiles: accept BCP JARs passed as FD, in case if the file\n   is not accessible by path.\n\n4. The new FDs are passed from new runtime args,\n   -Xbootclasspath{art,vdex,oat}fds.\n\nIt is used in odrefresh to pass the previous output of BCP extensions to\nbe used in the next phase, system server compilation.\n\nBug: 193720426\nTest: odrefresh --use-compilation-os\u003d10 --force-compile # exit 80\n      odrefresh --verify # exit 0 (was 79 previosly)\nTest: Verify the checksum of output files are the same, with\n      --use-compilation-os or not, i.e. regardless where the compilation\n      happens\nTest: mma in art/\nTest: odsign_e2e_tests\nChange-Id: Ie3ae48c7d70a2779cfbd80b307199a0f327c895c\n"
    },
    {
      "commit": "d7a4da1f357e089c5d150559d8d2f2ddb7c4958a",
      "tree": "bde88500eac9eda86031cfe8536241dfc79e12d2",
      "parents": [
        "2cb2527d4136f681b8e79352c546e65431ceb10c"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jul 23 15:05:49 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jul 23 14:16:27 2021 +0000"
      },
      "message": "Revert \"Support pass BCP art/vdex/oat files by FD\"\n\nThis reverts commit b1adfc2a0570f52d74b8a4acdd578efc1790995b.\n\nReason: reports from Realtime Stability Insights (RTSI) infra.\n\nBug: 193720426\nFix: 194481664\nFix: 194475273\nFix: 194478073\nTest: TH\nChange-Id: I421d0b4a613de5ac8fb2830fa27206edb5428374\n"
    },
    {
      "commit": "b1adfc2a0570f52d74b8a4acdd578efc1790995b",
      "tree": "c5058390901f2abbb0e281d8403be2b8db02c337",
      "parents": [
        "71f763399e95676d665e071623bccb714acf88b4"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Wed Jul 21 10:44:06 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 23 01:47:27 2021 +0000"
      },
      "message": "Support pass BCP art/vdex/oat files by FD\n\nThis is currently used by odrefresh.\n\nMain runtime changes are:\n\n1. When reading the image header, also tries to read from the FD if\n   provided.\n\n2. Initialize the art/vdex/odex FDs in the boot image chunk if provided.\n   This allows them to be opened (in case if the file is not accessible\n   by path) in LoadComponents.\n\n3. OpenBootDexFiles: accept BCP JARs passed as FD, in case if the file\n   is not accessible by path.\n\n4. The new FDs are passed from new runtime args,\n   -Xbootclasspath{art,vdex,oat}fds.\n\nIt is used in odrefresh to pass the previous output of BCP extensions to\nbe used in the next phase, system server compilation.\n\nBug: 193720426\nTest: odrefresh --use-compilation-os\u003d10 --force-compile # exit 80\n      odrefresh --verify # exit 0 (was 79 previosly)\nTest: Verify the checksum of output files are the same, with\n      --use-compilation-os or not, i.e. regardless where the compilation\n      happens\nTest: mma in art/\nChange-Id: I209085f047c42823ff20415804f65a9b32378b40\n"
    },
    {
      "commit": "971068dcaf5955634679dbfaf7b562ed52aff772",
      "tree": "3e76f60e7136f53ca0d19a23914721515e8b2725",
      "parents": [
        "3d12876bd9782831ad5c907f1f9dc94d10867f3d"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jun 30 21:17:53 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jul 02 10:19:42 2021 +0000"
      },
      "message": "runtime: add -Xdeny-art-apex-data-files\n\nThis option prevents the runtime from loading AOT artifacts installed\nin /data/misc/apexdata/com.android.art.\n\nBug: 192049377\nTest: manually adding option and running odsign_e2e_tests\nTest: adding option and looking at proc/maps for system_server and zygote\n\nChange-Id: I56c7ce55b64de72faf39a06238089fe4b6b84b88\n"
    },
    {
      "commit": "1792c6ff1c9838dfbe948be124dc1a8501fc6636",
      "tree": "f8df705069592bc5037f6f580fcafe0df07f6d91",
      "parents": [
        "4f388e3f26925f84d0a623a5a0e3c909fd09bd98"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Jun 24 17:35:50 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Jul 01 20:17:33 2021 +0000"
      },
      "message": "Add -XX:ForceJavaZygoteForkLoop flag\n\nSetting this to true effectively disables the zygote native fork\nloop, either for testing/measurement purposes, or as a fallback.\n\nBug: 192020504\nTest: Check logcat with and without the flag.\nChange-Id: I83c401d21ae2797442011d9ac6f23c78990920bd\n"
    },
    {
      "commit": "1ff9056b87705e251501ea4d19280a7e4fe2d009",
      "tree": "aefef09122429a3960d810033443c461f73b5023",
      "parents": [
        "c893d1597b2e653659e0bc73cc2640590d01e8b0"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jun 16 14:37:42 2021 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Jun 21 14:27:16 2021 +0000"
      },
      "message": "Move metric reporting config to flags\n\nThis will enable us to enable periodic reporting according\nto the properties set in the device config.\n\nAs part of this CL, enable cmdline only flags for thing that\ndo not make sense to read from system properties.\n\nTest: gtest\nBug: 170149255\n\nChange-Id: I99bae25d89cf3a17906b4d3c671e5c63e9a3c180\n"
    },
    {
      "commit": "a09d8b7d4cb6f35f12f2bd2ed4e04a0eb129eeea",
      "tree": "79587d30dda7acb00545333067596dfcfa11bdb6",
      "parents": [
        "e300c4e4eabe3388b730efe35561e54f1c306710"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Mon May 24 14:21:55 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 10 15:22:02 2021 +0000"
      },
      "message": "Add runtime option -Xbootclasspathfds: for pre-opened fds\n\nThe new option allows the client to pass a pre-opened fds to the\nruntime. The number of elements must match the number of BCP jars\nspecified in -Xbootclasspath. An fd of negative number is a valid\noption, in such case the runtime will still open the jar in the\ncorresponding path in -Xbootclasspath.\n\nExample: -Xbootclasspathfds:10:11:-1:12\n\nThe option is currently only used in \"unstarted runtime\", but will also\nbe used elsewhere in the follow-up changes.\n\nBug: 187327262\nTest: patch odrefresh to use the option, no longer seeing such openat(2)\nTest: m test-art-host-gtest\n\nChange-Id: I1bebbd80136419c03ac1309a8cb8229a0fd69838\n"
    },
    {
      "commit": "094b1cfc9fa9e1c02238a2352c190be1746f5622",
      "tree": "2ce218587228aafd5cdaf3bd17ee2cecde484957",
      "parents": [
        "4f6bb446f8fbaa192f4e5b69734414c66d5e1bae"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Jun 08 09:28:28 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 09 11:34:22 2021 +0000"
      },
      "message": "odrefresh: enable loading of system_server image files\n\nFix check in ValidateBootImageChecksum() to account for image files\nwith multiple components which exists for boot-framework when\ncompiling on device.\n\nUpdate logic for only_load_system_executable to be\nonly_load_trusted_executable and treat /system and the ART APEX data\ndirectory as trusted.\n\nAdd test to check .art,.odex,.vdex files derived from the\nsystem_server classpath are mapped when the ART module updates.\n\nAdd test to check .art,.oat,.vdex files for the boot class path\nextensions are present in the zygote processes.\n\nBug: 180949581\nTest: atest com.android.tests.odsign.OnDeviceSigningHostTest#verifyGeneratedArtifactsLoaded\nChange-Id: I3114fc6393402d8da2eb16ba756ab5fab713dc20\n"
    },
    {
      "commit": "bdf1737bd17132525bcfdc778663123b61e97fa3",
      "tree": "ec097408de25394ac6444ae0589fcfa41d400257",
      "parents": [
        "f2d1a510bf36f98e0607f0527299789a64d755c9"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 06 00:19:19 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 27 13:28:37 2021 +0000"
      },
      "message": "Introduce `art::FastExit` to replace all uses of `quick_exit` in ART.\n\nNo longer use `quick_exit(3)` in ART, as it does not play well with\nClang\u0027s code coverage instrumentation (see b/187935521 and\nb/186576313). Replace all its uses with a new routine,\n`art::FastExit`, calling either `exit(3)` when ART is built with\nClang\u0027s code coverage instrumentation (in order to dump coverage\nprofiles when the program terminates) or `_exit(2)` otherwise (to exit\nquickly).\n\nFunction `art::FastExit` is implemented as part of the\n`art_libartbase_headers` header library, so that it can be used easily\nin `dalvikvm`.\n\nTest: mmma art\nTest: ART tests\nBug: 186576313\nBug: 187935521\nChange-Id: I7b4f86f6f0e7b12814684ecea73a2ed0ef994395\n"
    },
    {
      "commit": "61ffd049d8d6946ba52884a8f679dde0e3a6654d",
      "tree": "6ce3787caae6d00bfb30165786fe40d42a86e045",
      "parents": [
        "6d8d68efbe2101e2d5fdf078556cbc1f286c37c7"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Thu May 20 15:14:25 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 24 20:05:49 2021 +0000"
      },
      "message": "Make the runtime option -Ximage a ParseStringList\n\nPreviously, the string spliting is done in multiple code locations,\nincluding ImageSpace::BootImageLayout::LoadOrValidate and\nGetPrimaryImageLocation (which may be called multiple times).\n\nThis change converts the -Ximage option from a string into a\nParseStringList\u003c\u0027:\u0027\u003e.\n\nIt may be worth pointing out that this doesn\u0027t change the current code\nexpectation that each image can have a profile (e.g.\n\"/path/to/foo.art!/some/profile.prof\").\n\nThere is a later plan to introduce new options of boot image fds with\nParseIntList\u003c\u0027:\u0027\u003e. This change would make them more consistent.\n\nBug: 187327262\nTest: boot looks normal\nTest: dexopt looks normal\nTest: TH\n\nChange-Id: I82657cb725cda2d3b782cbe7a6e6d9a871e80ee7\n"
    },
    {
      "commit": "0d290721a8d63d5e0d38a64d3ecf922a91becb10",
      "tree": "02daf3bb3ae703da0a9b99a307f8bbfb2c03c748",
      "parents": [
        "c63d9672264e894d8d409e8d582b4e086b26abca"
      ],
      "author": {
        "name": "wangguibo",
        "email": "wangguibo@xiaomi.com",
        "time": "Sat Apr 24 11:27:06 2021 +0800"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon May 17 18:19:16 2021 +0000"
      },
      "message": "Dump java backtrace when contending lock too long time.\n\nIt’s easy to cause a problem when execute time-consuming work inside\na synchronized method/block. Previously, we use \"dvm_lock_sample\" in\nevent log to help us look into.\n\nBut it\u0027s always after the event, \"dvm_lock_sample\" is printed after the\nowner thread exited the critical section, we don\u0027t know more details\nthat which statement get stuck or more time-consuming.\n\nThis implementation provides a lot more information about what the\ncontending thread is doing. when a thread contend for a long time,\nwe will print backtrack which thread holding the lock.\nMaybe many threads waiting this lock, those threads will request\nprinting backtrack many times, which is helpful for finding and\nlocating problems.\n\nThis mechanism is only suitable for very long wait times, not lots of\nshort wait times.\nThis feature is heavyweight, it\u0027s not enabled by default. we can\nturn on by \"-XX:MonitorTimeoutEnable\" in AndroidRuntime::startVm.\n\nBug:140968481\nTest: Manually check contention log messages.\n\nSigned-off-by: wangguibo \u003cwangguibo@xiaomi.com\u003e\nChange-Id: I29784d11355ae3c581723254848a87cd80e71456\n"
    },
    {
      "commit": "a28c827fdb58ec489931d6e70e27818619bc1b75",
      "tree": "038448d3d8d2922c05296b60b1280c3ed3f596b6",
      "parents": [
        "7eedd447cb5a4904acf80123ef813a7b8dead9a2"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Apr 30 17:09:10 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri May 07 09:13:03 2021 +0000"
      },
      "message": "Use `quick_exit` instead of `_exit` (except for error handling).\n\nReplace every occurrence of `_exit` (for cases other than pure error\nhandling) with `quick_exit`, in order to allow functions registered\nwith `at_quick_exit` to be called before exiting.\n\nIn particular, this change will allow LLVM\u0027s code coverage profile\ndumping routine to be called before exiting ART processes.\n\nTest: mmma art\nTest: ART tests\nBug: 186576313\nChange-Id: Ia9b0dbb471e2a26600c8bd23f7567931d050fc9d\n"
    },
    {
      "commit": "0ea1dac7c1f8055ae0ce035a66a5286ea6a225b6",
      "tree": "c2565cb0ea495f5aa29e3d2b4d1791f4e948da99",
      "parents": [
        "d91328fe62fbfe428859ec1c1fb1cd88160cc8ab"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Sat Mar 13 00:25:01 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 19 21:44:52 2021 +0000"
      },
      "message": "Revert^2 \"[metrics] Turn on statsd reporting at app startup completion\"\n\nThis change enables statsd reporting by default. Only app startup\nreports are enabled by default, so this will cause apps to report ART\ninternal metrics to statsd when startup completes. This change does\nnot enable periodic reporting (i.e. reporting every N seconds).\n\nIn the future, this will normally be controlled through experiments,\nbut this will let us get some early insight to how ART\u0027s metrics\nreporting affects statsd.\n\nThis is a single line CL so it should be easy to revert if it causes\nproblems.\n\nThis reverts commit ad6c22fa4c11f9c1f9f241d02fcca5e25caef40d.\n\nReason for revert: Failures fixed in https://r.android.com/1634699\n\nTest: m\nBug: 170149255\nChange-Id: I6113afd26d133bf83aef966a0125cdf411e32b60\n"
    },
    {
      "commit": "0654153bc5ca22466697681bb6dc4bc8b379975e",
      "tree": "5e21e5c9d4a1257a170d528e69163f974837f03e",
      "parents": [
        "947a8504f0ccce5e8adff2a2c96c33b0aa93c8fc"
      ],
      "author": {
        "name": "Jagadeesh Pakaravoor",
        "email": "jpakaravoor@google.com",
        "time": "Mon Feb 22 21:19:09 2021 -0800"
      },
      "committer": {
        "name": "Jagadeesh Pakaravoor",
        "email": "jpakaravoor@google.com",
        "time": "Fri Mar 12 19:29:57 2021 +0000"
      },
      "message": "Add madvising of .odex, .vdex and .art files\n\n1. When mmaping {.art, .odex, .vdex} files madvise them to MADV_WILLNEED\n2. Add system properties to limit the madvise size/range\n\nTest: presubmit\nBug: 178853586\nChange-Id: I14afc7cc038ebbf6bba5a393ef222050284dd86d\n"
    },
    {
      "commit": "ad6c22fa4c11f9c1f9f241d02fcca5e25caef40d",
      "tree": "9ea04e5b7dd563b6eea15aa0d4547d8e8ea5e60e",
      "parents": [
        "b6c0e7302c5ce9773aad134d685488f736dc5183"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 12 12:07:53 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 12 12:08:25 2021 +0000"
      },
      "message": "Revert \"[metrics] Turn on statsd reporting at app startup completion\"\n\nThis reverts commit 7a0d219c5809276754161d737ca8d0ffc9ad4280.\n\nBug: 170149255\n\nReason for revert: Flakes in ThreadLifecycleCallbackRuntimeCallbacksTest.ThreadLifecycleCallbackJava\n\nChange-Id: Iecece1f57eafd49c8e130b07067bfc6571aadae4\n"
    },
    {
      "commit": "7a0d219c5809276754161d737ca8d0ffc9ad4280",
      "tree": "dede55bc70c0bc818c4b5cbb8c38e43ba14c5bd6",
      "parents": [
        "6660e3bd463535ea6aefebc3288ac3f17fbd99fd"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Wed Feb 17 12:48:53 2021 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 11 19:48:06 2021 +0000"
      },
      "message": "[metrics] Turn on statsd reporting at app startup completion\n\nThis change enables statsd reporting by default. Only app startup\nreports are enabled by default, so this will cause apps to report ART\ninternal metrics to statsd when startup completes. This change does\nnot enable periodic reporting (i.e. reporting every N seconds).\n\nIn the future, this will normally be controlled through experiments,\nbut this will let us get some early insight to how ART\u0027s metrics\nreporting affects statsd.\n\nThis is a single line CL so it should be easy to revert if it causes\nproblems.\n\nTest: m\nBug: 170149255\nChange-Id: I37770e84f23fb7920711dca785992d45b56ed34d\n"
    },
    {
      "commit": "65a9fb4a6fcf5e34d52c9416715761ee16ea53a7",
      "tree": "ebf98bc030ea20e2fb0300b7c6701da686f66eb5",
      "parents": [
        "8059bdb5ab41ef0beb18eabf00fee877292d8a33"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Thu Mar 04 15:44:33 2021 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 05 18:37:58 2021 +0000"
      },
      "message": "[metrics] Change -Xwrite-metrics-to-statsd to take explicit argument\n\nPreviously, we enabled statsd reporting by checking for the presence\nof the -Xwrite-metrics-to-statsd argument. This makes it so we cannot\nturn it off if we change to on by default. This CL changes the\nargument to be -Xwrite-metrics-to-statsd\u003d_, which allows us to force\nthe setting to either on or off.\n\nTest instructions:\n\n    adb shell setprop dalvik.vm.extra-opts \\\n        -Xwrite-metrics-to-statsd\u003dtrue\n    adb shell stop \u0026\u0026 adb shell start\n    statsd_testdrive 332\n\nTest: manual, see above\nBug: 170149255\nChange-Id: Ie43618cf0b454b0986119fc6e501c035f971af15\n"
    },
    {
      "commit": "39d529f45bad3ecf2bd6b376a049fde6cb0c21b4",
      "tree": "79cc268c360fb4f054bf242c8f4d35d7a90f30ee",
      "parents": [
        "4e7b3c78854d9639758e2519ae29f86a6799857b"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Wed Feb 17 12:48:53 2021 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 04 16:39:03 2021 +0000"
      },
      "message": "Revert^2 \"[metrics] Add StatsdBackend\"\n\nAdds a new backend that allows reporting ART\u0027s metrics to statsd, where\nthey can then be uploaded to Westworld.\n\nManual Testing Instructions:\n\nRun the following commands.\n\n    m statsd_testdrive\n    adb shell setprop dalvik.vm.extra-opts              \\\n                      -Xwrite-metrics-to-statsd\\\\\\      \\\n                      -Xwrite-metrics-to-log\\\\\\         \\\n                      -Xmetrics-reporting-period\u003d10\n    adb shell stop \u0026\u0026 adb shell start\n    statsd_testdrive 332\n\nAfter about a minute, you should see several atoms logged from ART.\n\nThis reverts commit dbad1ef673140c66cdbcbbf40424674ae8e2b4c8.\nReason for revert: Added statsd apex to prebuilts\n\nBug: 178236337\nTest: Manual, see above\nTest: see instructions on https://r.android.com/1591932\nChange-Id: I2071983c04c51efe88df6a56c59fc418fe6e9424\n"
    },
    {
      "commit": "df69bd7575cf2537f5563141fd7cb945712686ca",
      "tree": "6584dbdb18a508890f769a9a77f8d328cade66c6",
      "parents": [
        "aa704f17d0d0a026b496853811fefda5d0783028"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Tue Feb 23 11:36:21 2021 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 24 00:40:14 2021 +0000"
      },
      "message": "Remove Flags\n\nThese were reading system properties which caused security warnings in\nsome cases. Removing to allow us to do a more comprehensive design.\n\nThis reverts commit 0a6e9e56f7f3ac7750b38eaba83639ad47a2692f.\nThis reverts commit 3dba023d4fb47882fa215715c196cfa3be30c098.\n\nTest: test.py --host\nChange-Id: I04e8b7a934540b250e6fc56f5aa6ce7f18131d4d\n"
    },
    {
      "commit": "0a6e9e56f7f3ac7750b38eaba83639ad47a2692f",
      "tree": "627d537bfaf9a219b855902716bcb3c8609823a7",
      "parents": [
        "8dcdd4735bff02673e5a3ec1238b8aff1d217957"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Fri Feb 12 15:46:06 2021 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 18 18:58:25 2021 +0000"
      },
      "message": "[metrics] Move existing command line arguments to flags\n\nThis will allow us to tune metrics reporting behavior as needed\nthrough server-side configurations rather than having to wait for the\nnext ART release.\n\nThis CL also includes the flag to enable statsd reporting, even though\nthat feature is not yet implemented.\n\nBug: 175050458\nTest: manual\nChange-Id: Id69828684f2cf9d32471703494439d0722f18dce\n"
    },
    {
      "commit": "dbad1ef673140c66cdbcbbf40424674ae8e2b4c8",
      "tree": "d1f1d2521aae7d28f0def5abaed2746e353d2162",
      "parents": [
        "3dba023d4fb47882fa215715c196cfa3be30c098"
      ],
      "author": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Feb 17 13:46:00 2021 +0000"
      },
      "committer": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Feb 17 16:45:59 2021 +0000"
      },
      "message": "Revert \"[metrics] Add StatsdBackend\"\n\nThis reverts commit 3d2b93e6acb4e7ac6fc808f17813975f250dbf89.\n\nReason for revert: Breaks ART tests in chroot environment, as the\n  libstatssocket library is not found. The error message is:\n\n  CANNOT LINK EXECUTABLE\n  \"/apex/com.android.art/bin/art/x86/art_libdexfile_tests\":\n  library \"libstatssocket.so\" not found: needed by\n  /apex/com.android.art/lib/libartd.so in namespace com_android_art\n\n  How to reproduce in AOSP (e.g. on cuttlefish):\n\n  $ lunch aosp_cf_x86_64_phone-userdebug \u0026\u0026 m \u0026\u0026 launch_cvd\n\n  In another terminal, run art gtests on the device:\n\n  $ unset ART_TEST_ANDROID_ROOT\n  $ unset CUSTOM_TARGET_LINKER\n  $ unset ART_TEST_ANDROID_RUNTIME_ROOT\n  $ unset ART_TEST_ANDROID_TZDATA_ROOT\n  $\n  $ export ART_TEST_CHROOT\u003d/data/local/art-test-chroot\n  $ export OVERRIDE_TARGET_FLATTEN_APEX\u003dtrue\n  $ export ANDROID_SERIAL\u003d\"0.0.0.0:6520\"\n  $\n  $ . ./build/envsetup.sh\n  $ lunch aosp_cf_x86_64_phone-userdebug\n  $\n  $ art/tools/buildbot-build.sh --target -j72\n  $ art/tools/buildbot-cleanup-device.sh\n  $ art/tools/buildbot-setup-device.sh\n  $ art/tools/buildbot-sync.sh\n  $\n  $ export ISA\u003dx86_64\n  $ art/tools/run-gtests.sh -j8\n\nBug: 178236337\nTest: art gtests in chroot env on aosp_cf_x86_64_phone-userdebug\nChange-Id: Icbd38792f4d8828c40a53f037cefeebd777172bf\n"
    },
    {
      "commit": "3dba023d4fb47882fa215715c196cfa3be30c098",
      "tree": "da22f82b7cde87f37100f715a0e05f332b377f73",
      "parents": [
        "381d35c1b01401e193544f679bfaf4f5c197f7cd"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Sat Jan 30 02:03:29 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 17 15:05:02 2021 +0000"
      },
      "message": "Add a server-configurable flags API\n\nAdds a new set of flags that can be set by the command line, server\nconfiguration, or system properties. These flags can be used to enable\nor disable certain features or otherwise change their behavior. The\nflexible configuration options facilitate both development and also\nexperimentation.\n\nAs an example of their use, this CL also moves the\n-Xwrite-metrics-to-log command line option to the flags system\ninstead. Future work will migrate the rest of the metrics settings.\n\nTest: ./test/run-test --host --jit 2232-write-metrics-to-log\nBug: 175050458\nChange-Id: I1ef37e7d355204a3172b7aa5c0baa4cbd8c7076b\n"
    },
    {
      "commit": "3d2b93e6acb4e7ac6fc808f17813975f250dbf89",
      "tree": "c44605b61d2e863ad9d0cb76b59b84a0a8f71266",
      "parents": [
        "d2efecc12ca362cf7d2ee86455b1646f96aecb2c"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Tue Feb 09 15:02:13 2021 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 16 21:16:42 2021 +0000"
      },
      "message": "[metrics] Add StatsdBackend\n\nAdds a new backend that allows reporting ART\u0027s metrics to statsd, where\nthey can then be uploaded to Westworld.\n\nManual Testing Instructions:\n\nRun the following commands.\n\n    m statsd_testdrive\n    adb shell setprop dalvik.vm.extra-opts              \\\n                      -Xwrite-metrics-to-statsd\\\\\\      \\\n                      -Xwrite-metrics-to-log\\\\\\         \\\n                      -Xmetrics-reporting-period\u003d10\n    adb shell stop \u0026\u0026 adb shell start\n    statsd_testdrive 332\n\nAfter about a minute, you should see several atoms logged from ART.\n\nBug: 178236337\nTest: Manual, see above\nChange-Id: Ia1c0bbadb0a9790ab44453ad60ca217c0fdb4e1a\n"
    },
    {
      "commit": "b5a10be6153d9bf09e4edf4a645da4085b4436bf",
      "tree": "ebf5a4b90f6c3ef45bc7342405f808a71be8a38e",
      "parents": [
        "bfd622abc23c77ffc8799f376df7241f15d6550a"
      ],
      "author": {
        "name": "Wessam Hassanein",
        "email": "wessam@google.com",
        "time": "Wed Nov 11 16:42:52 2020 -0800"
      },
      "committer": {
        "name": "Wessam Hassanein",
        "email": "wessam@google.com",
        "time": "Fri Feb 05 03:10:12 2021 +0000"
      },
      "message": "ART/Perfetto Java Heap Profiler\n\nAdding a Sampling Java Heap Profiler to ART and its interface to Perfetto.\nThis cl is the first cl (CL1) in a series of cls described as below to implement the full ART/Perfetto Java Heap Profiler.\nCL1: ART Java Heap Profiler. This is the main ART sampling profiler code. Tested using the ART testrunner as below as well as VLOG.\nCL2: Uncomment APEX code ART side. CL3: Add APEX code Perfetto side.\nCL2 and CL3 will be submitted simultaneously to avoid build failures and to add APEX dependencies.\nCL4: Uncomment Perfetto API code. To be reviewed by fmayer@ (Perfetto Team). Further Testing, could be full feature testing including Perfetto at this point.\nCL5: Further tests and/or optimizations can be added as needed.\n\nTest: Passing Tests\ntest/testrunner/testrunner.py --host --debug -b\ntest/testrunner/testrunner.py --host --debug -b --64 -t 004-ThreadStress\ntest/testrunner/testrunner.py --host --runtime-option\u003d-XX:PerfettoJavaHeapStackProf\u003dtrue --debug -b\ntest/testrunner/testrunner.py --host --runtime-option\u003d-XX:PerfettoJavaHeapStackProf\u003dtrue --debug -b --64 -t 004-ThreadStress\nIndividualized and VLOG testing.\n\nBug: 160214819\n\nChange-Id: I2be4c4e715ce8c3c8ac545e3e14332198b9c2295\n(cherry picked from commit 7b149d585b4627ebb389e987c14fe808f2fe698b)\nMerged-In: I2be4c4e715ce8c3c8ac545e3e14332198b9c2295\n"
    },
    {
      "commit": "10592e30a959d4ebe90f5ba4b6237ec0cacddc6c",
      "tree": "6b2ac355b78cf4cef439d4878c0c75c9d6b2ed00",
      "parents": [
        "d1728bfca62a0757000ef3aa0388b5e51269a2a2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Dec 11 19:54:32 2020 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 01 18:11:10 2021 +0000"
      },
      "message": "Default jdwpOptions to suspend\u003dn,server\u003dy\n\nThese options are basically required to actually attach a JDWP debugger\nso we might as well have them set by default.\n\nChange-Id: I1a3c45d61c53c20bfb1367c82510e2fe972099d9\nTest: Treehugger\nBug: https://github.com/android/ndk/issues/933\n"
    },
    {
      "commit": "0b986f73e018fe55af1d71d2f8deaa61bd6840a2",
      "tree": "ac0626c2b722d7bdec205eda84fbf807621d35fa",
      "parents": [
        "b8686ce4c93eba7192ed7ef89e7ffd9f3aa6cd07"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Wed Jan 20 22:24:06 2021 +0000"
      },
      "committer": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Thu Jan 21 18:16:38 2021 +0000"
      },
      "message": "Revert^4 \"[metrics] Add background reporting thread\"\n\nThis adds a background thread that reports metrics every N seconds,\nwhere N is specified by the -Xmetrics-reporting-period command line\noption. Periodic reporting is disabled by default.\n\nThis reverts commit 1060838894e34785139b5e3583fbc9edad7fa7f9.\n\nReason for revert: Remove problematic test\n\nTest: test/run-test --host 2233-metrics-background-thread\nTest: adb shell stop \u0026\u0026 \\\n      adb shell setprop dalvik.vm.extra-opts \\\n          -Xmetrics-reporting-period\u003d30\\\\\\ -Xwrite-metrics-to-log \u0026\u0026 \\\n      adb shell start \u0026\u0026 \\\n      adb logcat  # observe metrics in log\nBug: 170149255\nChange-Id: I3d72043bbb1e652728253585aae5486598658d2b\n"
    },
    {
      "commit": "1060838894e34785139b5e3583fbc9edad7fa7f9",
      "tree": "267cc17ce650219d520e847fa011ebada320b8b8",
      "parents": [
        "f1d06474baa2f7c00761db39099b89ddab71bbe4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 15 09:20:23 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 15 09:20:58 2021 +0000"
      },
      "message": "Revert \"Revert^2 \"[metrics] Add background reporting thread\"\"\n\nThis reverts commit 4c176b9de6c430422395017910633bcb001b2e84.\n\nReason for revert: Test fails on target.\n\nChange-Id: Idfef53679cf602c7c10a9cc0ffb16fda583ed78f\n"
    },
    {
      "commit": "4c176b9de6c430422395017910633bcb001b2e84",
      "tree": "7e2977cbda130db7f4f83e8eba9449f49e0e4397",
      "parents": [
        "5bb354fa440ae7c9ebe6994ceb45e6795c5d3363"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Tue Dec 15 18:23:28 2020 +0000"
      },
      "committer": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Thu Jan 14 21:40:56 2021 +0000"
      },
      "message": "Revert^2 \"[metrics] Add background reporting thread\"\n\nThis adds a background thread that reports metrics every N seconds,\nwhere N is specified by the -Xmetrics-reporting-period command line\noption. Periodic reporting is disabled by default.\n\nThis reverts commit 73366109eec37b75f77f24e6e52832047508b34f.\n\nThe reason this was previously reverted was due to failures where\nJVMTI reported an unexpected thread at startup. This change fixes the\nissue by adding the metrics background reporting thread to the list of\nallowed threads in ti_thread.cc.\n\nTest: test/run-test --host 2233-metrics-background-thread\nTest: adb shell stop \u0026\u0026 \\\n      adb shell setprop dalvik.vm.extra-opts \\\n          -Xmetrics-reporting-period\u003d30\\\\\\ -Xwrite-metrics-to-log \u0026\u0026 \\\n      adb shell start \u0026\u0026 \\\n      adb logcat  # observe metrics in log\nChange-Id: I5eea4a4551de9cf4672a461c09521ef871063a91\n"
    },
    {
      "commit": "5bb354fa440ae7c9ebe6994ceb45e6795c5d3363",
      "tree": "166f2719d86826c33b8b2e541c4bda8ee9caa93f",
      "parents": [
        "ec389671c661ea1cb73490a2896d6519f299dea2"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Wed Jan 13 20:38:34 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 14 21:39:16 2021 +0000"
      },
      "message": "Revert^4 \"[metrics] Add file output support\"\n\nAdds a new command line option, -Xwrite-metrics-to-file\u003d_, which\nspecifies a file for writing metrics to. This can be used in conjunction\nwith -Xwrite-metrics-to-log, which will cause the output to go to both\nlogcat and the file.\n\nWriting metrics to a file can be helpful for testing or benchmarking\nenvironments.\n\nAccess to the file is protected using advisory locking, so it is safe to\nhave multiple processes write metrics to the same file.\n\nThis reverts commit f8567b535dcc4618f0ee76e5b8716d296681197b.\n\nReason for revert: Splitting out problematic test.\n\nTest: test/run-test --host test/2234-write-metrics-to-file\nBug: 175025360\nBug: 170149255\nChange-Id: I09be3bfe10293fe71ded1a5b155dcd2fd226f8b3\n"
    },
    {
      "commit": "f8567b535dcc4618f0ee76e5b8716d296681197b",
      "tree": "59581c9c3d168f3a1b8e0dd7f4a2e384a8434999",
      "parents": [
        "0ddba9a4239477a2319fbf4317ca8782308c2c35"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 13 09:50:24 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 13 09:51:02 2021 +0000"
      },
      "message": "Revert \"Revert^2 \"[metrics] Add file output support\"\"\n\nThis reverts commit 8ef84f233a55972eb3a3d84c11c1617531af8e92.\n\nBug: 175025360\nBug: 170149255\n\nReason for revert: test failing on target\n\nChange-Id: I8d82462f6fb853ece4a4b295de17ab13b1f1b6f1\n"
    },
    {
      "commit": "8ef84f233a55972eb3a3d84c11c1617531af8e92",
      "tree": "cb7113879d10fcafd3b3c2d969e75fba7c60dc35",
      "parents": [
        "46d6fc0e16d65468aa259fadf27ddfeef72987b7"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Tue Jan 12 00:04:57 2021 +0000"
      },
      "committer": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Tue Jan 12 17:16:13 2021 +0000"
      },
      "message": "Revert^2 \"[metrics] Add file output support\"\n\nAdds a new command line option, -Xwrite-metrics-to-file\u003d_, which\nspecifies a file for writing metrics to. This can be used in conjunction\nwith -Xwrite-metrics-to-log, which will cause the output to go to both\nlogcat and the file.\n\nWriting metrics to a file can be helpful for testing or benchmarking\nenvironments.\n\nAccess to the file is protected using advisory locking, so it is safe to\nhave multiple processes write metrics to the same file.\n\nThis reverts commit ce2e0957f065002293ef152da28b6fa941c6baa3.\n\nReason for revert: Fixed test failures by adding Android.bp file.\n\nTest: test/run-test --host test/2234-write-metrics-to-file\nBug: 175025360\nBug: 170149255\nChange-Id: I6768f5b4920896fc0f8e5866c878af999f73012d\n"
    },
    {
      "commit": "ce2e0957f065002293ef152da28b6fa941c6baa3",
      "tree": "d8c28f4e46c4140b073331ea69b8b14e87590f15",
      "parents": [
        "fff1d8f9f3881d223f3d068f974da14f3d80de88"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 22 11:24:36 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 22 13:29:17 2020 +0000"
      },
      "message": "Revert \"[metrics] Add file output support\"\n\nThis reverts commit 51a9283984b05511bd98f9bcbd1f2f18900239cc.\n\nReason for revert: The new test is broken on device.\n\nBug: 175025360\nBug: 170149255\nChange-Id: I94d33f9e3d2203a0323fd5dc34f5a6f3e6147367\n"
    },
    {
      "commit": "51a9283984b05511bd98f9bcbd1f2f18900239cc",
      "tree": "09b25eb574b2c93f4e940bfab423b58acdf340bd",
      "parents": [
        "20cadbf2a204a029b595cd44f9298f6570b5c812"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Mon Dec 07 15:07:00 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 21 18:09:31 2020 +0000"
      },
      "message": "[metrics] Add file output support\n\nAdds a new command line option, -Xwrite-metrics-to-file\u003d_, which\nspecifies a file for writing metrics to. This can be used in conjunction\nwith -Xwrite-metrics-to-log, which will cause the output to go to both\nlogcat and the file.\n\nWriting metrics to a file can be helpful for testing or benchmarking\nenvironments.\n\nAccess to the file is protected using advisory locking, so it is safe to\nhave multiple processes write metrics to the same file.\n\nTest: test/run-test --host test/2234-write-metrics-to-file\nBug: 175025360, 170149255\nChange-Id: I83a4f959cbb96847dc71188035c050a73b915064\n"
    },
    {
      "commit": "4bf753dc70407589e0f0b5bccb0a88c276488058",
      "tree": "feb79aa95a7d4c258536f397a68d3f798921b1fa",
      "parents": [
        "232efef0c8ecb532fabad83bee916101b716d75c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 14 20:33:53 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 15 14:19:59 2020 +0000"
      },
      "message": "Add two flags to customize JIT zygote.\n\n1) -Xuseprofiledjit to do compilation of system server (and potentially\napps) at startup with a profile\n2) -Xjitzygotepthreadpriority to set the zygote JIT thread priority.\n\nBug: 119800099\nTest: m\nChange-Id: I131c5a8bae0f4b15c33c3e24e07465b7858f7fe2\n"
    },
    {
      "commit": "73366109eec37b75f77f24e6e52832047508b34f",
      "tree": "b4467d6220aa9aa06bbbca2440d3cefa57ecd5a7",
      "parents": [
        "cf097a7dba6eb0f9c788e7284efd46640b100e1f"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Sun Dec 13 01:28:33 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Dec 13 14:33:59 2020 +0000"
      },
      "message": "Revert \"[metrics] Add background reporting thread\"\n\nThis reverts commit 77f7eb9d05b6d05531556882d99ed63688c6e3b0.\n\nReason for revert: We\u0027re seeing consistent 2233-metrics-background-thread failures on target.\n\nChange-Id: Ie394dbe90289b1472ac4c8876d01ece347541852\n"
    },
    {
      "commit": "77f7eb9d05b6d05531556882d99ed63688c6e3b0",
      "tree": "76754e225ffd358eda851b51d7ca541843d6040b",
      "parents": [
        "3ac2f5a25e9cae22ec8f5ae5e28de93f34d6485a"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Tue Nov 17 14:54:23 2020 -0800"
      },
      "committer": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Thu Dec 10 12:34:45 2020 -0800"
      },
      "message": "[metrics] Add background reporting thread\n\nThis adds a background thread that reports metrics every N seconds,\nwhere N is specified by the -Xmetrics-reporting-period command line\noption. Periodic reporting is disabled by default.\n\nTest: test/run-test --host test/2233-metrics-background-thread\nTest: adb shell stop \u0026\u0026 \\\n      adb shell setprop dalvik.vm.extra-opts \\\n          -Xmetrics-reporting-period\u003d30\\\\\\ -Xwrite-metrics-to-log \u0026\u0026 \\\n      adb shell start \u0026\u0026 \\\n      adb logcat  # observe metrics in log\nChange-Id: I4d6ae7701dd2fe36bc761ef6170ddd6860a3c0e6\n"
    },
    {
      "commit": "59d4b53e70bc1e0589ce05428c945b4585e28d0f",
      "tree": "f7ca666fa879e98e89956053911c5d206b09787d",
      "parents": [
        "de60ef3f91af06a3b8ef24f4bab5c547dc65e10d"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Wed Oct 21 17:49:39 2020 -0700"
      },
      "committer": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Tue Dec 01 09:19:19 2020 -0800"
      },
      "message": "[metrics] Add -Xwrite-metrics-to-log option\n\nThis CL adds a -Xwrite-metrics-to-log command line option, which causes\nART to write metrics to logcat at shutdown. At the moment, this is\nmostly useful for tests, but this change also lays some of the\nfoundation for more flexible metrics reporting.\n\nTest: test/run-test --host 2232-write-metrics-to-log\nBug: 170149255\nChange-Id: Ie4db70b9be83b2dc82e62798aa9977120a6e4ac5\n"
    },
    {
      "commit": "ae7168e19f886ed43ed200f9b0e769613df485f9",
      "tree": "0c7169d33b71d643957e1acdaffc0ff61d4526fb",
      "parents": [
        "5e8e5161e5f5a1e944f5bc6fd2ef893e0a33551b"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Oct 09 15:13:29 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 12 15:42:21 2020 +0000"
      },
      "message": "Remove unused image space order argument\n\nBug: 160683548\nTest: Treehugger\nChange-Id: I249d2891b645fa103106ee946f014b9ce362cbda\n"
    },
    {
      "commit": "b96d6f3846103659249ad58fc905fc5a14dafc47",
      "tree": "3fc0c44044e05e23beee712189f6deff8759753e",
      "parents": [
        "3d22dbb67085bf27e27e55e9b5ab32c5619334f9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 05 15:40:29 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 05 16:38:33 2020 +0000"
      },
      "message": "Remove tiered jit option.\n\nAll interpreters now support it. This fixes 566-polymorphic-inlining\n\nTest: 566-polymorphic-inlining\nBug: 112676029\nBug: 152392499\nChange-Id: I1362f1aba425aa69ee7ed227b41016c7cc2306c6\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": "b5a0e91e38dfd10bf6c532e071a8712cb7cca957",
      "tree": "8af1d8fa25900cdb807925a61880c06937eb618c",
      "parents": [
        "0740eeb24d47105cb7131a248450aedb9ef70bcd"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 23 10:54:47 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 27 17:23:02 2020 +0000"
      },
      "message": "Suppress explicit gc logging in libcore tests\n\nThese logs are so frequent it is difficult to read the output logs. On\na recent run I got ~86% of the lines in the output were the explicit\nGC logs. This bloated the log file to ~80 mb, making examining it with\na web-browser difficult. This change should drastically reduce the\nsize.\n\nTest: manual\nBug: 161420453\nChange-Id: I2cdc77814891d125f6a6bb69decd2c68b3fa0f5b\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": "90a18cf5b76bbf9a13dc520b8817de51b8efd7f8",
      "tree": "10da04f8d8c00f88bfe844691aa811d00c483ab9",
      "parents": [
        "c4b50b3bb8125aa12255587c55b356b424278110"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 25 15:12:59 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 02 08:45:31 2020 +0000"
      },
      "message": "Rewrite OatFileManager::OpenDexFilesFromOat.\n\n- Remove obsolete option -Xno-dex-file-fallback\n- Only load an oat file when class loader context matches.\n- Remove obsolete duplicate class check code.\n\nBug: 132357300\nBug: 156250899\nChange-Id: I78e645806e0de2f35ce2614285f1a7cbc705484c\n"
    },
    {
      "commit": "0972d087577e7d7c7f0ece9a04f100f4dff3629b",
      "tree": "d9c07b22d21ada42828de6315bd13d06f289dbf5",
      "parents": [
        "3d189432e6ce22f6b16a2ba3ebb082e58b247041"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri May 15 14:07:31 2020 +0200"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Mon May 18 20:37:07 2020 +0000"
      },
      "message": "perfetto_hprof: add flag to enable.\n\nAdd flag whether to allow loading of the perfetto hprof plugin.\nEven with this option set, we will still only actually load the plugin\nif we are on a userdebug build or the app is debuggable or profileable.\n\nWe do not want to enable this by default because PerfettoHprof does not\nwork on host, and we do not want to enable it in tests.\n\nTest: flash flame-userdebug. get java heap dump.\n\nBug: 147667830\nChange-Id: If978556dbf44b27828cba47e1fb95084a12838b7\n"
    },
    {
      "commit": "00391824f4ee89f9fbed178a1ee32bc29fa77b3b",
      "tree": "aea6bc5e49801c5b4816257ab16a97181ef0d911",
      "parents": [
        "001e5b33ba7065dde0b85450830b605733ae1685"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 10 10:17:23 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 18 06:50:39 2019 +0000"
      },
      "message": "Add an implementation of Nterp for x64.\n\nAnd enable it on x64 when runtime and ArtMethod requirements are met\n(see nterp.cc).\n\nTest: test.py\nBug: 112676029\nChange-Id: I772cd20a20fdc0ff99529df7495801d773091584\n"
    },
    {
      "commit": "4ca2f4894ced84805c3c1b707cc1db790339a582",
      "tree": "08ba80b376bf0513589514913b1ba6a63667b0aa",
      "parents": [
        "dd09f7114ccdbe4cefd76c37f2db8b899a991923"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Nov 25 16:07:22 2019 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Dec 09 17:53:44 2019 +0000"
      },
      "message": "Enable JNI ID auto swap on debuggable\n\nMake JNI-ids automatically switch to Indices on debuggable processes.\nThis allows one to make use of structural redefinition in these\nprocesses.\n\nTest: Manual\nTest: listextensions agent\nBug: 134162467\nChange-Id: I097c16f26c9a42ab523b4cb06cdb603f70bb38bb\n"
    },
    {
      "commit": "a59af8aeaad8fe7d68d8f8de63eab9cf85b6ab31",
      "tree": "83195c74b135731cc4555254763a8f449691c1b0",
      "parents": [
        "5c8cc64b5f1580faf510f27527e7e22987174963"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 27 17:42:32 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 03 14:32:09 2019 +0000"
      },
      "message": "JIT baseline: trigger optimized compilation on hotness threshold.\n\n- Add a new hotness count in the ProfilingInfo to not conflict with\ninterpreter hotness which may use it for OSR.\n- Add a baseline flag in the OatQuickMethodHeader to identify baseline\ncompiled methods.\n- Add a -Xusetieredjit flag to experiment and test.\n\nBug: 119800099\nTest: test.py with Xusetieredjit to true\n\nChange-Id: I8512853f869f1312e3edc60bf64413dee9143c52\n"
    },
    {
      "commit": "87beba30796dddb12a1dac7cb3c8f72d9b20e9f2",
      "tree": "19bfa943a6feeb7a661411a07eea47db4fe91206",
      "parents": [
        "9e3954db9a21c852c411db4118bf910de6f4dbcb"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Aug 09 14:20:32 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Sep 13 17:52:37 2019 +0000"
      },
      "message": "Fix some typos in ART.\n\nTest: n/a\nChange-Id: I25301ab0d749f253f54fd83787343f239088d510\n"
    },
    {
      "commit": "f3677471a58c2738a3d9dd05f07f01c18a5e61be",
      "tree": "21b4279c1077e051b84aad12da29240672f54913",
      "parents": [
        "f1468b53d0427a45011fe6446d189babe0acd6e0"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 26 16:31:53 2019 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jul 29 22:22:53 2019 +0000"
      },
      "message": "Add ability to switch to index ids late.\n\nIn order to support some debugging features we need to have JNI code\nmostly running with jmethodIDs and jfieldIDs as opaque indexes\ndisconnected from any underlying art data-structure pointers. For\nperformance though we want to continue to use data-structure pointers\nas these IDs when debugging is not needed. To support both\npossibilities this adds support for changing from a \u0027swapablePointer\u0027\nto either \u0027pointer\u0027 or \u0027indicies\u0027 regime at runtime.\n\nThe SwapablePointer regime still uses pointers as the ids but creates\nthe data-structures needed to ensure that we can (1) detect that the\nmethods have pointer-type IDs and (2) we can change some\nWellKnownClass internal IDs from one to the other.\n\nCurrently one must select this mode explicitly using\n\u0027-Xopaque-jni-ids:swapable\u0027. Depending on when the final jni-id-type\nis selected a small amount of extra memory is used. Currently manual\ntesting of turning the default id-type to swapable and changing to\npointer immediately after zygote-fork shows a additional 40-90 kb of\nshared zygote-heap memory.\n\nTest: ./test.py --host\nTest: m libfieldcounts; \\\n      ./tools/jvmti-agents/field-counts/count-fields.py \u0027Ljava/lang/Class;.extData:Ldalvik/system/ClassExt;\u0027 \u0027Ldalvik/system/ClassExt;.jmethodIDs:Ljava/lang/Object;\u0027 \u0027Ldalvik/system/ClassExt;.staticJfieldIDs:Ljava/lang/Object;\u0027 \u0027Ldalvik/system/ClassExt;.instanceJfieldIDs:Ljava/lang/Object;\u0027 -p `adb shell pidof com.android.deskclock`;\n      Examine output\nBug: 134162467\n\nChange-Id: I1885b10056d5dcc65dad5ae4f858ddc12ba79403\n"
    },
    {
      "commit": "a83a88996c5a1850f9914ded138c671ef391bf91",
      "tree": "d17ea91c2345a6356d21518b5eb0562bbfd77a04",
      "parents": [
        "ae95ce3c6e5ac0ca96bd6e8d7a3dc36b6ffadbab"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 18 13:43:15 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 22 19:12:38 2019 +0000"
      },
      "message": "ART: Switch verifier kThrow fatal to default-on\n\nBug: 121245951\nTest: m test-art-host\nTest: m\nChange-Id: I6eeb4f5cfe28c6c386e652db24d42099a413c079\n"
    },
    {
      "commit": "d84794d235df588814533d96f6e459b72f3a19b1",
      "tree": "be63139f9d94678c6c1f01e2012545580b2d1078",
      "parents": [
        "16a08f6d70e64a1c88ea4a6da1b0cfe1bd4196f2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 18 13:40:03 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 19 15:12:19 2019 +0000"
      },
      "message": "ART: Add option to behave fatally on unmarked kThrow\n\nAdd a runtime option that makes the verifier abort when a runtime\nexception is signaled for an instruction that isn\u0027t marked as such.\n\nBug: 121245951\nTest: m test-art-host\nChange-Id: Id953fa25fbcc12c1e6a7d74b30b28b81df57e427\n"
    },
    {
      "commit": "79d6c800cd8aa1da335ea0523c391852780ac02a",
      "tree": "a77faf41d7b658709113c72d7eaaaa1ce2ded6b5",
      "parents": [
        "01fbfbebceb00b94cc54738ebf425b6c4a79211a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jun 27 15:50:11 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 28 14:58:17 2019 +0000"
      },
      "message": "Revert^2 \"Support using opaque JNI ids\"\n\nWe weren\u0027t handing the fact that encoding jmethodIDs could cause OOM\nexceptions in some places in reflection.cc. This could lead to\nattempting to use a null jmethodID as if it were a real id. This issue\nis fixed by the parent CL.\n\nThis reverts commit b476a29a2c.\nThis reverts commit 3b2905366c.\nThis Unreverts commit d5d645ffec.\nThis Unreverts commit 21d5994583.\n\nReason for revert: Fixed issue causing 004 debuggable flakes\nTest: ./test.py --host --jit --debuggable\nBug: 134162467\n\nChange-Id: Iece08ab299cd8a20f8382be7be6c3796858e70eb\n"
    },
    {
      "commit": "b476a29a2cda22b86fc1d96e4cc65ce36fb878af",
      "tree": "039eaee2edf5495275088d1c467e522977c6bcd6",
      "parents": [
        "3b2905366c6ee1eaba2d6477078e505e377343ec"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 27 07:54:48 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 27 08:16:04 2019 +0000"
      },
      "message": "Revert \"Support using opaque JNI ids\"\n\nThis reverts commit 21d5994583c679cd5d8573b5d35dbd659bdca2c7.\n\nBug: 134162467\n\nReason for revert: Breaks debuggable\n\nChange-Id: I9510a6ac208d392ff25ee196a1a519fecd151445\n"
    },
    {
      "commit": "21d5994583c679cd5d8573b5d35dbd659bdca2c7",
      "tree": "521906398a2f04048cc51b4f409b6a3ebc0c6ffa",
      "parents": [
        "5dfbe7ae9ed9a1a82446d32118190105a211a2d2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 19 12:58:22 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 26 20:22:39 2019 +0000"
      },
      "message": "Support using opaque JNI ids\n\nCurrently JNI ids (jmethodID \u0026  jfieldID) are created by simply\ncasting the corresponding ART structure pointer. This is great for\nsimplicity but means we are prevented from performing operations that\ncould change these pointer values. To support these use-cases add\nsupport for loading the runtime with a layer of indirection between\nthese ids and the internal art data types.\n\nCurrently the JNI id type can be toggled only by passing the new\n\u0027-Xopaque-jni-ids:{true,false}\u0027 flag during startup.\n\nThis changes the --debuggable test configuration to pass\n\u0027-Xopaque-jni-ids:true\u0027 in order to get test coverage of this feature\nusing the \u0027art-jit\u0027 configuration.\n\nTest: ./test.py --host --debuggable\nTest: ./test.py --host --debuggable --jit-on-first-use\nTest: ./test/testrunnner/run_build_test_target.py art-jit\nBug: 134162467\nChange-Id: Id8c8cb9a5b8ff18dc2f40892fae2d344a7214f44\n"
    },
    {
      "commit": "4444f1b38aa9269365c4a5d506b6d92a3222841a",
      "tree": "4e3d413021983ae39e52cd5fa8f1c0732db62992",
      "parents": [
        "44b9b5876f64c6e868d9b13c4fa3a5f5cb773742"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 10 14:09:19 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 14 08:14:22 2019 +0000"
      },
      "message": "Add option to identify primary zygote.\n\nThis will be used to customize when to start pre-jitting in\njitzygote mode.\n\nTest: boots\nBug: 119800099\nChange-Id: I1b5c1c454455d336f22e3328deead4ced1742239\n"
    },
    {
      "commit": "bb2467b398481a15ddb0b65cfcf3c15ff3cb0b8d",
      "tree": "1fb58f57d31e0adb6e5b3170a45de16d3e5179f0",
      "parents": [
        "7c887c57b1b32b9432c74582ab9a4be43a280ee9"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Mar 29 22:55:06 2019 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Sat Apr 20 00:52:14 2019 +0000"
      },
      "message": "Make kHugeNativeAllocs configurable\n\nAdd -XX:StopForNativeAllocs command line argument to replace\nkHugeNativeAllocs constant.\n\nThe default remains at 1 GB. But This default will allow small\nmemory devices to run out of memory if we allocate Java owned native\nmemory faster than what the GC can keep up with. Setting it to\na smaller value should prevent that.\n\nBug: 122552730\nTest: Boot AOSP, Treehugger\n\nChange-Id: I5c84b2f1f67038e1b7a0ca3f5fc08090359c5f3e\n"
    },
    {
      "commit": "87658f3e8877afdf80990ba986841dba9037da50",
      "tree": "9dc0019e277ab8313e7e0376339202be9b9d4d19",
      "parents": [
        "d5d807bc2d4e538f6f9a4cf5bb2b010482504c9d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 18 18:39:02 2019 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 19 15:37:20 2019 +0000"
      },
      "message": "Revert^2 \"Optimize FindClass ClassNotFoundException case\"\n\nWith the current class loaders, there are many exceptions thrown for\neach ClassNotFoundexception from FindClass calling\nClassLoader.loadClass. This CL reduces that by throwing directly from\nFindClass to avoid these extra exceptions.\n\nNumbers are from logging time taken by QuickDeliverException.\nTime spent in exception throwing during startup goes down (Pixel 2 XL):\n    Camera: 20ms -\u003e 5ms\n    Calculator: 5ms -\u003e 2ms\n    Maps: 20ms -\u003e 10ms\n\nAdded option -XX:FastClassNotFoundException\u003d\u003cbool\u003e to enable or\ndisable the feature.\n\nThis reverts commit d399f579cf2a8462ef6f1fbea360fe62be174377.\n\nBug: 130310316\nBug: 130293184\nBug: 130209120\nTest: test-art-host\nTest: art/test/testrunner/testrunner.py --host --no-prebuild -t 134\nChange-Id: I059abce98fe876d89de35d099647ee673c27343b\n"
    },
    {
      "commit": "d399f579cf2a8462ef6f1fbea360fe62be174377",
      "tree": "ad08cf6e8f74d648828d12c83d1098f1a6600b62",
      "parents": [
        "9634705832d5eb1f64af7766917e3043648a538f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 17 12:34:19 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 17 12:35:56 2019 -0700"
      },
      "message": "Revert \"Optimize FindClass ClassNotFoundException case\"\n\nBug: 130310316\nBug: 130293184\nBug: 130209120\nBug: 130680590\n\nTest: TH\nThis reverts commit 9634705832d5eb1f64af7766917e3043648a538f.\n\nChange-Id: I07f32256fe718c607e9c304073c4f8d614de1c48\n"
    },
    {
      "commit": "9634705832d5eb1f64af7766917e3043648a538f",
      "tree": "7c779fb80008285cacd1099c037dccb51452bf5e",
      "parents": [
        "b086f5284a8b38037d55ed65f48f244b4a44a257"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 11 13:37:10 2019 -0700"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Apr 17 15:18:52 2019 +0000"
      },
      "message": "Optimize FindClass ClassNotFoundException case\n\nWith the current class loaders, there are many exceptions thrown for\neach ClassNotFoundexception from FindClass calling\nClassLoader.loadClass. This CL reduces that by throwing directly from\nFindClass to avoid these extra exceptions.\n\nNumbers are from logging time taken by QuickDeliverException.\nTime spent in exception throwing during startup goes down (Pixel 2 XL):\nCamera: 20ms -\u003e 5ms\nCalculator: 5ms -\u003e 2ms\nMaps: 20ms -\u003e 10ms\n\nAdded option -XX:FastClassNotFoundException\u003d\u003cbool\u003e to enable or\ndisable the feature.\n\nBug: 130310316\nBug: 130293184\nBug: 130209120\nTest: test-art-host\n\n(cherry picked from commit 40b1ba4543cf33e54f32e31cd2f276700c1be63c)\n\nMerged-In: If013a2f2f330684e4f6ab000c19ef3822990e613\nChange-Id: Ifca8d8b78e82463488bbb3f5796e9be7d94465b1\n"
    },
    {
      "commit": "6dfdfef85b210dc104a7cd221c6717e1a2123a13",
      "tree": "c8748f991a42bf15c77a388375c1af266f2bfdaf",
      "parents": [
        "a4469ef9e81bddf83d2b5b525d317de2070fbfd7"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Apr 11 17:39:11 2019 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Apr 12 15:43:15 2019 +0000"
      },
      "message": "Set core platform API policy from command line flag\n\nSo as to avoid any performance penalty from core platform API access\nchecks, disable them by default. AndroidRuntime.cpp now passes the value\nof the \"persist.debug.dalvik.vm.core_platform_api_policy\" to the\nruntime, allowing a user to enable core platform API checks on demand.\nThe workflow for a tester is:\n- adb shell setprop \u003cproperty\u003e \"just-warn\"\n- adb reboot\n- adb logcat | grep \"Core platform API\"\n\nTest: manual, observe warnings in logcat\nTest: art/test/testrunner/run_build_test_target.py art-test\nBug: 125701194\nChange-Id: Iae09a8f44918dc349bc10dbdd703043667f51268\n"
    },
    {
      "commit": "b215557206a39d3d2373c4ba7095bdae6a705144",
      "tree": "d17a39d4016aac38abf0699269c2532b4c4e5376",
      "parents": [
        "184832a46b21ff3ebe54f50f21dd71f2292d8943"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Mar 27 14:25:53 2019 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Mar 29 23:49:27 2019 +0000"
      },
      "message": "Add FinalizerTimeoutMs argument, and respect it\n\nAdd -XX:FinalizerTimeoutMs commandline argument, and make it\navailable for libcore.\n\nAdd 1336-short-finalizer-timeout to test it. Blacklist it for\nthe cases in which 030-bad-finalizers was known not to work,\nsince it\u0027s largely a clone. Disable it for gcstress, since timeout\nmargins are tight.\n\nIncrease timeout in 030-bad-finalizers due to gcstress issues.\n\nUse the result in 004-NativeAllocations and 030-bad-finalizers\nto avoid timeouts. Make 004-NativeAllocations more proactive in\navoiding timeout.\n\nThis is intended as a replacement for aosp/836642 .\n\nBug: 129350738\nBug: 68792448\nTest: Boot AOSP, TreeHugger\nChange-Id: I9aef9c9bacb7e8d851bd2c879ed9fb5b596abc60\n"
    },
    {
      "commit": "8682354d448e1c3c355dbcac07b77e9c40e35987",
      "tree": "a8e99b9b44617c6d9f52501069d44db773d0df47",
      "parents": [
        "1f146b7db14c976987033224caf90831bbf11b10"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 25 09:38:49 2019 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 13 18:19:00 2019 +0000"
      },
      "message": "ART: Allow to change boot image pickup order\n\nAllow to change the pickup order of boot image files between\nsystem-first and data-first.\n\nBug: 126307038\nTest: m test-art-host\nTest: Boot device with image in /data/dalvik-cache\nChange-Id: Id80cfc06aeb023559e1a3706833e57ba4880f43b\n"
    },
    {
      "commit": "6d8d4a27fcd41aa9ead932d96cf4d80647920831",
      "tree": "3c698d1f6cb8c4fa54480092a10a354907b09ba4",
      "parents": [
        "9a8dcea0e97e610c5b8589e0093dbb7766a08694"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 22 15:04:41 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 22 15:04:41 2019 +0000"
      },
      "message": "ART: Remove obsolete option -Xpatchoat:.\n\nTest: Rely on TreeHugger\nChange-Id: I01de17df4854ada2710a031f7d4952e18ffdc9e8\n"
    },
    {
      "commit": "de94ea7bf76fbfbbe8106b6da40751216f081304",
      "tree": "fe78aa7c12902e21a25350486f63770856328fb6",
      "parents": [
        "570886357e2c91ac913f34abdaf559432ce00853"
      ],
      "author": {
        "name": "Albert Mingkun Yang",
        "email": "albertnetymk@google.com",
        "time": "Fri Nov 16 10:15:49 2018 +0000"
      },
      "committer": {
        "name": "Albert Mingkun Yang",
        "email": "albertnetymk@google.com",
        "time": "Mon Dec 17 12:00:04 2018 +0000"
      },
      "message": "ART: add dump region info runtime option\n\nIntroduce two new runtime options, DumpRegionInfoBeforeGC and\nDumpRegionInfoAfterGC, for printing the live bytes ratio for non-free\nregions before and after each GC cycle.\n\nTest: Run art with -XX:DumpRegionInfoBeforeGC and -XX:DumpRegionInfoAfterGC on some benchmarks.\nBug: 119486919\nChange-Id: I0d6f210669b85d94034178815f6cae6fd19ca397\n"
    },
    {
      "commit": "91f1032505cfaec3aef51fc0a3085b213813f0ed",
      "tree": "6469e772d9fb562d26dc1d22dd0b71844bbb743f",
      "parents": [
        "573b3877fac3c5a4a9703301502694fe7219b21c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 07 18:04:10 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 07 18:13:55 2018 +0000"
      },
      "message": "Revert^2 \"Pass boot class path to ImageSpace::LoadBootImage.\"\n\nThis reverts commit db4b1deebf425be5f1d0f597d1ef540f19908324.\n\nFixed JDWP tests, see \"Test:\" stanzas below.\n\nChange-Id: I6fb56ac990b78164cbd3f93c9f6df66e0dd9a813\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing\nTest: run-libcore-tests.sh --mode\u003ddevice --variant\u003dX64\nTest: run-jdwp-tests.sh --mode\u003dhost --variant\u003dX64\nTest: run-jdwp-tests.sh --mode\u003ddevice --variant\u003dX64\nBug: 119868597\n"
    },
    {
      "commit": "db4b1deebf425be5f1d0f597d1ef540f19908324",
      "tree": "5851aab8a4d71b49dbd272b822bfd1ae2cbd08df",
      "parents": [
        "e3c6dfe2009d2fad6f8e4401cb17935bdd09ab9e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 07 17:18:07 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 07 17:23:26 2018 +0000"
      },
      "message": "Revert \"Pass boot class path to ImageSpace::LoadBootImage.\"\n\nThis reverts commit d19085141ad9c71eae1b0ff585999ac8e27dadd4.\n\nAlso squash a revert of\n    Fix oatdump tests on target.\n    (commit 77eea0898aca2881a87afd177a0422870c39a318)\n\nReason for revert: Broke JDWP tests.\nBug: 119868597\nChange-Id: I005097d2d96014c961e5a4c0b089e7675004febc\n"
    },
    {
      "commit": "d19085141ad9c71eae1b0ff585999ac8e27dadd4",
      "tree": "24284e84f5df4601bacc2a97c56af1bc5950c253",
      "parents": [
        "523940b40f9701504d6e007dd2af48f315038dc1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 22 14:57:28 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 06 14:43:07 2018 +0000"
      },
      "message": "Pass boot class path to ImageSpace::LoadBootImage.\n\nWhen loading the boot image by ImageSpace, do not rely on\nthe boot class path (BCP) recorded in the primary boot image\noat file. Instead, check the BCP from image against the BCP\nprovided by the Runtime, i.e. from -Xbootclasspath:_ or the\nenvironment variable BOOTCLASSPATH. For now, allow Runtime\nto extract the BCP from the primary boot image oat file when\nwe have -Ximage:_ but no BCP.\n\nAlso pass the boot class path components down to the OatFile\nso that we can open and use the original dex files when we\ndo not have copies in the vdex files. This allows compiling\napp prebuilts when the boot dex files are uncompressed and\naligned in the original jars.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing\nTest: run-libcore-tests.sh --mode\u003ddevice --variant\u003dX64\nTest: Manually create boot image jars with uncompressed and\n      aligned dex files, compile a boot image with dex files\n      not copied into vdex files and use this boot image for\n      compiling a prebuilt services.{art,vdex,odex}.\nBug: 119868597\nChange-Id: If9411ddbecf6bb90bfa9233040931c5e833f6aee\n"
    },
    {
      "commit": "2bb2fbd2879d0a6d9ebf7acff817079dde89b417",
      "tree": "d607aa6bfb2ea55fbfd875237b37c79f3cfed5f6",
      "parents": [
        "85865697ff9fabede3d64ff64cde72727c3fc4c1"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Nov 13 18:24:26 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Nov 16 11:11:20 2018 +0000"
      },
      "message": "Create SdkVersion enum, migrate users to it\n\nCreates a new SdkVersion enum with integer codes of known\nAndroid SDK versions, together with helper functions for common\npredicates. Also converts target_sdk_version_ in Runtime to\nuint32_t and cleans up its uses.\n\nTest: m test-art\nChange-Id: Idc6e518c8675068bf952d0256686c88bb0eb833e\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": "a5ca8ebef24e38348213cef31417a4ccc7c3dd1a",
      "tree": "9300d5f3edaf39f170037e007c1b4c6a7dbd798b",
      "parents": [
        "75eec5d14039d4cbc4ec9b96485b743573665627"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 24 13:39:13 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Aug 25 18:46:06 2018 +0100"
      },
      "message": "Default to usejit:true.\n\nManually verified places that could be affected (go/lem, buildbots, CTS).\nAlso adjust two tests expecting JIT.\n\nbug: 64164063\nTest: m and tests\nChange-Id: I6dc441f0f58203546480a0f7220ad4d9cd593fd3\n"
    },
    {
      "commit": "0b0ffc1429fde6fbf9bac20b8582e71ff1569451",
      "tree": "8da642e25c1e0dce946290389a9860092da184d1",
      "parents": [
        "72fb8639a61e100dcc39645c35a5c3e394ab0eba"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 01 14:41:27 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 01 14:58:21 2018 -0700"
      },
      "message": "ART: Add parameter for verifier timing log threshold\n\nMake the old 100ms timing threshold configurable.\n\nBug: 111857793\nTest: m test-art-host\nTest: manual\nChange-Id: I6c3d0c05acbe9d35d71999522077d5768c4e6c20\n"
    },
    {
      "commit": "baac7e44445286bb2a048ff24a14a65c537dd9b9",
      "tree": "838047521312068499b0183ceb93f958a40f93f0",
      "parents": [
        "cf8e60fceee8b622b63f022e7b37f7df0f604320"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jun 08 15:30:11 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jun 08 08:45:39 2018 -0700"
      },
      "message": "\"Revert^4 \"Make adbconnection start automatically for debuggable apps (on target)\"\n\nNeeded to tell run-jdwp-tests.sh not to load adbconnection since it\nmight not be present.\n\nThis reverts commit fb57a6528d73e6ddbccf3049f08f6fa400e6dcd1.\n\nReason for revert: Added -XjdwpProvider:none to run-jdwp-tests.sh\n\nBug: 109505014\nTest: ./art/tools/run-libjdwp-tests.sh\n\nChange-Id: I43941f7048ae5b64c6cbe7a8e7c273d47596192c\n"
    },
    {
      "commit": "fb57a6528d73e6ddbccf3049f08f6fa400e6dcd1",
      "tree": "e334f68df51c6078fd51f293a38146c6fcb6c106",
      "parents": [
        "7b39a39258311ad6c3da5934746a186c185c3f4f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 08 09:40:19 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 08 09:40:19 2018 +0000"
      },
      "message": "Revert \"Revert^2 \"Make adbconnection start automatically for debuggable apps (on target)\"\"\n\nThis reverts commit 7b39a39258311ad6c3da5934746a186c185c3f4f.\n\nFails jdwp tests on target.\n\nBug: 109505014\nChange-Id: Ib8a278bc8c8137e1f1397e3e881d652504fea96f\n"
    },
    {
      "commit": "7b39a39258311ad6c3da5934746a186c185c3f4f",
      "tree": "754ff7de04f56baa11e0185d549ddfc5af42f1fb",
      "parents": [
        "dc53f1616d656a757fb26039f387b7ee44ff2f1d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 06 14:18:24 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jun 07 11:24:36 2018 -0700"
      },
      "message": "Revert^2 \"Make adbconnection start automatically for debuggable apps (on target)\"\n\nThis reverts commit b2926c0cdbd30af7529b90fe20b24010f844ccc1.\n\nWe were trying to start with adbconnection but that was not always\navailable on devices. This could cause tests to fail.\n\nBug: 109505014\nReason for revert: Fixed issue causing target tests to sometimes fail.\nTest: ./test.py --target\n\nChange-Id: I0bb9cd2dce87145a8a9c372e2f015e36a3276369\n"
    },
    {
      "commit": "b2926c0cdbd30af7529b90fe20b24010f844ccc1",
      "tree": "3a6d17746e17213a04368d6140d246063f2316b2",
      "parents": [
        "5af3f503f3ad5a24dc1acac3070f7dcda4b6593d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 06 05:49:44 2018 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 06 05:49:44 2018 +0000"
      },
      "message": "Revert \"Make adbconnection start automatically for debuggable apps (on target)\"\n\nThis reverts commit 5af3f503f3ad5a24dc1acac3070f7dcda4b6593d.\n\nReason for revert: Breaks target tests\n\nBug: 109505014\nChange-Id: I43877a11c615637a152954e0c0d0b2b0f18bcc9e\nTest: none\n"
    },
    {
      "commit": "5af3f503f3ad5a24dc1acac3070f7dcda4b6593d",
      "tree": "76c3ca01e088b0fd8d1a863dc58ce4a7e22d3a76",
      "parents": [
        "5ebdc88a8469cb2bb9188c18b379ca486d338728"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 04 16:17:56 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 05 09:35:54 2018 -0700"
      },
      "message": "Make adbconnection start automatically for debuggable apps (on target)\n\nWith wrap.sh it is required that apps that wish to be debuggable\ndeclare that explicitly by adding the \u0027-Xcompiler-option --debuggable\u0027\noptions. When we switched to the new debugger implementation we\naccidentally added a requirement that you pass\n-XjdwpProvider:adbconnection. This removes that requirement and\nreturns to the earlier state.\n\nBug: 109505014\nTest: Build program with wrap.sh that adds -Xcompiler-option --debuggable\n      Attach debugger to program.\nChange-Id: I9416ed3b156776439f5bfec032fee3f11fe4eb3c\n"
    },
    {
      "commit": "47b95800f25c26fa92ede5eccb0216bddd6aa3b2",
      "tree": "4b59033e11d40b582001a4587a870a7e8a384d46",
      "parents": [
        "8566e36b76e7cbd1322c6d4ad9993795cdfda3a3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 16 15:42:17 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 17 14:08:41 2018 +0100"
      },
      "message": "Add a new thread pool pthread priority option.\n\nAlso refactor code to not duplicate information.\n\nbug: 79570024\nTest: m\nChange-Id: Ib5b8c980d34b2ae92530825fceab89fa0e32baa5\n"
    },
    {
      "commit": "53af040f8c1a817dcb1e727a3e83baab3449569a",
      "tree": "29a38f4aee4392fc7580f630f7909fb11da15ee5",
      "parents": [
        "b09abb2f8a988ccc95d91dc8624577188c771bc0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 03 10:40:37 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 04 11:55:30 2018 -0700"
      },
      "message": "ART: Remove tombstoned parameters\n\nThese are no longer supported. Always try to use tombstoned when on\na device.\n\nBug: 77288304\nTest: m test-art-host\nTest: Device boots\nTest: manual ANR dumps work\nChange-Id: Iffd3287432becfc7982cdcb9a0cfe44f0c5b5143\n"
    },
    {
      "commit": "6ee497188b0e8c7bcf5126cefad04090f956616a",
      "tree": "db2d06b01d255811726ea748db8eb6f62cd7b71c",
      "parents": [
        "642e9d8249be5aff68022cabdc8ba576a57ff8d6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 30 14:39:05 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 30 14:39:05 2018 +0000"
      },
      "message": "Revert^4 \"Add an option to disable native stack dumping on SIGQUIT.\"\n\nBug: 74121887\n\nStill failing :(\n\nThis reverts commit 642e9d8249be5aff68022cabdc8ba576a57ff8d6.\n\nChange-Id: I603ca9fdd2d8f2f759527130b3288efe5b23b5c3\n"
    },
    {
      "commit": "642e9d8249be5aff68022cabdc8ba576a57ff8d6",
      "tree": "1fa53cee639241bd3968997e55e38ed282235569",
      "parents": [
        "b939805d9d4b0957274c562fb8053512d04138b2"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 27 20:30:55 2018 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 27 22:36:09 2018 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Add an option to disable native stack dumping on SIGQUIT.\"\"\"\n\nThis reverts commit 74d25c9040dfd1e0985987eb38817e526878a3db.\n\nReason for revert: The original failing condition appears to be gone.\n\nBug: 74121887\n\nTest: Ran 004-ThreadStress many times against the target.\nChange-Id: Ie5bd050112e654a99bdfea7d6dd673882ca35567\n"
    },
    {
      "commit": "74d25c9040dfd1e0985987eb38817e526878a3db",
      "tree": "e63323329298a7cc67799324a6edc2378cfb6822",
      "parents": [
        "8b089742252e827d863218413e8855e1bae75af5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 12 19:26:44 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 12 19:26:44 2018 +0000"
      },
      "message": "Revert \"Revert \"Add an option to disable native stack dumping on SIGQUIT.\"\"\n\nBug: 27185632\nBug: 74121887\n\n\nGot flakes on device for 004-ThreadStress and 141-static-field-sigquit\n\nThis reverts commit 8b089742252e827d863218413e8855e1bae75af5.\n\nChange-Id: Ie76c84a1889e85b885d5f4123d60e8a760cf186d\n"
    },
    {
      "commit": "8b089742252e827d863218413e8855e1bae75af5",
      "tree": "bbfe333fced26fbc42f87a4469c59822611acd9f",
      "parents": [
        "f46f46cf5bd32788d5252b7107628a66594a5e98"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 05 11:47:30 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 05 13:43:15 2018 -0800"
      },
      "message": "Revert \"Add an option to disable native stack dumping on SIGQUIT.\"\n\nThis reverts commit a73280df8cac1279b6dea0424722f42ef0048613.\n\nBug: 27185632\nBug: 74121887\nTest: m test-art-host\nChange-Id: I24af48619577a78371c93cbad24d307d4d7a217d\n"
    },
    {
      "commit": "66ff8a8b82ff103d48d40e8dad01342c2d6f6d0d",
      "tree": "f1e177b7276d0387bc109fa12e6bd4cde060d5e9",
      "parents": [
        "878124c13b794900b0f5c437f52ac0f61538ab55"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 28 13:27:55 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 28 13:31:13 2018 +0000"
      },
      "message": "Revert \"Revert \"Full-stack integrity: check vdex contents.\"\"\n\nbug: 30972906\n\nInitial revert due to \u0027check\u0027 file of the test needing updating for target tests.\n\nThis reverts commit a19b7649faf8780737be7ce3ec48a12d81c6d69f.\n\nChange-Id: I455780bd88cd89ff80c9084d399e2beeb819b95f\n"
    },
    {
      "commit": "a19b7649faf8780737be7ce3ec48a12d81c6d69f",
      "tree": "a96372834531ab26b0fae78ce9ef4fecac3ef2c1",
      "parents": [
        "d6f914ea4bd09f2d60db2783f7a3fd93d3ec0afb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 27 17:26:11 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 27 17:26:11 2018 +0000"
      },
      "message": "Revert \"Full-stack integrity: check vdex contents.\"\n\nbug: 30972906\n\nTest fails on device.\n\nThis reverts commit d6f914ea4bd09f2d60db2783f7a3fd93d3ec0afb.\n\nChange-Id: I53902b0d6d4dbe8237f61bf01542acf538229c71\n"
    },
    {
      "commit": "d6f914ea4bd09f2d60db2783f7a3fd93d3ec0afb",
      "tree": "596ef15de83798868d8e6c6cb6cbcb9a45e203e8",
      "parents": [
        "b81dedbf4eae5c5a7e65836d3b6d3b6d541b6fa9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 15 13:56:50 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 27 10:40:05 2018 +0000"
      },
      "message": "Full-stack integrity: check vdex contents.\n\nFor priv-apps, if a vdex on /data has dex code, it must\nbe because the APK has compressed dex code.\n\nFall back to APK if not.\n\nFor test convenience, update --copy-dex-files to also\ntake a \"always\" variant.\n\nbug: 30972906\nTest: 677-fsi\n\nChange-Id: I49f0eab46650145316a86de2971a3b9c140bcff7\n"
    },
    {
      "commit": "d7fbc0eb824e495b940dd739404d945a35f01fd3",
      "tree": "bec376f405c5bef02d2c61f73c43738b6ef33fff",
      "parents": [
        "3bffbe8a8288cf01b7248fffdd320bf688529bcb"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Feb 12 16:44:36 2018 -0800"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 14 10:06:03 2018 +0000"
      },
      "message": "Refactor hidden API runtime flag from negative to positive\n\nThere are only two situations in which we want to enable hidden API\naccess checks: (a) when forking a non-platform app from zygote, and\n(b) when compiling such app with dex2oat. It is easier to cover these\ntwo situations than all the other situations when we want to disable\nthe checks. Make the flag in Runtime class false by default and only\nenable if checks are explicitly requested by the runtime.\n\nBug: 64382372\nTest: boot device, install and run apps, check log messages\n\n(cherry picked from commit 9cf8b671a24f55c7e1a1df561d6cce85b45cebd8)\n\nChange-Id: Ib5ccb20596c708cedf9b2c05af228463bec2adb1\n"
    },
    {
      "commit": "25419b59f6fce8da492c9d742d4a157c6c645558",
      "tree": "bcd10f3dfb0935aa7f3f38b909f0e7a2be5c0092",
      "parents": [
        "b1c724cc1e57878faed18cee007a26b9da7e3cf2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Feb 08 21:30:26 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Feb 08 21:30:26 2018 -0800"
      },
      "message": "ART: Add option to use stderr logger\n\nAdd a runtime option that sets the android-base logger to StderrLogger,\nforcing all further logging to go to stderr. This can be used for\nbetter interaction with dalvikvm or dex2oat on-device.\n\nBug: 72998814\nTest: m test-art-target-gtest-dex2oat_test\nChange-Id: I18794bbed0885810f8f0480816b1c780753a9702\n"
    },
    {
      "commit": "264a486a05e832889b17dd2bbad2d9c6588c3603",
      "tree": "f6aa966402cf3678ceaac8a7d4c13ee35097ecc4",
      "parents": [
        "f346af51a5d44ee0a3cd26e7e0e1b28ec1c5579f"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 31 16:47:58 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 31 09:48:16 2018 -0800"
      },
      "message": "Revert \"Revert \"Make the runtime default to not allowing JDWP again.\"\"\n\nThis reverts commit f05c32008de16f669ea8323c4e17beef1df92d20.\n\nWe need to change the arguments passed from run-jdwp-tests.sh in some\nsituations.\n\nReason for revert: Fixed issue causing go/art-build to fail.\n\nTest: ./art/tools/run-jdwp-tests.sh --mode\u003dhost\nBug: 72400560\n\nChange-Id: I2be260479816e3a48df5cb65bba25858750df4db\n"
    },
    {
      "commit": "f05c32008de16f669ea8323c4e17beef1df92d20",
      "tree": "449f6564eab8be9c38ea63c5e80bac5446203cfa",
      "parents": [
        "b06bd683aab50a80ef98f0ffbec9880dad068d15"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 31 07:34:46 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 31 07:34:46 2018 +0000"
      },
      "message": "Revert \"Make the runtime default to not allowing JDWP again.\"\n\nThis reverts commit b06bd683aab50a80ef98f0ffbec9880dad068d15.\n\nReason for revert: Broke go/art-build. Reverting as ART Sheriff.\n\nChange-Id: I1ab4f5eb22b51b3b348f592c22db340b88af4f7f\n"
    },
    {
      "commit": "b06bd683aab50a80ef98f0ffbec9880dad068d15",
      "tree": "d9787a74a4b57fcdffd74fe98cf0f6ae74e21f85",
      "parents": [
        "0406e1e59970399393f53923704e1b9a828b2173"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jan 29 13:26:45 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jan 30 09:11:16 2018 -0800"
      },
      "message": "Make the runtime default to not allowing JDWP again.\n\nThis was unintentionally changed a while ago and is causing a CTS test\nto fail. Changed to make the runtime default to disabling jdwp if a\nprovider isn\u0027t given. Note this does not stop one from starting a\ndebugger with -agentpath. If jdwp options are given with jdwp disabled\nthe runtime will print a warning.\n\nTest: atest CtsJdwpSecurityHostTestCases\nTest: ./test/run-test --host --debug 001-HelloWorld\nBug: 72400560\n\nChange-Id: I6561f269d9279eba0c1ac0b0f593ece867dab49e\n"
    },
    {
      "commit": "3e0fa0aa5d929737f1d1c4bac07e2695ac438324",
      "tree": "5f2285b5a897f1978486dfba4cba3bd0e059c4be",
      "parents": [
        "b98747c267b9c7abee60dd95e1341d9138b4e5c6"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Jan 15 18:41:44 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Sat Jan 20 20:07:01 2018 +0000"
      },
      "message": "Add runtime option for no hidden API access checks\n\nAdd a new Runtime option -Xno-hidden-api-checks to disable\nenforcing hidden API access restrictions.\n\nTest: m test-art-host\nBug: 64382372\nChange-Id: I8bd5b7ef307f21ba71d05a066a9d5dd2d7614543\n"
    },
    {
      "commit": "a7db026ff647eefb589043dbb55bbf28637755e8",
      "tree": "7e8c2ac3b279483405191b417bdcf03e892e6b27",
      "parents": [
        "2b9c35be35a759ba2032692648f5bbcb1e7e78c8"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Jan 16 17:13:35 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Jan 16 17:17:09 2018 +0000"
      },
      "message": "Add a new runtime option for target SDK version\n\nSDK version can be set through VMRuntime, but we also need a way\nof setting it in dex2oat.\n\nBug: 64382372\nTest: make test-art-host\nChange-Id: I82b9360be59a8bc1984006379d8011d50a0199c3\n"
    },
    {
      "commit": "aadcbc64c674995ccdaf686789c8d39ada9913ad",
      "tree": "2b0c9c473437e49ac3c85f8a04ce979ffced880b",
      "parents": [
        "ce4982554648998abd0980bd06e738f4bcaa35d9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 28 14:05:42 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 02 09:08:00 2018 -0800"
      },
      "message": "ART: Refactor Agent into Agent and AgentSpec\n\nSeparate configuration/loading and runtime state.\n\nTest: m test-art-host\nChange-Id: I69bb91e13ef10b9e1ce313f45b0b809b913d8e10\n"
    },
    {
      "commit": "403207107da7f11525c4d305184c56b35ec1c17a",
      "tree": "f97f080fcfa8051df18536e97a33582ee4bbbc6a",
      "parents": [
        "ba3a790338725a37ecd4cb314c4a6147e29aef38"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 14 11:52:04 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 19 09:26:11 2017 -0800"
      },
      "message": "Add support for selecting alternate JDWP implementations\n\nChange JDWP options parsing to take place later and add a\n-XjdwpProvider:_ option that can be used by the runtime to select an\nappropriate JDWP provider. The argument is a string.\n\nIf \u0027none\u0027 is given JDWP will be totally disabled.\n\nIf \u0027internal\u0027 is given the current internal JDWP implementation is\nused.\n\nIf \u0027default\u0027 is given the \u0027internal\u0027 JDWP implementation will\ncurrently be used.\n\nOther values will be added in the future.\n\nAlso adds a runtime callback that will be invoked when the runtime\nwants to start or stop the debugger (namely at the post-zygote fork\nand just before exit) and check if a debugger is availible.\n\nAlso add \u0027-XjdwpOptions:_\u0027 in preparation for the eventual removal of\nthe existing -Xrunjdwp\u003d_ and -Xagentlib:jdwp\u003d_ as top-level options.\nAll of these options now store their arguments as a std::string to be\ninterpreted by the JDWP implementation as it sees fit. Also change the\njdwpOptions to default to transport\u003ddt_android_adb if there is not one\nspecified and it is available. This will make changing the default\ntransport based on the JDWP provider easier.\n\nThese new options are needed to allow us to support both the old,\ninternal, JDWP implementation as its replacement is tested and\nverified. This lets us switch between them with little difficulty.\n\nWe will probably remove one or both of these options once we have\nconfidence that the new jdwp implementation has stuck.\n\nTest: ./test.py --host -j50\nTest: ./test/run-test --host --debug 001-HelloWorld\nTest: Manual, flash walleye, debug app\n\nBug: 62821960\n\nChange-Id: Ie31db6b6f7d76a03d4ab8e178fcf298ed0eec203\n"
    },
    {
      "commit": "c42cb0e08a7c8f7085115e57b0ea92da9eee1575",
      "tree": "05fe067296d7e15bd3e607ac8792eca8652548dc",
      "parents": [
        "6cee5e402cb206f0c0878e999f885a7206dcbb09"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 13 11:35:00 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 13 16:35:55 2017 -0700"
      },
      "message": "Add -XX:MadviseRandomAccess option\n\nIf enabled, ART will advise random access to the kernel for files\nthat are thought to have such access patterns.\n\nBug: 67772594\nTest: verify that -XX:MadviseRandomAccess:true is passed to runtime init\n\n(cherry picked from commit 087f2046dfdf41646c740a05004b4d40cbd99b11)\n\nChange-Id: I76a5f62846d563a4f2cf25e47dbd320464aee8c1\n"
    },
    {
      "commit": "1b35b469e0e8a70d9fd3f6c22d7e828b044c0df8",
      "tree": "69ed5dfd4357ae136078dda3094790679d000335",
      "parents": [
        "3aaa6bf5639e0f77e814424bbcbab4fb9e3e990b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 29 18:52:15 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 04 19:17:49 2017 -0700"
      },
      "message": "ART: Add allocation tracking to JNI global refs\n\nAdd allocation tracking to global references. When the reference\ntable\u0027s free capacity falls under an adjustable value, enable\ntracking so as to help tracking down possibly-leaky allocations.\n\nBug: 67044702\nTest: m test-art-host\nChange-Id: Ic17d6ebbad895b54c5ac63558027e04aef2b14c1\n"
    },
    {
      "commit": "7897cecf822babe9dd1f379b73a7387c30d31db8",
      "tree": "7ed2963c4b048fe27725acd6b16f77d530b189e3",
      "parents": [
        "e8f48da635c4d07bbe431e5819da8e1fad91a8ef"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 19 16:28:59 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 19 17:30:51 2017 -0700"
      },
      "message": "ART: Refactor JIT stress mode a runtime debug flag\n\nDo not use a constexpr default compilation threshold for the JIT.\nInstead use a tri-state that distinguishes non-debug, fast-debug\nand slow-debug modes.\n\nBug: 35644369\nTest: m test-art-host\nChange-Id: I3f8d71126af6b7f6b6aaa7a59cf0a42e5ee3fe01\n"
    },
    {
      "commit": "d0210e58100e029e865e783beb7906090781f602",
      "tree": "ace7eea3b27e97e3e01060ea1d0a6ef277a8f89f",
      "parents": [
        "a0e63dfbfe2f2513a709e94b8a1ac17418396fdf"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 23 13:38:09 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 23 15:51:11 2017 -0700"
      },
      "message": "ART: Add stack-dump mode for contention logging\n\nAdd a second threshold to contention logging. If this threshold\nis reached, log the owner and the contender thread to the logcat.\n\nRequires a bit of refactor in the contention logging code to hold\nthe locks correctly (different requirements for owner and contender).\nAdd -Xstackdumplockprofthreshold:ms to control the threshold value.\nAs with general contention logging, default to 0 \u003d off. Use ThreadStress\nwith --locks-only to get test coverage.\n\nBug: 62353392\nTest: m test-art-host\nChange-Id: I1b5a5130c4f908497ac06464130844f5ca42a5fb\n"
    }
  ],
  "next": "1c5b42f00933b8f28b447f039fb93a7d9a9db06f"
}
