)]}'
{
  "log": [
    {
      "commit": "54c7da9c50ee85ade636605cd6ea18b4c2bc69fa",
      "tree": "57e1a23dcc0beba8e98841b8cf063f6153b08c9b",
      "parents": [
        "d94653399e2f9f06bbdf629f2affbf9a4fa73b8f",
        "2bb2fbd2879d0a6d9ebf7acff817079dde89b417"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Nov 16 14:21:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 16 14:21:47 2018 +0000"
      },
      "message": "Merge changes Idc6e518c,Ia1cc0506\n\n* changes:\n  Create SdkVersion enum, migrate users to it\n  Runtime flags only for fast/slow hiddenapi path\n"
    },
    {
      "commit": "d94653399e2f9f06bbdf629f2affbf9a4fa73b8f",
      "tree": "738b85fd1f00a750fc912c9e8ba3d48178f23238",
      "parents": [
        "5f24607b47433da7862a8b51f7355008256ae037",
        "fe21070898e13cb5e6111d8749a97a679994eb5d"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Nov 16 13:40:42 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 16 13:40:42 2018 +0000"
      },
      "message": "Merge \"ART: add GC time ratio metrics to GC performance\""
    },
    {
      "commit": "5f24607b47433da7862a8b51f7355008256ae037",
      "tree": "c5e1bb93c0e7ed0c3b481ab135c60f83a64da671",
      "parents": [
        "bf86464506dce85a7b67ea1c4eb3e1f4f1d2085f",
        "b9f1af59681a73a33c86dd5919cc11874623d9d8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 16 13:33:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 16 13:33:50 2018 +0000"
      },
      "message": "Merge \"Small cleanups in jit_code_cache.\""
    },
    {
      "commit": "bf86464506dce85a7b67ea1c4eb3e1f4f1d2085f",
      "tree": "92627875da9819cfafe2b6f69b2f74961da6b350",
      "parents": [
        "4c8cf12c4d7a55566054c24e3067672213502ee0",
        "2b6b3e5317c2159e97e56173fa559479f757980e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 16 13:04:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 16 13:04:52 2018 +0000"
      },
      "message": "Merge \"EnableDebugger: handle the case when hard RLIMIT_CORE is \u003cinf.\""
    },
    {
      "commit": "4c8cf12c4d7a55566054c24e3067672213502ee0",
      "tree": "e10a76f840929c1e3430d9c2cd791aa81d847ff9",
      "parents": [
        "b321ac28f726a7ed41f277382d85702ffdfbe00f",
        "0ae075e4b3753436f98aba164ca23b3cbbfdc960"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 16 12:04:36 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 16 12:04:36 2018 +0000"
      },
      "message": "Merge \"Ignore finalizer warnings on not being able to close dex files.\""
    },
    {
      "commit": "0ae075e4b3753436f98aba164ca23b3cbbfdc960",
      "tree": "e10a76f840929c1e3430d9c2cd791aa81d847ff9",
      "parents": [
        "b321ac28f726a7ed41f277382d85702ffdfbe00f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 16 12:03:21 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 16 12:03:21 2018 +0000"
      },
      "message": "Ignore finalizer warnings on not being able to close dex files.\n\nAs we\u0027re using the main dex file, that\u0027s expected.\n\nTest: test.py --host --gcstress\nChange-Id: I31e06d94aefab803fff699b6af385fbad01c6dd8\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": "85865697ff9fabede3d64ff64cde72727c3fc4c1",
      "tree": "0c67639c4c286149fa3f06f5f412683e39014790",
      "parents": [
        "b321ac28f726a7ed41f277382d85702ffdfbe00f"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Oct 30 17:26:20 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Nov 16 11:11:20 2018 +0000"
      },
      "message": "Runtime flags only for fast/slow hiddenapi path\n\nWith more flags being supported in the dex file, stop copying all of\nthem into ArtField/ArtMethod access flags. Instead, store the\ninformation needed to figure out whether to enter the slow path and\nretrieve full access flags from dex or not.\n\nAt the moment, the only runtime flag is kAccPublicApi assigned to all\nclass members on the whitelist.\n\nThe CL also moves hardcoded API membership of intrinsics out of\nArtMethod and into hidden_api.h, and moves ArtMethod::SetIntrinsic\ninto the .cc file.\n\nTest: m test-art\nChange-Id: Ia1cc05060dbc22341768161dfd8697c6158e803a\n"
    },
    {
      "commit": "b9f1af59681a73a33c86dd5919cc11874623d9d8",
      "tree": "d31e900f951201e406c524efd75318ebdbe4d649",
      "parents": [
        "b321ac28f726a7ed41f277382d85702ffdfbe00f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 16 10:30:29 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 16 10:30:29 2018 +0000"
      },
      "message": "Small cleanups in jit_code_cache.\n\nMake methods private, remove dead code.\n\nTest: test.py\nChange-Id: I4554d35c64115c6dd5308b6d509659e5c60346b1\n"
    },
    {
      "commit": "b321ac28f726a7ed41f277382d85702ffdfbe00f",
      "tree": "c454b79ad7abfda5323daa2ce4257c8fe3adacf5",
      "parents": [
        "9296e18a6af90d88ff3b557031659216c0cd130e",
        "b74574a5e497dbabbd716c758a9047b2dbdb2fb3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 16 10:19:17 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 16 10:19:17 2018 +0000"
      },
      "message": "Merge \"Speed up relative_patcher_arm64_test.\""
    },
    {
      "commit": "9296e18a6af90d88ff3b557031659216c0cd130e",
      "tree": "6c201062f3be6ec58dd6db21d4c21a81e8f977ae",
      "parents": [
        "671986e1bb82de1e5af97506d08ba343f3854711",
        "80a560c91a0c46215f4d554a58528fc24b00fc09"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 16 09:58:16 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 16 09:58:16 2018 +0000"
      },
      "message": "Merge \"Add native support for BaseDexClassLoader shared libraries.\""
    },
    {
      "commit": "671986e1bb82de1e5af97506d08ba343f3854711",
      "tree": "dd6ac704586de5fad547913fbe9b5cbe4e537bd3",
      "parents": [
        "25242cc4c4be390e0bf3b113dfdc792c6e25c3be",
        "9c4b970db31b234d6c0358802cd14ba4262e4ce6"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 16 09:47:01 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 16 09:47:01 2018 +0000"
      },
      "message": "Merge \"Rewrite image type in CompilerOptions.\""
    },
    {
      "commit": "25242cc4c4be390e0bf3b113dfdc792c6e25c3be",
      "tree": "acca77c7fa9dec2affca0128491b982a9f72552e",
      "parents": [
        "c980df6125e53bbf8e5e7e8eecb3f9b0125bae5e",
        "5074a819338cd4d688e9c3b68d1e28763d4c46eb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 16 06:05:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 16 06:05:41 2018 +0000"
      },
      "message": "Merge \"Add timeout_dumper to linux_bionic build\""
    },
    {
      "commit": "c980df6125e53bbf8e5e7e8eecb3f9b0125bae5e",
      "tree": "966f80eb3959b94a5508525b0726e05f53ac7286",
      "parents": [
        "3d719ed950772e1ec70fe082863e907d5acd3fcf",
        "8248490f24e8582ce2ead8cd878d8a2c38310a48"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 16 01:18:34 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 16 01:18:34 2018 +0000"
      },
      "message": "Merge \"Revert \"ART: Add StackVisitor accepting a lambda\"\""
    },
    {
      "commit": "8248490f24e8582ce2ead8cd878d8a2c38310a48",
      "tree": "f542af6560561526fc413e361e3323a615b5429c",
      "parents": [
        "36f8d22c672498753b9edc66ba11acc9816b2a17"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 16 00:47:49 2018 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 16 00:47:49 2018 +0000"
      },
      "message": "Revert \"ART: Add StackVisitor accepting a lambda\"\n\nThis reverts commit 36f8d22c672498753b9edc66ba11acc9816b2a17.\n\nReason for revert: Seems to be breaking test 687\n\nBug: 115837065\nChange-Id: I83bb1a9d76cc701c3d582778e5047ebd5dab5d29\nTest: TreeHugger\n"
    },
    {
      "commit": "3d719ed950772e1ec70fe082863e907d5acd3fcf",
      "tree": "42bcfc5beaad0cabf99852c44a92ffbaceee5249",
      "parents": [
        "e09485f761220ff16129d25b773ab968d3c2d76b",
        "88f3bbbb5611669ef3c4d7060899e9d560e0fa74"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 15 23:04:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 15 23:04:41 2018 +0000"
      },
      "message": "Merge \"Track header file change.\""
    },
    {
      "commit": "e09485f761220ff16129d25b773ab968d3c2d76b",
      "tree": "87f93a1c3e2d2c7805859231c9cb7dd92a778bba",
      "parents": [
        "9e70fafa9ca3bf055fe1e9d8cba4ddb4ee090776",
        "36f8d22c672498753b9edc66ba11acc9816b2a17"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 15 21:44:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 15 21:44:18 2018 +0000"
      },
      "message": "Merge \"ART: Add StackVisitor accepting a lambda\""
    },
    {
      "commit": "5074a819338cd4d688e9c3b68d1e28763d4c46eb",
      "tree": "687e4744da03ba37f555ce02e4139c53e061be3b",
      "parents": [
        "e14294cc489aa5427c3eeede59ab90d0f2b466d6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Nov 15 09:37:21 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Nov 15 21:37:16 2018 +0000"
      },
      "message": "Add timeout_dumper to linux_bionic build\n\ntimeout_dumper is required to run run-tests in an\nenvironment without gdb. That includes the host-bionic\nbuild.\n\nTest: ./art/test/testrunner/run_build_test_target.py -j72 art-linux-bionic-x64\nBug: 118778408\nChange-Id: I5c049470dcde8763ef16f8287f03cd0a5803cb88\n"
    },
    {
      "commit": "2b6b3e5317c2159e97e56173fa559479f757980e",
      "tree": "8addc71e8a406db574017764b6cc4ed71b39bd7d",
      "parents": [
        "23d3ed8c124f239d26a583f9d096b22f7f6677d1"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Mon Nov 05 17:03:43 2018 -0800"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Thu Nov 15 13:23:59 2018 -0800"
      },
      "message": "EnableDebugger: handle the case when hard RLIMIT_CORE is \u003cinf.\n\nASan and HWASan set rlim_cur \u003d rlim_max \u003d 0 for RLIMIT_CORE.\n\nBug: 112438058\nTest: SANITIZE_TARGET\u003dhwaddress, no RLIMIT_CORE warnings in logcat\n\nChange-Id: I8839705673c371b9b393eca36c7519a1ea73d7be\n"
    },
    {
      "commit": "9e70fafa9ca3bf055fe1e9d8cba4ddb4ee090776",
      "tree": "254249b4aee99bb3dc6c739ed64ac70a9dd35abd",
      "parents": [
        "bbf9b051af797130b37911beca75b9d763d8c092",
        "21622b80ba3ddc25070704e837fe970d38348dd3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 15 20:40:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 15 20:40:27 2018 +0000"
      },
      "message": "Merge \"buildbot-build: Move the environment variable within the command.\""
    },
    {
      "commit": "bbf9b051af797130b37911beca75b9d763d8c092",
      "tree": "d267b65bbeb280ef2f13af02e7a00bbdbf982f84",
      "parents": [
        "e14294cc489aa5427c3eeede59ab90d0f2b466d6",
        "bc1e0fab934b7fb03545f08085b109d6508b17d0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 15 17:57:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 15 17:57:52 2018 +0000"
      },
      "message": "Merge \"Reduce class loader updating overhead.\""
    },
    {
      "commit": "b74574a5e497dbabbd716c758a9047b2dbdb2fb3",
      "tree": "aeba8fbea5ac544529315eeced9f547bc0ef927a",
      "parents": [
        "721538fa5c8c1a49c552453592e4bd1510995054"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 15 16:05:22 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 15 17:18:15 2018 +0000"
      },
      "message": "Speed up relative_patcher_arm64_test.\n\nThis was one of the longest running tests because it had\nmany tests and for each test we have to create and tear down\nthe runtime. Refactor the macro-generated tests to use\ntemplates and merge many individual tests. This reduces the\ntime to run the test from over 50s to less then 20s on host.\n\nAlso speed up relative_patcher_thumb2_test a bit.\n\nTest: m test-art-host-gtest\nChange-Id: If7ffedbca788442cebf69e1276947fde9654f4a2\n"
    },
    {
      "commit": "9c4b970db31b234d6c0358802cd14ba4262e4ce6",
      "tree": "8a2f624b03fcf1fcfae3e42fe519e2900df3e52f",
      "parents": [
        "3c92ff4afe372ab0850ce95321ba4112b7f3dfdd"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 15:09:02 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 15 17:05:29 2018 +0000"
      },
      "message": "Rewrite image type in CompilerOptions.\n\nPrepare for introduction of boot image extension.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nChange-Id: Id007c4aeb4ada84fe65c1148fdf67e8a412e5b74\n"
    },
    {
      "commit": "e14294cc489aa5427c3eeede59ab90d0f2b466d6",
      "tree": "93561f2e7471b87f9c035353a5b4c1b25f599daf",
      "parents": [
        "810fa41e9c19b5569d03b1d7d48eb36add1f135f",
        "d120d336878c58291b0c90114bfe4d6049c76f2a"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 15 16:27:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 15 16:27:26 2018 +0000"
      },
      "message": "Merge \"Revert^2 \"ART: Fix breaking changes from recent VIXL update.\"\""
    },
    {
      "commit": "810fa41e9c19b5569d03b1d7d48eb36add1f135f",
      "tree": "56bd3f2c68dfc24f0488b33ac789e8b3712f17bb",
      "parents": [
        "f64ab19b98ce87b75337afba6684de27e89389a2",
        "f50ac103426588d9f7c014ef2d2b9c766f8dc25e"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Nov 15 15:04:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 15 15:04:47 2018 +0000"
      },
      "message": "Merge \"Simplify hidden_api.h logic\""
    },
    {
      "commit": "21622b80ba3ddc25070704e837fe970d38348dd3",
      "tree": "f335c580b8eb29e9a35ec7fd331baeee3fd2d6eb",
      "parents": [
        "f64ab19b98ce87b75337afba6684de27e89389a2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 15 14:50:07 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 15 14:50:42 2018 +0000"
      },
      "message": "buildbot-build: Move the environment variable within the command.\n\nOtherwise it doesn\u0027t get picked up.\n\nTest: buildbot-build.sh\nbug: 117811537\nChange-Id: I85eed83370edc79bcb9f5863c2a6359002b5d716\n"
    },
    {
      "commit": "f64ab19b98ce87b75337afba6684de27e89389a2",
      "tree": "e781b37dbe4dc3cf1ae830e699211938ace8c345",
      "parents": [
        "721538fa5c8c1a49c552453592e4bd1510995054",
        "a8e8cdf529b97a15204fef7b955144d0a1d17bed"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 15 13:10:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 15 13:10:21 2018 +0000"
      },
      "message": "Merge \"Disable path restrictions on buildbot-build.sh.\""
    },
    {
      "commit": "721538fa5c8c1a49c552453592e4bd1510995054",
      "tree": "f4fc42b589cb9e44b89038b084f61c5047114568",
      "parents": [
        "3c92ff4afe372ab0850ce95321ba4112b7f3dfdd",
        "4e3734a53614a1db710ea34b81f1cc2260790e7a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 15 12:24:35 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 15 12:24:35 2018 +0000"
      },
      "message": "Merge \"Rename HVecReduce::GetKind() to GetReductionKind().\""
    },
    {
      "commit": "3c92ff4afe372ab0850ce95321ba4112b7f3dfdd",
      "tree": "ad11302117615683e27319e1d0cc59f382a8c384",
      "parents": [
        "e923524e86b579846092487cc70d5e639d448603",
        "8786fd93e01b9c88f708c14743925489f8db8c28"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 15 09:48:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 15 09:48:38 2018 +0000"
      },
      "message": "Merge \"x86/x86-64: Remove broken codegen for MIN/MAX reduction.\""
    },
    {
      "commit": "e923524e86b579846092487cc70d5e639d448603",
      "tree": "3128336a1b879758dd656104411b26d6910daaac",
      "parents": [
        "0bcbe9399dfc546db5c81b13979afc85da19d025",
        "ec3adef6e4a5c71d16d4e9d00ef810759ea7da15"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 15 06:00:19 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 15 06:00:19 2018 +0000"
      },
      "message": "Merge \"libdexfile: rename kVerifyNone to kVerifyNothing\""
    },
    {
      "commit": "bc1e0fab934b7fb03545f08085b109d6508b17d0",
      "tree": "87048ec7cccd78f9819ba16d95539a8deae51659",
      "parents": [
        "0bcbe9399dfc546db5c81b13979afc85da19d025"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 14 16:18:18 2018 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 14 16:40:48 2018 -0800"
      },
      "message": "Reduce class loader updating overhead.\n\nAvoid unnecessary read barrier for comparing class loader agianst\nnull. Avoid transaction check.\n\nDeleted the helper class to simplify the code.\n\nThe time goes from ~3.8ms to ~2.9ms on Maps.\n\nTest: test-art-host\nBug: 116052292\n\nChange-Id: I4a966a9bb39400ba58d7cf3e0b2c8ab4747d65ed\n"
    },
    {
      "commit": "fe21070898e13cb5e6111d8749a97a679994eb5d",
      "tree": "37705205f769a95680a10df3d259bbdb211f6918",
      "parents": [
        "2b021c83498e523781ef3f413ebe34a3512900b3"
      ],
      "author": {
        "name": "Albert Mingkun Yang",
        "email": "albertnetymk@google.com",
        "time": "Thu Nov 08 20:51:20 2018 +0000"
      },
      "committer": {
        "name": "Albert Mingkun Yang",
        "email": "albertnetymk@google.com",
        "time": "Wed Nov 14 20:05:14 2018 +0000"
      },
      "message": "ART: add GC time ratio metrics to GC performance\n\nRecord CPU time for GC cycle and the whole process. Print the ratio if\nDumpGCPerformanceOnShutdown is set.\n\nTest: Run art with -XX:DumpGCPerformanceOnShutdown on some benchmarks.\nBug: 112187497\nChange-Id: I4a7c3cd457662e57faff21f506a5bc4ba143ee25\n"
    },
    {
      "commit": "4e3734a53614a1db710ea34b81f1cc2260790e7a",
      "tree": "2d1c5afdff2a46e71d6c576da2d0da0eb7e44f04",
      "parents": [
        "8786fd93e01b9c88f708c14743925489f8db8c28"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 15:45:28 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 18:44:19 2018 +0000"
      },
      "message": "Rename HVecReduce::GetKind() to GetReductionKind().\n\nAvoid hiding HInstruction::GetKind().\n\nTest: m test-art-host-gtest\nChange-Id: If7334af437d0a6d93b8228763451c80876aa4d00\n"
    },
    {
      "commit": "0bcbe9399dfc546db5c81b13979afc85da19d025",
      "tree": "ba60269d976c8e7587cfe3a02e0cc16fbd544f64",
      "parents": [
        "01d45400c7fb057a8c3832708ae5b237a05645db",
        "4deaa9b3780998df8d0dca9670446aeae1df93ef"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 18:08:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 18:08:20 2018 +0000"
      },
      "message": "Merge changes I1617a601,Ifa324bea\n\n* changes:\n  ART: Apply --no-inline-from\u003d option on device.\n  Postpone DexCache preloading in the ImageWriter.\n"
    },
    {
      "commit": "01d45400c7fb057a8c3832708ae5b237a05645db",
      "tree": "467279ab5192d79298f20a03b56762c9db1c1a9e",
      "parents": [
        "b56e8353020acda1a8285daa11c69f57060cd015",
        "cbdca728b45a3eae3f6f7da4b499b292ebc42ea5"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Nov 14 18:07:13 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 18:07:13 2018 +0000"
      },
      "message": "Merge \"Add art-linux-bionic-x64 target-config\""
    },
    {
      "commit": "4deaa9b3780998df8d0dca9670446aeae1df93ef",
      "tree": "c4787f31662fe9e71ab1ff8321be3850460540bc",
      "parents": [
        "38cf60adda75d4d8646a3b4caa33c239e48dee03"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 14:48:15 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 17:22:06 2018 +0000"
      },
      "message": "ART: Apply --no-inline-from\u003d option on device.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Manually check that compiling boot image with\n      appropriate options on host and on device yields\n      identical results.\nBug: 119436742\n\nChange-Id: I1617a601a3a82e2ebd687a6b53e7e8a7ff610d87\n"
    },
    {
      "commit": "38cf60adda75d4d8646a3b4caa33c239e48dee03",
      "tree": "6f36c95c21eb2af2bf43d3f7728260f697d20533",
      "parents": [
        "e99f73533df5e3b8c4b2afef753ee50ffb9ff050"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 13 16:17:02 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 17:18:42 2018 +0000"
      },
      "message": "Postpone DexCache preloading in the ImageWriter.\n\nPreload the DexCache with deterministic contents just before\nwe\u0027re about to copy it to the image memory.\n\nPreviously the contents of the preloaded dex cache arrays\nwere further modified by the OatWriter. As long as OatWriter\nwas processing the same data on a single thread, this was\ndeterministic but it was not working as originally intended.\n\nAlso fix OatWriter::InitImageMethodVisitor::StartClass() to\nuse the deterministic ClassLinker::LookupResolvedType()\nrather than checking only the DexCache.\n\nClean up OatWriter::InitImageMethodVisitor::VisitMethod(),\ncall LookupResolvedMethod() instead of ResolveMethod() for\nboot image methods as they should be already resolved.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Manually verify with oatdump that dex cache array\n      contents are the same when compiling on host and\n      on the device.\nBug: 119436742\nChange-Id: Ifa324beabac2482621529655f72b4f734bd62030\n"
    },
    {
      "commit": "f50ac103426588d9f7c014ef2d2b9c766f8dc25e",
      "tree": "bac6537c3cd63cc382e24d9b94f0eb64f18ab0a4",
      "parents": [
        "b56e8353020acda1a8285daa11c69f57060cd015"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Oct 17 18:00:06 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Nov 14 16:49:40 2018 +0000"
      },
      "message": "Simplify hidden_api.h logic\n\nRefactor GetMemberAction to return a boolean whether access to a class\nmember should be denied. This also moves StrictMode consumer\nnotification into hidden_api.cc and removes notifications for toasts.\nTests are changed accordingly.\n\nTest: phone boots\nTest: m test-art\nMerged-In: I02902143de0ff91d402ba79c83f28226b1822a6f\nChange-Id: I02902143de0ff91d402ba79c83f28226b1822a6f\n(cherry picked from commit 51995f90adaa0e5047dee56d22f15e4225e70517)\n"
    },
    {
      "commit": "ec3adef6e4a5c71d16d4e9d00ef810759ea7da15",
      "tree": "2dfccbc2d529ad40c23681d3bbfcb9e47d5e62eb",
      "parents": [
        "b56e8353020acda1a8285daa11c69f57060cd015"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Nov 14 16:16:37 2018 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Nov 14 16:16:37 2018 +0000"
      },
      "message": "libdexfile: rename kVerifyNone to kVerifyNothing\n\nDisambiguation for clang compiler drop.\n\nBug: 119327768\nTest: art/tools/buildbot-build.sh --host -j32\nTest: Treehugger\nChange-Id: I5937868cdde6127ffca92d1dbb9be3ede6792b88\n"
    },
    {
      "commit": "8786fd93e01b9c88f708c14743925489f8db8c28",
      "tree": "23611dc79c1a9c37160827b56dce0cfa10878d1a",
      "parents": [
        "e99f73533df5e3b8c4b2afef753ee50ffb9ff050"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 15:47:03 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 15:48:38 2018 +0000"
      },
      "message": "x86/x86-64: Remove broken codegen for MIN/MAX reduction.\n\nThis broken code was currently unreachable.\n\nTest: m\nBug: 117863065\nChange-Id: I573d94bc30a53727958a6a66fb3a0afb00dcbbd2\n"
    },
    {
      "commit": "b56e8353020acda1a8285daa11c69f57060cd015",
      "tree": "cb570cb734aa7d51761985639c42b77f9b8f97d0",
      "parents": [
        "d0834e4a44440a8faf199024a030731ad26aae68",
        "12dd9aee74a588bf31f151cebba930849b4baceb"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Nov 14 14:13:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 14:13:52 2018 +0000"
      },
      "message": "Merge \"Use unified libvixl(d) instead of per-supported-arch libvixl(d)-arm(64).\""
    },
    {
      "commit": "d0834e4a44440a8faf199024a030731ad26aae68",
      "tree": "0e9219249ed08f2f966f7a294b186ddf4d30d8cc",
      "parents": [
        "e99f73533df5e3b8c4b2afef753ee50ffb9ff050",
        "435516229e5f511d1ac4498da58372c8fece35b7"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 14 11:50:03 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 11:50:03 2018 +0000"
      },
      "message": "Merge \"Revert^2 \"Link lzma and lz4 compression libs statically into libartbase and use that\"\""
    },
    {
      "commit": "e99f73533df5e3b8c4b2afef753ee50ffb9ff050",
      "tree": "cbb3a6ee148bb2456b454bfbfffee5527842a266",
      "parents": [
        "b81c59ebb56db1fc454a59570426c40b6d619c5b",
        "790ff518ad4d08ed4fb105f5c011c0ec47e092cd"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Nov 14 10:24:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 10:24:59 2018 +0000"
      },
      "message": "Merge \"Add mterp checks after monitor entry/exit opcodes.\""
    },
    {
      "commit": "b81c59ebb56db1fc454a59570426c40b6d619c5b",
      "tree": "589277760527d8a1a53f99f07141a3e3e71a0716",
      "parents": [
        "2b021c83498e523781ef3f413ebe34a3512900b3",
        "6be1dbd3bc34b2cfa0fe257acbea273f1b6f4a53"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 10:24:06 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 10:24:06 2018 +0000"
      },
      "message": "Merge \"ART: Rewrite core image detection.\""
    },
    {
      "commit": "6be1dbd3bc34b2cfa0fe257acbea273f1b6f4a53",
      "tree": "1840224989e4cbd538081951d948ed6a19bc61b4",
      "parents": [
        "dbcb48fc0d0841f327d108246487a4ef3df556ed"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 13 13:09:51 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 14 10:21:55 2018 +0000"
      },
      "message": "ART: Rewrite core image detection.\n\nRemove unused compiler option `core_image_` and cache\nthe IsCompilingWithCoreImage in the CompilerOptions instead.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: Idcf3b6c96dab9a39f823a16778e7698589442cd8\n"
    },
    {
      "commit": "790ff518ad4d08ed4fb105f5c011c0ec47e092cd",
      "tree": "bf9def1c8a0567905bec3946ee67fe7410ca3715",
      "parents": [
        "4630f9a032575f75be317fe0d8dc054bbce5790a"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Nov 09 18:55:19 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Nov 14 10:01:02 2018 +0000"
      },
      "message": "Add mterp checks after monitor entry/exit opcodes.\n\nCheck whether we are allowed to continue running in mterp.\n\nThis tries to enforce that we bail out of mterp after suspend point\nif needed (in particular, if debugger event switches interpreters).\n\nTest: ./art/test.py -b -r --interpreter\nChange-Id: If2d55e5ece22831ef864c181b7d6d5c70ca50e5d\n"
    },
    {
      "commit": "2b021c83498e523781ef3f413ebe34a3512900b3",
      "tree": "a26e2840a559a0214c532293166d3bd03a9dac0f",
      "parents": [
        "330d41da48a943baa467ab2ce745cd9c64998d7b",
        "d060c0bf62152296d1ce958517ebb0adbf77ee9d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 14 08:45:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 08:45:39 2018 +0000"
      },
      "message": "Merge \"Blacklist test now timing out on gcstress/target.\""
    },
    {
      "commit": "330d41da48a943baa467ab2ce745cd9c64998d7b",
      "tree": "5230eb407ae020fcd94494848a5ca784cec85f0a",
      "parents": [
        "dc02fc39435bc67e0fdd817217c57ede7b8613fb",
        "fa5869af7629bc5a4f70f4cc41b553c32ff8c5d4"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Nov 14 03:57:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 03:57:28 2018 +0000"
      },
      "message": "Merge \"Move file_contexts to under /system/sepolicy\""
    },
    {
      "commit": "dc02fc39435bc67e0fdd817217c57ede7b8613fb",
      "tree": "5a287242979fa333a0701434d36784df09faadf8",
      "parents": [
        "9e9fc708e32ace076b8fc9f809055662e1090762",
        "b1b21d73e1fdb62a4ca7871b61e9d90ce997b8cb"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Nov 14 00:50:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 00:50:27 2018 +0000"
      },
      "message": "Merge \"Ignore thread intel_svc_streamer_thread in test 911\""
    },
    {
      "commit": "b1b21d73e1fdb62a4ca7871b61e9d90ce997b8cb",
      "tree": "85acc7d4b80cd318fa0b4e37d5667cf240bdcb58",
      "parents": [
        "9c4bb4578df6449e61c1c46ea4eee36f463b0414"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 13 16:29:57 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 13 16:29:57 2018 -0800"
      },
      "message": "Ignore thread intel_svc_streamer_thread in test 911\n\nOn some versions of android a background thread with the name\n\u0027intel_svc_streamer_thread\u0027 will be present. This was causing the test\nto incorrectly fail when run by CTS.\n\nTest: atest CtsJvmtiRunTest911HostTestCases\nBug: 111276913\nBug: 117944706\nBug: 119518938\nChange-Id: I601ea06925c903ac04d7efc1c3c7d84af977d296\n"
    },
    {
      "commit": "9e9fc708e32ace076b8fc9f809055662e1090762",
      "tree": "1811ae6bf398986bc5a14e8f9b0b50f0b92f6483",
      "parents": [
        "e5a56803936246a0c5d8ddbaeba59e009cec6f82",
        "d6f301911ad977365db969283b67466dd4a76424"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 14 00:22:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 00:22:20 2018 +0000"
      },
      "message": "Merge \"Remove kDex2OatHostKey from oat-header\""
    },
    {
      "commit": "cbdca728b45a3eae3f6f7da4b499b292ebc42ea5",
      "tree": "056328157334dd17c3e1b7ed4140702e29759f7d",
      "parents": [
        "bad5c9a1f43148dc71f3b8e61cc201bc815fbac6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 13 14:03:02 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 13 14:45:30 2018 -0800"
      },
      "message": "Add art-linux-bionic-x64 target-config\n\nThis config can be used to run linux_bionic tests. Updated\nrun_build_test_target.py to support allowing fully custom build\ninstructions (Linux_Bionic cannot be built with a simple make\ncommand).\n\nTest: ./art/test/testrunner/run_build_test_target.py -j72 art-linux-bionic-x64\nBug: 118778408\nChange-Id: I27d12c508407e318d31fc50e541f7d990118e7b6\n"
    },
    {
      "commit": "e5a56803936246a0c5d8ddbaeba59e009cec6f82",
      "tree": "a367c07dbe9bb1eb844d02b4e868dab8e43788c9",
      "parents": [
        "d8b963fecd89b0624140fe78c8fd0604d24c8353",
        "c6bd42aa7e0ad6f394a55c4d972570b441574e85"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 13 22:27:51 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 13 22:27:51 2018 +0000"
      },
      "message": "Merge changes Iefe0f159,Ibe5bf113,Ic3d158d5\n\n* changes:\n  ART: Fix deopt manager JIT attempt\n  ART: Add Runtime::IsSafeMode\n  ART: Split Runtime::IsNativeDebuggable\n"
    },
    {
      "commit": "d8b963fecd89b0624140fe78c8fd0604d24c8353",
      "tree": "8d75dec45d2266401313de20836f23a195201867",
      "parents": [
        "57ee3473336912d89d7b9c2925dfbeab6eda3277",
        "9893c4773ce1da4dfb9f15140e93bf785abd89f7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 13 22:10:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 13 22:10:47 2018 +0000"
      },
      "message": "Merge \"Add missed null check in ClassLoaderContext::VerifyClassLoaderContextMatch.\""
    },
    {
      "commit": "c6bd42aa7e0ad6f394a55c4d972570b441574e85",
      "tree": "8846b34564a4b551ea467d8af24db13c28071b9e",
      "parents": [
        "83e2049b2ac8de0adac04a9a4229dbec7909df1e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 07 13:39:41 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 13 10:23:16 2018 -0800"
      },
      "message": "ART: Fix deopt manager JIT attempt\n\nIf the JIT is supposed to be started, a code cache needs to\nbe created first.\n\nBug: 119063276\nTest: m test-art-host\nTest: device boots\nChange-Id: Iefe0f159e4d75a2c534f703279b406ad6f0b5876\n"
    },
    {
      "commit": "83e2049b2ac8de0adac04a9a4229dbec7909df1e",
      "tree": "d34e9dd9d842eb929e57afee6c2a0d723778d336",
      "parents": [
        "d32ce09761ed5c6ecdd95396d0d668f04ccffd44"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 07 11:12:26 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 13 10:23:16 2018 -0800"
      },
      "message": "ART: Add Runtime::IsSafeMode\n\nEnsure that the safe mode can only be checked in non-zygote\nprocesses.\n\nBug: 119063276\nTest: m test-art-host\nTest: device boots\nChange-Id: Ibe5bf113c042dfb572c8a94ab17406cb8933ee62\n"
    },
    {
      "commit": "d32ce09761ed5c6ecdd95396d0d668f04ccffd44",
      "tree": "28c16c8ef6d6562af6e9cf33522bcd7ca6fada1d",
      "parents": [
        "57ee3473336912d89d7b9c2925dfbeab6eda3277"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 07 11:08:40 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 13 10:23:16 2018 -0800"
      },
      "message": "ART: Split Runtime::IsNativeDebuggable\n\nEnsure that the main version cannot be called in the zygote.\n\nBug: 119063276\nTest: m test-art-host\nTest: device boots\nChange-Id: Ic3d158d5d75fa6982411402f69062ac333b20798\n"
    },
    {
      "commit": "d6f301911ad977365db969283b67466dd4a76424",
      "tree": "00bfbfac77f6242f41c7951e35804296a0e90ec1",
      "parents": [
        "bad5c9a1f43148dc71f3b8e61cc201bc815fbac6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Nov 12 16:49:31 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 13 10:21:23 2018 -0800"
      },
      "message": "Remove kDex2OatHostKey from oat-header\n\nThe oat-header used to include the ISA of the dex2oat used to compile\nthe image. This made cross-compiling a bitwise identical oat/image\nfile impossible and is not terribly useful so it was removed.\n\nTest: ./test.py --host\nBug: 119332327\nChange-Id: If9d21b5997907ee01283d1345749a01e2a2359ea\n"
    },
    {
      "commit": "9893c4773ce1da4dfb9f15140e93bf785abd89f7",
      "tree": "3b665e3d9064957f6cc5b8eb9cf7b0c5177c91bc",
      "parents": [
        "61f9bf1d48c43a4b65df5d0fe2d70c4ee87921f8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 13 15:39:53 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 13 15:39:53 2018 +0000"
      },
      "message": "Add missed null check in ClassLoaderContext::VerifyClassLoaderContextMatch.\n\nbug: 119441748\nTest: class_loader_context_test\nChange-Id: I68301a568eb321b42209584a3328e9a1b0fcc7ba\n"
    },
    {
      "commit": "435516229e5f511d1ac4498da58372c8fece35b7",
      "tree": "e510804ebf5b8f1786a7c377e1cef9fb5bb11d90",
      "parents": [
        "e5ed5bafc97e65e8d2b60ddaca48754a50ca5692"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Nov 09 15:14:54 2018 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Nov 13 15:15:37 2018 +0000"
      },
      "message": "Revert^2 \"Link lzma and lz4 compression libs statically into libartbase and use that\"\n\nThis reverts commit 9960cbc0ff98978a9b32f14ae77d8ddb3c6908d9.\n\nReason for revert: This is the same as aosp/815019 except version_script is\nexcluded on Darwin. I think it should pass the mac targets, but haven\u0027t\ntested.\n\nTest: art/tools/buildbot-build.sh {--host,--target}\nTest: art/test/testrunner/run_build_test_target.py art-asan (not on Darwin)\nTest: python frameworks/rs/build_rs.py (on Darwin, thanks Orion!)\nBug: 118374951\nChange-Id: I7a362381f6d891c6dc1304e5fcf6f8851aa67d7c\n"
    },
    {
      "commit": "57ee3473336912d89d7b9c2925dfbeab6eda3277",
      "tree": "6bc700e4894039514d444ff8f635a5bf3ef8c5c3",
      "parents": [
        "61f9bf1d48c43a4b65df5d0fe2d70c4ee87921f8",
        "dbcb48fc0d0841f327d108246487a4ef3df556ed"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 13 13:16:01 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 13 13:16:01 2018 +0000"
      },
      "message": "Merge \"Avoid unnecessary read barriers in mirror::Class.\""
    },
    {
      "commit": "fa5869af7629bc5a4f70f4cc41b553c32ff8c5d4",
      "tree": "b22f07434598cc61d2205b1027a671307725a7f5",
      "parents": [
        "01812cf9fa9a28d15f24b47a4b2893dd8e06e7a4"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Sat Nov 10 06:49:31 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Nov 13 11:54:01 2018 +0000"
      },
      "message": "Move file_contexts to under /system/sepolicy\n\nBug: 119034475\nBug: 113373927\nTest: m com.android.runtime\nChange-Id: I3d8dbcb91297248a75cc2d81d21fe2a74f6e3cb6\n"
    },
    {
      "commit": "61f9bf1d48c43a4b65df5d0fe2d70c4ee87921f8",
      "tree": "aac38c1eec083a7d2a242ad89d90d48353480355",
      "parents": [
        "01812cf9fa9a28d15f24b47a4b2893dd8e06e7a4",
        "104883b04617a850adf11f05e57c2fd29e09c83c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 13 11:46:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 13 11:46:21 2018 +0000"
      },
      "message": "Merge \"Clean up primitive array helpers in Object.\""
    },
    {
      "commit": "01812cf9fa9a28d15f24b47a4b2893dd8e06e7a4",
      "tree": "5edf45b63e5ea98516d9212efb87fbeea08ec17c",
      "parents": [
        "e5ed5bafc97e65e8d2b60ddaca48754a50ca5692",
        "5cc0e75552b379e051168d832474f4d3989e9f74"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 12 23:15:35 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 12 23:15:35 2018 +0000"
      },
      "message": "Merge \"Emit JVMTI events for LockSupport.park\""
    },
    {
      "commit": "88f3bbbb5611669ef3c4d7060899e9d560e0fa74",
      "tree": "018c63d41b5c6c7d91820f5001a011b06eefa5bf",
      "parents": [
        "4630f9a032575f75be317fe0d8dc054bbce5790a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 12 14:28:11 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 12 14:28:11 2018 -0800"
      },
      "message": "Track header file change.\n\nBug: N/A\nTest: builds\nChange-Id: I49ec56941e1be0fb4fc489cc9b2930723efb4e5d\n"
    },
    {
      "commit": "e5ed5bafc97e65e8d2b60ddaca48754a50ca5692",
      "tree": "89d2da51e5e95eefbf7159e40f9fbbd6fa233b97",
      "parents": [
        "d1f1ccbd8c29962727ee859f71f11c8cfabcfaa1",
        "a66784b09f10d847b49bc878f10c45690e212f0b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 12 18:17:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 12 18:17:23 2018 +0000"
      },
      "message": "Merge \"Optimize mod power 2 for x86\""
    },
    {
      "commit": "d1f1ccbd8c29962727ee859f71f11c8cfabcfaa1",
      "tree": "761a1124b6581dc5d6bb176185852d27b090a652",
      "parents": [
        "a344b8c25a98471d99632a28530b03ed770f8e2e",
        "976b01f62ad8fa2e4a25f64c152839eb37552f9e"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Nov 12 17:48:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 12 17:48:47 2018 +0000"
      },
      "message": "Merge \"hiddenapi: Initialize unused value in DexFile::MapItem\""
    },
    {
      "commit": "5cc0e75552b379e051168d832474f4d3989e9f74",
      "tree": "c06f4bdb02252442fe68c2e978106862a0f93a1c",
      "parents": [
        "a344b8c25a98471d99632a28530b03ed770f8e2e"
      ],
      "author": {
        "name": "Charles Munger",
        "email": "clm@google.com",
        "time": "Fri Nov 09 12:30:46 2018 -0800"
      },
      "committer": {
        "name": "Charles Munger",
        "email": "clm@google.com",
        "time": "Mon Nov 12 17:32:59 2018 +0000"
      },
      "message": "Emit JVMTI events for LockSupport.park\n\nThis restores the behavior from when park was implemented with\nwait/notify, except that the blocker object is used as the monitor\nrather than the Thread that is parking.\n\nBug: 28845097\nTested: ./test/run-test --jvm 1931\n\nChange-Id: I523d719ca3e49a538c06f48f032b322fb91e147e\n"
    },
    {
      "commit": "d060c0bf62152296d1ce958517ebb0adbf77ee9d",
      "tree": "aa274cf29106458b59c9262b6a56fd75085bfc4c",
      "parents": [
        "4630f9a032575f75be317fe0d8dc054bbce5790a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 12 13:27:30 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 12 17:29:23 2018 +0000"
      },
      "message": "Blacklist test now timing out on gcstress/target.\n\nStarted happening in the same build as:\n\n- interpreter switch refactoring:\nhttps://android.googlesource.com/platform/art/+/b70c999fcc3ff4d4988e0214f4d18783ff35edf7\n\n- R8 drop:\nhttps://android.googlesource.com/platform/prebuilts%2Fr8/+/3f5cf1c79d98d7c2c5ee1da046cd2a028eb835e9\n\nTest: run-libcore-tests.sh\nChange-Id: I50651638d8e995acd7ff58c823ea7cd784d9cf77\n"
    },
    {
      "commit": "dbcb48fc0d0841f327d108246487a4ef3df556ed",
      "tree": "3abcfa87be3178d040739c465ce54f90dda96aa6",
      "parents": [
        "104883b04617a850adf11f05e57c2fd29e09c83c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 12 11:47:04 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 12 16:35:06 2018 +0000"
      },
      "message": "Avoid unnecessary read barriers in mirror::Class.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nChange-Id: Id98ebedf185bfc7f31eda506604c072f68b7a084\n"
    },
    {
      "commit": "a66784b09f10d847b49bc878f10c45690e212f0b",
      "tree": "a18ee4ec39a44256223b9f756159bfd535ddfde3",
      "parents": [
        "fe59955fc41e277bf1c60378202ba785abb1e4a8"
      ],
      "author": {
        "name": "Shalini Salomi Bodapati",
        "email": "shalini.salomi.bodapati@intel.com",
        "time": "Tue Nov 06 13:05:44 2018 +0530"
      },
      "committer": {
        "name": "Shalini Salomi Bodapati",
        "email": "shalini.salomi.bodapati@intel.com",
        "time": "Mon Nov 12 21:09:32 2018 +0530"
      },
      "message": "Optimize mod power 2 for x86\n\nTest: 411-checker-hdiv-hrem-pow2, test.py --host\n\nChange-Id: I9334a3eb2cb50df439b56c0161379fef46e58603\nSigned-off-by: Shalini Salomi Bodapati \u003cshalini.salomi.bodapati@intel.com\u003e\n"
    },
    {
      "commit": "104883b04617a850adf11f05e57c2fd29e09c83c",
      "tree": "51d436588505a3ead506d633bdf97c9b4c934ae0",
      "parents": [
        "00e96d054e2b656d4d0f99fc141d1701af4dba23"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 09 17:12:23 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 12 15:26:21 2018 +0000"
      },
      "message": "Clean up primitive array helpers in Object.\n\nRefactor these helpers and avoid read barriers. Remove\nClass::Is{Int,Long}ArrayClass() and use the Object helpers\ninstead.\n\nRemove the AsByteSizedArray() and AsShortSizedArray()\nhelpers that essentially break the type system and rewrite\ntheir users, adding appropriate notes. {Float,Double}Array\nuses in Unsafe would have previously failed a DCHECK().\n\nTest: Additional test in 004-UnsafeTest.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: I88b7e3df7de883f64cfc5eb437a40646f2884685\n"
    },
    {
      "commit": "a344b8c25a98471d99632a28530b03ed770f8e2e",
      "tree": "d6de23e626ce4e75d717cc60cb7d335710120178",
      "parents": [
        "4630f9a032575f75be317fe0d8dc054bbce5790a",
        "d26a519feba8779360251c38c82cf39294fcab27"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Nov 12 13:40:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 12 13:40:50 2018 +0000"
      },
      "message": "Merge \"Have the ART Buildbot\u0027s build script build the Android Runtime APEX.\""
    },
    {
      "commit": "976b01f62ad8fa2e4a25f64c152839eb37552f9e",
      "tree": "5b6206e8a069f5b824e7c96582188f1601a4afa0",
      "parents": [
        "fe59955fc41e277bf1c60378202ba785abb1e4a8"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Nov 12 10:46:14 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Nov 12 10:49:29 2018 +0000"
      },
      "message": "hiddenapi: Initialize unused value in DexFile::MapItem\n\nThe build tool adds a new MapItem into the MapList of a dex file\nwhich points to the new hiddenapi flags section. However, hiddenapi\nwould not initialize the `unused_` field in MapItem and therefore\nresult in non-deterministic builds.\n\nBug: 119308882\nTest: invoke hiddenapi twice of the same dex, diff the two files\nChange-Id: I00d0dc909a3424f3eb2776cf87719c074f264e74\n"
    },
    {
      "commit": "4630f9a032575f75be317fe0d8dc054bbce5790a",
      "tree": "8707efe278793db2825ae021cd8d7dd466e4d2d4",
      "parents": [
        "bad5c9a1f43148dc71f3b8e61cc201bc815fbac6",
        "c665d6368e85a5eb8055a58c535b41777c97d7c7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 09 21:42:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 09 21:42:39 2018 +0000"
      },
      "message": "Merge \"Revert^2 \"Notify waiters when releasing the monitor\"\""
    },
    {
      "commit": "d26a519feba8779360251c38c82cf39294fcab27",
      "tree": "a42f5dd8a3c12de0de1e7f5cf55ac280b2cd04ae",
      "parents": [
        "bad5c9a1f43148dc71f3b8e61cc201bc815fbac6"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Nov 09 19:35:32 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Nov 09 19:35:32 2018 +0000"
      },
      "message": "Have the ART Buildbot\u0027s build script build the Android Runtime APEX.\n\nEnable it for target builds, so that the ART Buildbot exercises the\nRuntime APEX module build rule.\n\nTest: art/tools/buildbot-build.sh --target\nBug: 113373927\nChange-Id: Iefe2a8ea4c0f4fc481e5f12afe9086eb9ed3f3bc\n"
    },
    {
      "commit": "bad5c9a1f43148dc71f3b8e61cc201bc815fbac6",
      "tree": "755c3378d35c4f5fe96423ec58a8a48e4b5d1b4b",
      "parents": [
        "00e96d054e2b656d4d0f99fc141d1701af4dba23",
        "e260e5438ff0dc4a4a3547c434e2364ad039f43a"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Nov 09 15:57:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 09 15:57:44 2018 +0000"
      },
      "message": "Merge \"ART: add GC live ratio metrics to GC performance\""
    },
    {
      "commit": "c665d6368e85a5eb8055a58c535b41777c97d7c7",
      "tree": "712cc488031bbf89767676d3a651df1a94ada611",
      "parents": [
        "4fc843c4fc9f33c4ba49c1303d526d0e0e6a3788"
      ],
      "author": {
        "name": "Charles Munger",
        "email": "clm@google.com",
        "time": "Tue Nov 06 16:20:13 2018 +0000"
      },
      "committer": {
        "name": "Charles Munger",
        "email": "clm@google.com",
        "time": "Fri Nov 09 07:52:11 2018 -0800"
      },
      "message": "Revert^2 \"Notify waiters when releasing the monitor\"\n\nThis reverts commit 9cec9658ec0b7a6c715a154ec834faba853188e3.\n\nReason for revert: Changed lock ordering to not require reacquiring the\nmonitor lock while holding the wait lock.\n\nTested: 1000 iterations of ThreadStress\nBug: 117842465\nChange-Id: I7b54943052c5eba367eac86da9646bfc81bc1163\n"
    },
    {
      "commit": "00e96d054e2b656d4d0f99fc141d1701af4dba23",
      "tree": "85cb8740401b0b61f80400e520700978a0628e80",
      "parents": [
        "f0c883ba9b90d4e808c8f3fb25f988c436cfbe55",
        "5f250014f4cc348a573798c4daa191ea1381078d"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Nov 09 14:26:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 09 14:26:28 2018 +0000"
      },
      "message": "Merge \"Make exception handling code in switch interpreter NO_INLINE.\""
    },
    {
      "commit": "e260e5438ff0dc4a4a3547c434e2364ad039f43a",
      "tree": "3d1d5fbacacc1549f66dfca6796bd79ed63460de",
      "parents": [
        "9c4bb4578df6449e61c1c46ea4eee36f463b0414"
      ],
      "author": {
        "name": "Albert Mingkun Yang",
        "email": "albertnetymk@google.com",
        "time": "Mon Nov 05 13:45:59 2018 +0000"
      },
      "committer": {
        "name": "Albert Mingkun Yang",
        "email": "albertnetymk@google.com",
        "time": "Fri Nov 09 13:11:28 2018 +0000"
      },
      "message": "ART: add GC live ratio metrics to GC performance\n\nRecord average GC live ratio (copied bytes over allocated bytes in\nform-space), and GC count for both minor and major ConcurrentCopy GC,\nand print both if DumpGCPerformanceOnShutdown is set.\n\nTest: Run art with -XX:DumpGCPerformanceOnShutdown on some benchmarks.\nBug: 112187497\nChange-Id: I587f92d847b899c81bf7a6d7303f7b54527c6f33\n"
    },
    {
      "commit": "f0c883ba9b90d4e808c8f3fb25f988c436cfbe55",
      "tree": "6b91edfbf19314a1b000938758f23f3c740c6e9e",
      "parents": [
        "fdf6401e1594e71a1e86d455d55333b939160bd9",
        "38a938e2e83f5baa3238ce3b28ba4c61a268dd3d"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Nov 09 11:47:08 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 09 11:47:08 2018 +0000"
      },
      "message": "Merge \"Minimal Android Runtime APEX module.\""
    },
    {
      "commit": "5f250014f4cc348a573798c4daa191ea1381078d",
      "tree": "ea7937619632fa1fa341563a5b8c443bcf77fd2f",
      "parents": [
        "fdf6401e1594e71a1e86d455d55333b939160bd9"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 08 14:16:38 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Nov 09 11:42:17 2018 +0000"
      },
      "message": "Make exception handling code in switch interpreter NO_INLINE.\n\nExceptions should be rare so the code can be shared.\nThe compiler needs a bit of help with optimization.\n\nIt saves 81k(arm32) and 150k(arm64) from libart.so.\n\nPerformance difference is within noise (golem using the switch).\n\nTest: \"./art/test.py -b -r --interpreter --host\" with switch interpreter.\nChange-Id: I08a5690ceaf6b3cae8c2a486ab809e5604b88e0a\n"
    },
    {
      "commit": "fdf6401e1594e71a1e86d455d55333b939160bd9",
      "tree": "3f06c26230a0382f2196e60259e54eb2ee8786de",
      "parents": [
        "9c4bb4578df6449e61c1c46ea4eee36f463b0414",
        "8ed45c876077771455d63dd7e315b439230812f8"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Nov 09 11:23:43 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 09 11:23:43 2018 +0000"
      },
      "message": "Merge \"Add test configuration for the switch interpreter.\""
    },
    {
      "commit": "38a938e2e83f5baa3238ce3b28ba4c61a268dd3d",
      "tree": "8b29c26d90b998fc717181298349ac2348f29c5f",
      "parents": [
        "a5de05da46e8a93436e68e7e0d242dce46269527"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Sep 21 10:55:51 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 08 19:38:07 2018 +0000"
      },
      "message": "Minimal Android Runtime APEX module.\n\nIntroduce build rules to generate com.android.runtime, a minimal\nAndroid Runtime APEX module containing just ART and its dependencies.\n\nWhen module com.android.runtime is built (`make com.android.runtime`),\nmake produces a `com.android.runtime.apex` package in the `apex`\ndirectory of the system partition\n(`$ANDROID_PRODUCT_OUT/system/apex/com.android.runtime.apex`).\n\nThis module is not built by default when generating a system image.\n\nTest: make com.android.runtime\nTest: art/build/apex/runtests.sh\nBug: 113373927\nChange-Id: I2019bd1934558feba6eccef13b887b2faa96caec\n"
    },
    {
      "commit": "9c4bb4578df6449e61c1c46ea4eee36f463b0414",
      "tree": "4e1ff9218394e44fc8c99d13d4d6fe92851c6b5f",
      "parents": [
        "a5de05da46e8a93436e68e7e0d242dce46269527",
        "a297b55dd8be424c7cdd4328356431d62e833d8f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 08 19:23:08 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 19:23:08 2018 +0000"
      },
      "message": "Merge \"Delete IsClassToCompile\""
    },
    {
      "commit": "8ed45c876077771455d63dd7e315b439230812f8",
      "tree": "239cc6db092fa00908af0be433b80baff16b172e",
      "parents": [
        "a5de05da46e8a93436e68e7e0d242dce46269527"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 08 15:08:57 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 08 17:09:16 2018 +0000"
      },
      "message": "Add test configuration for the switch interpreter.\n\nBug: 31358597\nTest: ./art/test/testrunner/run_build_test_target.py art-interpreter-cxx\nChange-Id: Iebb7a3a5168a27654984f3749a7b86542422671b\n"
    },
    {
      "commit": "a297b55dd8be424c7cdd4328356431d62e833d8f",
      "tree": "4e1ff9218394e44fc8c99d13d4d6fe92851c6b5f",
      "parents": [
        "a5de05da46e8a93436e68e7e0d242dce46269527"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 07 11:41:01 2018 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 08 08:59:24 2018 -0800"
      },
      "message": "Delete IsClassToCompile\n\nCompiled classes filtering is no longer a thing.\n\nBug: 26687569\nBug: 76145463\nTest: test-art-host\n\nChange-Id: Iaf4b9dcea5d9fe1eae564fbd6d373af2fdc87b14\n"
    },
    {
      "commit": "a5de05da46e8a93436e68e7e0d242dce46269527",
      "tree": "c388a8b97729adbd2d4767d2a4cb8fb757441e41",
      "parents": [
        "6e26c0bc10101e1023590f1b206c69baae01f0b9",
        "a4a96afd95e0819f4f35ece733e9a0731355d0d2"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 08 14:43:08 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 14:43:08 2018 +0000"
      },
      "message": "Merge \"Share the preamble in switch interpreter.\""
    },
    {
      "commit": "6e26c0bc10101e1023590f1b206c69baae01f0b9",
      "tree": "373ecce9d0ad42c05ab5f3319a0c1eb5410274bc",
      "parents": [
        "d4c1c08773414451dda32a4228253c0f443313a2",
        "dd121f637509a50d6744a0ad596f5dc627e0c60a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 08 12:29:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 12:29:37 2018 +0000"
      },
      "message": "Merge \"Emit bit manipulation instructions for x86 and x86_64\""
    },
    {
      "commit": "a4a96afd95e0819f4f35ece733e9a0731355d0d2",
      "tree": "60abbacda9fcbbdb56392e540aa5c683000812ff",
      "parents": [
        "d4c1c08773414451dda32a4228253c0f443313a2"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Oct 31 16:34:58 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 08 12:25:15 2018 +0000"
      },
      "message": "Share the preamble in switch interpreter.\n\nMove the preamble code to the main loop to avoid replicating it.\n\nThis halves per-file compile time to 0.5 min.\n\nIt saves 225k(arm32) and 348k(arm64) from libart.so.\n\nPerformance difference is within noise (golem using the switch).\n\nTest: \"test.py -b -r --interpreter --host\" with switch interpreter.\nChange-Id: I2615b3568eb79560d2d342ac3dd28f6269ee5e74\n"
    },
    {
      "commit": "d4c1c08773414451dda32a4228253c0f443313a2",
      "tree": "45fb374b124b9dc6efb8492d6cbac4d2f179f4d1",
      "parents": [
        "1ecd7a848ea0363a0036fad1b7e0771f57eea922",
        "47ad3763e0f0e74c6469e899af883a6c4d09d7bf"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 08 12:03:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 12:03:46 2018 +0000"
      },
      "message": "Merge \"Replace switch interpreter macros with C++ functions.\""
    },
    {
      "commit": "1ecd7a848ea0363a0036fad1b7e0771f57eea922",
      "tree": "f08befc96a48e721f40f597a13949b7aed68602f",
      "parents": [
        "a25b68373d9b4b131d18cc732f0aced1df0ea454",
        "9960cbc0ff98978a9b32f14ae77d8ddb3c6908d9"
      ],
      "author": {
        "name": "Annie Meng",
        "email": "anniemeng@google.com",
        "time": "Thu Nov 08 11:47:16 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 11:47:16 2018 +0000"
      },
      "message": "Merge \"Revert \"Link lzma and lz4 compression libs statically into libartbase and use that\"\""
    },
    {
      "commit": "9960cbc0ff98978a9b32f14ae77d8ddb3c6908d9",
      "tree": "46602632efd61e7d1330f52e4ec0c7404ae9bad0",
      "parents": [
        "21579bec04bea8a9a6ca65ad5493016d1fcb9dcc"
      ],
      "author": {
        "name": "Annie Meng",
        "email": "anniemeng@google.com",
        "time": "Thu Nov 08 11:44:19 2018 +0000"
      },
      "committer": {
        "name": "Annie Meng",
        "email": "anniemeng@google.com",
        "time": "Thu Nov 08 11:44:19 2018 +0000"
      },
      "message": "Revert \"Link lzma and lz4 compression libs statically into libartbase and use that\"\n\nThis reverts commit 21579bec04bea8a9a6ca65ad5493016d1fcb9dcc.\n\nReason for revert: Build failure\n\nChange-Id: Ia941425b9462f478be78058b3d63a30106421de6\n"
    },
    {
      "commit": "a25b68373d9b4b131d18cc732f0aced1df0ea454",
      "tree": "0622c19fd3b883b09c14d9b75169e9329965adb2",
      "parents": [
        "82b67b2ef24a2475e88135ec63aa50270aad0254",
        "21579bec04bea8a9a6ca65ad5493016d1fcb9dcc"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Nov 08 10:56:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 10:56:46 2018 +0000"
      },
      "message": "Merge \"Link lzma and lz4 compression libs statically into libartbase and use that instead.\""
    },
    {
      "commit": "47ad3763e0f0e74c6469e899af883a6c4d09d7bf",
      "tree": "d6e67f431a21ee8fbdfe6d2283e1e04587a8aeca",
      "parents": [
        "fe59955fc41e277bf1c60378202ba785abb1e4a8"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Oct 31 12:43:40 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 08 10:30:21 2018 +0000"
      },
      "message": "Replace switch interpreter macros with C++ functions.\n\nC++ code is more maintainable than huge macros.\n\nThe \"return\" statement was used within the macros to skip the rest\nof the interpreted opcode.  This is slightly more tricky in functions.\nAll such use cases have been replaced with \"return false\", and the\ncalling functions always check the return value and propagate it up.\n\nPerformance difference is within noise (golem using the switch).\n\nThis halves per-file compile time to 1min.\n\nTest: \"test.py -b -r --interpreter --host\" with switch interpreter.\nChange-Id: I01d861dec1c4a7e95e412fd4b662e5a4d7bd55a8\n"
    },
    {
      "commit": "82b67b2ef24a2475e88135ec63aa50270aad0254",
      "tree": "f08befc96a48e721f40f597a13949b7aed68602f",
      "parents": [
        "b1fcebe160ace50dfd38efae7439640b2ac4268f",
        "1a2a5cd58b7b667b664a7c20a4887a6cd89b4776"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 08 10:28:48 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 10:28:48 2018 +0000"
      },
      "message": "Merge \"Move profile compilation info to CompilerOptions.\""
    },
    {
      "commit": "1a2a5cd58b7b667b664a7c20a4887a6cd89b4776",
      "tree": "8f92ca17ba6f8324881f52aa741ad5ed0f87016a",
      "parents": [
        "a5175541c197e7bf9b03651ea5da4e64a2ac2d27"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 07 15:39:48 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 08 10:26:57 2018 +0000"
      },
      "message": "Move profile compilation info to CompilerOptions.\n\nRemove one HInliner dependency on the CompilerDriver.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: If6f0ab864095641b5697c8c6f5100520f91d5e53\n"
    },
    {
      "commit": "dd121f637509a50d6744a0ad596f5dc627e0c60a",
      "tree": "1e20c636cd40a5a87cae1cd0d0b55940c8111a20",
      "parents": [
        "fe59955fc41e277bf1c60378202ba785abb1e4a8"
      ],
      "author": {
        "name": "Shalini Salomi Bodapati",
        "email": "shalini.salomi.bodapati@intel.com",
        "time": "Fri Oct 26 15:03:53 2018 +0530"
      },
      "committer": {
        "name": "Shalini Salomi Bodapati",
        "email": "shalini.salomi.bodapati@intel.com",
        "time": "Thu Nov 08 14:50:29 2018 +0530"
      },
      "message": "Emit bit manipulation instructions for x86 and x86_64\n\nThis patch performs instruction simplification to\ngenerate instructions andn, blsmsk and blsr on\ncpus that have avx2.\n\nTest: test.py --host --64, test-art-host-gtest\nChange-Id: Ie41a1b99ac2980f1e9f6a831a7d639bc3e248f0f\nSigned-off-by: Shalini Salomi Bodapati \u003cshalini.salomi.bodapati@intel.com\u003e\n"
    },
    {
      "commit": "b1fcebe160ace50dfd38efae7439640b2ac4268f",
      "tree": "7f173e94d1b15d63cfe3352ac169c740c7924f4b",
      "parents": [
        "67da5aaddf112bde48006982d8e660942ddaa1e6",
        "4776987fe6e82a46398e7f211fa55990bb6d574a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 08 00:06:56 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 00:06:56 2018 +0000"
      },
      "message": "Merge \"ART: Small compiler-driver cleanup\""
    },
    {
      "commit": "67da5aaddf112bde48006982d8e660942ddaa1e6",
      "tree": "88396ec00297940144f5375d0d804fcb9863ea86",
      "parents": [
        "4c1784b53bb9bcb86076afce8c842d98feb0de97",
        "b406680dafa32bffb14fab7b406b30abb1c96dec"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 07 23:58:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 07 23:58:27 2018 +0000"
      },
      "message": "Merge \"Add test where we test jit \u0026 redefinition suitable for CTS\""
    }
  ],
  "next": "b406680dafa32bffb14fab7b406b30abb1c96dec"
}
