)]}'
{
  "log": [
    {
      "commit": "14bfeddf2e434954f0ca36687ac0fc5dc6412bd3",
      "tree": "59b23768c4d886e99bd81968e0eaf26ff2160a37",
      "parents": [
        "e55ea985ab4f77ca9557e33a2d29dc1a1f0ac078"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Feb 26 22:16:07 2019 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Feb 26 23:59:26 2019 +0000"
      },
      "message": "Revert \"Add support for booting with a boot classpath not fully AOTed.\"\n\nThis reverts commit 7417ce97c4dcabbd7423d46ff9b7cdaf95c1e0f9.\n\nReason for revert: Breaks debug mode\n\nBug: 119800099\nBug: 126239181\nChange-Id: I2d4a79f957a020cc6404a130536a416daebc94e3\n"
    },
    {
      "commit": "d388390c556181942b78a5384c3c66afd1d34222",
      "tree": "ca62bd886f00c53260abe3053dd8c058354984d6",
      "parents": [
        "817a47faba3b9150fd9345fbbda1320b02ebfa01"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Feb 26 17:29:32 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Feb 26 17:29:32 2019 +0000"
      },
      "message": "\"Revert^3 \"Suspend the runtime when switching interpreters.\"\n\nThis reverts commit 817a47faba3b9150fd9345fbbda1320b02ebfa01.\n\nReason for revert: Breaks build.\n\nChange-Id: I51a38e47186f778b4c1c119e9f21a5d5a1b786a8\n"
    },
    {
      "commit": "817a47faba3b9150fd9345fbbda1320b02ebfa01",
      "tree": "51d0876c8cb667384a25ee6a2eede761a121d455",
      "parents": [
        "e173798b890e3fdd2bbd68cda997d7b3d1a5a902"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Jan 08 14:05:37 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Feb 26 11:08:41 2019 +0000"
      },
      "message": "Revert^2 \"Suspend the runtime when switching interpreters.\"\n\nThis reverts commit 9fd68f6795eab7085986f80b1c4d00dc45a68485.\n\nTest: art/test.py -b --host --64\nTest: art/tools/run-libcore-tests.sh \u0027--mode\u003dhost\u0027 \u0027--variant\u003dX64\u0027\nTest: art/tools/run-libjdwp-tests.sh \u0027--mode\u003dhost\u0027 \u0027--variant\u003dX64\u0027\nChange-Id: I9d2faeb8b88ce7cf42915890c6089c725907e6dd\n"
    },
    {
      "commit": "797801c258801f895473a8cb71fda01cd37ce4c0",
      "tree": "f4a83d8dde0725257a4f195149f5108b5f0d8632",
      "parents": [
        "ae33e5ab58802e76a5c2d8e5860f099cecb909b4",
        "6d8d4a27fcd41aa9ead932d96cf4d80647920831"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 25 09:16:57 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 25 09:16:57 2019 +0000"
      },
      "message": "Merge \"ART: Remove obsolete option -Xpatchoat:.\""
    },
    {
      "commit": "9176a4f86e9f9c579002a3b9947733e01b96baff",
      "tree": "d8e960de8f108f60d21f09ac5e9b461e41dc5bbc",
      "parents": [
        "923917226c2037df8166c715834241c02e37cccc",
        "99fc9389d08c83de66b6f1ca44bd1820329600a6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Feb 24 13:38:34 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Feb 24 13:38:34 2019 +0000"
      },
      "message": "Merge \"Trust that boot classpath dex files don\u0027t need on device dex file verification.\""
    },
    {
      "commit": "c816d24f1e35ff8e10d5eadc77d5a75d6be5e776",
      "tree": "7be1f416621883f2b4b3bc646dc4c1dabb7def8b",
      "parents": [
        "bc0c48496cb9d22a9e0ee7e1c3d3016289f8150a",
        "e0b2ce413367c9266e9b0657a0505c1ef776b7ae"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 22 20:49:03 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 22 20:49:03 2019 +0000"
      },
      "message": "Merge \"Revert^2 \"Prevent agents from delaying system daemon threads\"\""
    },
    {
      "commit": "e0b2ce413367c9266e9b0657a0505c1ef776b7ae",
      "tree": "ea17b0478011d74009177bf9cf568718b3482777",
      "parents": [
        "77182cd0f4527538df832eddbc775391c283cffb"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Feb 21 19:23:42 2019 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Feb 22 08:56:22 2019 -0800"
      },
      "message": "Revert^2 \"Prevent agents from delaying system daemon threads\"\n\nIt looks like there might be a race between DetachCurrentThread and\nruntime shutdown that the original CL exposed with test 1919. I\u0027m not\nsure why this test exposed this issue, possibly it\u0027s due to the\nremoval of the Daemon events making the test faster, thus more likely\nto get to runtime-shutdown without the testing thread having fully\ndetached.\n\nThis reverts commit c08c10713e8884e8adfbf6a8e370a9ec96c1883f.\n\nReason for revert: (Hopefully) made test 1919 resistant to the flake\n                   it was experiencing.\nTest: ./test.py --host --ndebug -j80\n\nBug: 123696564\nBug: 124284724\n\nChange-Id: I2e58a71aa174f6b89e57c31378b0fe5bb41a8844\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": "bc0c48496cb9d22a9e0ee7e1c3d3016289f8150a",
      "tree": "074e3820f16dcf7a1d8f5f0f3a5a04cc7c67b2cd",
      "parents": [
        "c76c4cc4230f78aaa15decc94f28ec7de3c3aa02",
        "ed19c670d77bf52454c4be88e05f6f3d5b88454f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 22 14:51:55 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 22 14:51:55 2019 +0000"
      },
      "message": "Merge \"Fix errno handling to avoid being overwritten\""
    },
    {
      "commit": "99fc9389d08c83de66b6f1ca44bd1820329600a6",
      "tree": "2cc61c6e3e7984939e88ce4922886bcef18e0fa4",
      "parents": [
        "c76c4cc4230f78aaa15decc94f28ec7de3c3aa02"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 20 13:17:27 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 22 13:09:40 2019 +0000"
      },
      "message": "Trust that boot classpath dex files don\u0027t need on device dex file verification.\n\nBug: 119800099\nTest: boots\nChange-Id: I6d48a38945d601a3d74ebde2496c1446711c35fe\n"
    },
    {
      "commit": "c76c4cc4230f78aaa15decc94f28ec7de3c3aa02",
      "tree": "27dca36f773eb16c0944f0eb35f05a8067855dcd",
      "parents": [
        "c0584d97133a52b0fbc8347ea6edcd9c472de638",
        "144f82c2714be2bef9deb159e9d6ef4de583cc2c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 22 12:44:04 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 22 12:44:04 2019 +0000"
      },
      "message": "Merge \"In boot image experiment mode, treat boot classpath classes as verified.\""
    },
    {
      "commit": "144f82c2714be2bef9deb159e9d6ef4de583cc2c",
      "tree": "4526313c0e87e9cb35841ff91ef556e04aaf31e4",
      "parents": [
        "ec956e8866e4ee9fe59bb99b4db6a3b6017937f1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 21 09:43:18 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 22 08:45:27 2019 +0000"
      },
      "message": "In boot image experiment mode, treat boot classpath classes as verified.\n\nBug: 119800099\nTest: m \u0026\u0026 boot\nChange-Id: Ib7fbdf46c1fd65a79f07c5331eae4a54d526ce5b\n"
    },
    {
      "commit": "ed19c670d77bf52454c4be88e05f6f3d5b88454f",
      "tree": "24ebe39500709ff813c7fdf6570a5f2f3a6952a0",
      "parents": [
        "77182cd0f4527538df832eddbc775391c283cffb"
      ],
      "author": {
        "name": "Charles Munger",
        "email": "clm@google.com",
        "time": "Thu Feb 21 15:32:32 2019 -0800"
      },
      "committer": {
        "name": "Charles Munger",
        "email": "clm@google.com",
        "time": "Fri Feb 22 00:09:55 2019 +0000"
      },
      "message": "Fix errno handling to avoid being overwritten\n\nBug: 124468627\nTested: m build-art-host\n\nChange-Id: I4c9fba1ddd6374b8f4451b82ccfc7aed666c6ebc\n"
    },
    {
      "commit": "5c8b35109f28e95dfd56dd9da4a90eb1d6ad9d09",
      "tree": "b3311c0318b5c90bbd8632f8937a4e6f91f13407",
      "parents": [
        "e57087025bb462f875c1fb0574eefba92f29ff20",
        "c08c10713e8884e8adfbf6a8e370a9ec96c1883f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 21 14:27:30 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 21 14:27:30 2019 +0000"
      },
      "message": "Merge \"Revert \"Prevent agents from delaying system daemon threads\"\""
    },
    {
      "commit": "e57087025bb462f875c1fb0574eefba92f29ff20",
      "tree": "15278f603ea9508869dcc9ab9b26a97617e3fc1a",
      "parents": [
        "c55a1a260e34144d294640d84d09f5c1d77636ca",
        "131f23a4c2c34b689c07e6efd05cea74190f0113"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 21 12:41:53 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 21 12:41:53 2019 +0000"
      },
      "message": "Merge \"Remove code size from OatQuickMethodHeader\""
    },
    {
      "commit": "c08c10713e8884e8adfbf6a8e370a9ec96c1883f",
      "tree": "84dc682b40f38d0377639befe6f3d43e5655a43c",
      "parents": [
        "3611fdf703a6417c08a2e3d6e642d5936318de18"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 21 10:15:28 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 21 10:15:28 2019 +0000"
      },
      "message": "Revert \"Prevent agents from delaying system daemon threads\"\n\nThis reverts commit 3611fdf703a6417c08a2e3d6e642d5936318de18.\n\nBug: 123696564\nBug: 124284724\nReason for revert: b/124284724\n\nChange-Id: I546758b4cbb5e3f62f7b66a2faed544abce0d9c2\n"
    },
    {
      "commit": "c55a1a260e34144d294640d84d09f5c1d77636ca",
      "tree": "498e5cf3b955977eb43b8a489faa3e47be82b510",
      "parents": [
        "ec956e8866e4ee9fe59bb99b4db6a3b6017937f1",
        "2b076df33e508c04657427e4bd961d19f964e0ed"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Feb 21 09:57:58 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 21 09:57:58 2019 +0000"
      },
      "message": "Merge \"Make jni_internal_test a CommonRuntimeTest.\""
    },
    {
      "commit": "ec956e8866e4ee9fe59bb99b4db6a3b6017937f1",
      "tree": "ff9721ecf2ee2d41d115d5bdeabd226bc33b565d",
      "parents": [
        "c82259085bceb7e4f0e19f60039d6667f6907dcd",
        "eda46e9cad4271af7188fe0f542cbe88679f4c6e"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Feb 21 09:37:46 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 21 09:37:46 2019 +0000"
      },
      "message": "Merge changes Ifd690cda,I7bcbe947\n\n* changes:\n  Fix vdex fast-verify performance regression\n  Improve `verified`, add `redefined` class status in VerifierDeps\n"
    },
    {
      "commit": "eda46e9cad4271af7188fe0f542cbe88679f4c6e",
      "tree": "9632daf7b7c0600bd9200da65e43f6640c4cfc27",
      "parents": [
        "feb228244619237d110d8817865d7647f37b9b4f"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Feb 18 12:38:19 2019 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Feb 20 18:32:10 2019 +0000"
      },
      "message": "Fix vdex fast-verify performance regression\n\nRecent CL I0d06b82e31088c58d4493723a5435309740f1d0c generalized the\nfast-verify class redefinition check by checking that all vdex-verified\nclasses resolve to dex files covered by the vdex and are not duplicates\nof classes in parent class loaders. This introduced a performance and\nallocated memory regression for dex2oat invoked with\ncompiler-filter\u003dverify(-profile).\n\nThis patch removes the regression by acquiring a list of classpath dex\nfiles from the compiler driver and boot classpath dex files from the\nclass linker, avoiding class resolution altogether.\n\nA small performance overhead remains as previously only boot classpath\nwas being searched.\n\nTest: run `dex2oat filter\u003dinterpret-only; dex2oat filter\u003dverify`\n      compare time and allocated memory numbers before CL and after\nChange-Id: Ifd690cdafdc99d3eafb9847d67775fc11a5b5023\n"
    },
    {
      "commit": "feb228244619237d110d8817865d7647f37b9b4f",
      "tree": "5f30c01597761e6552ea5f770443bc12785a9562",
      "parents": [
        "9dcc0733afe9c512e93317291de0b0a7124ef465"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Feb 13 21:25:57 2019 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Feb 20 18:32:10 2019 +0000"
      },
      "message": "Improve `verified`, add `redefined` class status in VerifierDeps\n\nChanges implementation of `unverified_classes_` in VerifierDeps from\nstd::set\u003cdex::TypeIndex\u003e to `verified_classes_` of type std::vector\u003cbool\u003e\nindexed by class def indices. This cleans up the implementation and speeds\nup access during fast-verify. Encoding remains the same - a set of indices\nof unverified classes - only these are now class def indices.\n\nA second bit vector `redefined_classes_` is added, also indexed by class\ndef indices. It records classes that were not verified because they were\neclipsed by classes that took precedence during resolution. This allows\nVerifierDeps::VerifyInternalClasses to succeed when a class redefined\nnow was also redefined when the deps were being created because the\nclass was treated as external and dependencies on it were recorded.\n\nTest: m test-art-gtest-verifier_deps_test\nChange-Id: I7bcbe947c3c74535306e6dbb5b288076f320a7bc\n"
    },
    {
      "commit": "98b970dd7486fd8a5b039e1256584c20f60309bb",
      "tree": "59810fa35878c443711117bf90be161e4b676bee",
      "parents": [
        "c216c190c425d64c6b0485b4fb8513024a0c8d62",
        "7417ce97c4dcabbd7423d46ff9b7cdaf95c1e0f9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 20 16:38:58 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 20 16:38:58 2019 +0000"
      },
      "message": "Merge \"Add support for booting with a boot classpath not fully AOTed.\""
    },
    {
      "commit": "6ad020df482b6113b7949c1c36d71b0fdadfa6a2",
      "tree": "1cc8acd0ea3370dec8f7b6bb5c016e29241e779d",
      "parents": [
        "0faaf9cd2fc8eb386bad9d96d86217b14308b243"
      ],
      "author": {
        "name": "Andrei Onea",
        "email": "andreionea@google.com",
        "time": "Mon Feb 18 12:15:51 2019 +0000"
      },
      "committer": {
        "name": "Andrei-Valentin Onea",
        "email": "andreionea@google.com",
        "time": "Wed Feb 20 12:58:29 2019 +0000"
      },
      "message": "Pass sampled value to hidden api access logger\n\nThe hidden api access logger can use multiple logging methods, each with\nits own sampling rate. ART will only be aware of the maximum sampling\nrate, and it will be up to the logger to choose which logging method or\nmethods will be chosen.\n\nTest: m\nBug: 119217680\n\n(cherry picked from commit 5746f795e254fc74ab54ba4e59bc0c5e994efb03)\n\nChange-Id: Ida8d494cb280cb94cd27adf1264776d3e9306471\nMerged-In: I888e55c76ea7a032c35e880a981d1fc9dd4ba6b6\n"
    },
    {
      "commit": "2b076df33e508c04657427e4bd961d19f964e0ed",
      "tree": "37c77f1f86400bf52b9f49cff9f40ba2de9122fe",
      "parents": [
        "038924b75f06b91c2a7e944196ca11f118ce182f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 20 11:27:52 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 20 12:03:00 2019 +0000"
      },
      "message": "Make jni_internal_test a CommonRuntimeTest.\n\nAlso clean up proxy_test and reflection_test.\n\nTest: m test-art-host-gtest\nChange-Id: I7530855a40d7b9f7214ea7a069508ae1361b2b42\n"
    },
    {
      "commit": "7417ce97c4dcabbd7423d46ff9b7cdaf95c1e0f9",
      "tree": "3e84a40b0da5f826cbfd5ff4fb93c0b3dd4355e3",
      "parents": [
        "794350fd0e21aa9e259b6c45394494871e7fdb13"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 01 10:52:42 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 19 17:59:31 2019 +0000"
      },
      "message": "Add support for booting with a boot classpath not fully AOTed.\n\nBug: 119800099\nTest: adb shell setprop dalvik.vm.boot-image \"/system/framework/nonexistent.art\"\n\nChange-Id: I6641399f43c24702f19f4d976c6054d77186799e\n"
    },
    {
      "commit": "03c6b174a4e412e9bb62935c4ee15b5445e517f2",
      "tree": "1deaa160bde1a6f6089fdce8e1d2c8797422b5a9",
      "parents": [
        "03fc50104cb5225542de33cdafaff1613ec05cf9",
        "53eb07f0858795b7487eddc23b95ac38336696a7"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Feb 19 14:49:20 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 19 14:49:20 2019 +0000"
      },
      "message": "Merge \"Refactor ElfDebugReader.\""
    },
    {
      "commit": "53eb07f0858795b7487eddc23b95ac38336696a7",
      "tree": "8b5710abea53fdf95aac2c582d58b465e9fd46e7",
      "parents": [
        "e39765cd311f31653137a2efede6c0eb7903e434"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Feb 12 16:34:55 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Feb 18 14:06:22 2019 +0000"
      },
      "message": "Refactor ElfDebugReader.\n\nMake the code more flexible, which I will need for\nfuture mini-debug-info work.\n\nBug: 110133331\nTest: ./art/test.py -b -r -t 137\nChange-Id: I8b0fe3c43537f546f2ff103bff3c63a59a0f940a\n"
    },
    {
      "commit": "42d9967a2417fe08987c152e40cebeb88851ec44",
      "tree": "c72b0af2de14671d81deaf9d3ac4722ab0b4b38a",
      "parents": [
        "e39765cd311f31653137a2efede6c0eb7903e434",
        "e23b388982429becfb9bc9d0358490eea7a81596"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Feb 16 20:37:27 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 16 20:37:27 2019 +0000"
      },
      "message": "Merge \"Add verbose logging for app image startup cache feature\""
    },
    {
      "commit": "7f7285657c06bbd48fae131afd5148fae4403f11",
      "tree": "2de7fb7fbb2a59c67dc3dd06aaad49d5b924fed4",
      "parents": [
        "768b15d9d1b6847910da4782672bdec79913a8b7"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 14 17:52:33 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Feb 15 00:20:18 2019 +0000"
      },
      "message": "Fix DumpNativeStack function for traced methods. (part 2)\n\nThe alignment didn\u0027t work for thumb due to least significant bit set.\n\nBug: 123510633\nTest: ./art/test.py -b -r -t 163\nChange-Id: I173bdef1050c79a7431955034e3eb001d1efae05\n"
    },
    {
      "commit": "e23b388982429becfb9bc9d0358490eea7a81596",
      "tree": "483db5909363024dbc14c19b5d3abaecf3766ca4",
      "parents": [
        "768b15d9d1b6847910da4782672bdec79913a8b7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 14 07:35:43 2019 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 14 08:08:49 2019 -0800"
      },
      "message": "Add verbose logging for app image startup cache feature\n\nWill be parsed from logcat to test the feature.\nLogging is of the form: AppImage:load_startup_cache\n\nBug: 124437687\nBug: 123524494\n\nTest: adb shell device_config put runtime_native use_app_image_startup_cache true\nTest: start app\nTest: look at logcat\nTest: repeat with false\n\nChange-Id: I130ef9e6e4b8cb03497c25cd0a88727d5e60ffbc\n"
    },
    {
      "commit": "131f23a4c2c34b689c07e6efd05cea74190f0113",
      "tree": "c0c1927bd770f0224c6aed5eaccb13765a7cc57d",
      "parents": [
        "438cc2b34be2a5d114a50ba6cdef22f9045d863a"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Jan 29 18:52:12 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 14 09:44:47 2019 +0000"
      },
      "message": "Remove code size from OatQuickMethodHeader\n\nThis saves from 0.75% from oat file size.\n\nBug: 123510633\nChange-Id: Ibf0d45d5d84057ee45a3584a4b69a7c0487443bf\n"
    },
    {
      "commit": "438cc2b34be2a5d114a50ba6cdef22f9045d863a",
      "tree": "68af43b712b3fb25f570e4b12ab895126eb47bcd",
      "parents": [
        "cf23c5d8e558657e1a0eea15b8ec6a54ece9b677",
        "e1412dacbf1d2a809bd1fca658cc8cb8f61f8ee6"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 14 09:44:24 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 14 09:44:24 2019 +0000"
      },
      "message": "Merge \"Revert^2 \"Add code size to CodeInfo\"\""
    },
    {
      "commit": "e1412dacbf1d2a809bd1fca658cc8cb8f61f8ee6",
      "tree": "bb3f56ecefe08b66f7a330a02caef0b089a0c2af",
      "parents": [
        "8f20a23a35fa6fbe4dcb4ff70268a24dc7fb2a24"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Feb 13 17:27:17 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 14 09:43:00 2019 +0000"
      },
      "message": "Revert^2 \"Add code size to CodeInfo\"\n\nThis temporarily adds 0.25% to oat file size.\nThe space will be reclaimed back in follow-up CL.\n\nThis reverts commit 8f20a23a35fa6fbe4dcb4ff70268a24dc7fb2a24.\n\nReason for revert: Reland as-is after CL/903819\n\nBug: 123510633\nTest: DCHECK compare the two stored code sizes.\nChange-Id: Ia3ab31c208948f4996188764fcdcba13d9977d19\n"
    },
    {
      "commit": "eea5fd3561ec3cc1f97b754607e69c2f84d17a6d",
      "tree": "9bacc8130ccbbebb5dc4b4e674f9ae20f5b1968b",
      "parents": [
        "d8c4a38b3fc37efdfe691c317b37e9808022f7a3"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Feb 13 17:24:17 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Feb 13 17:26:29 2019 +0000"
      },
      "message": "Fix DumpNativeStack function for traced methods.\n\nThe art_quick_instrumentation_exit stub does not have oat header.\n\nBug: 123510633\nTest: test.py -b -r --host --trace -r -t 163\nChange-Id: I56d72816daf836440feccb42c81031f120e8c4c5\n"
    },
    {
      "commit": "3c09f2c51c796df68386b16dfdab6d63734baec6",
      "tree": "9a772ac535bea14ffd837b5b13b5abdb84d79255",
      "parents": [
        "f09a3c3eec07ae03b7eef3e27bf8eae25261cd46",
        "8f20a23a35fa6fbe4dcb4ff70268a24dc7fb2a24"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Feb 12 22:10:43 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 12 22:10:43 2019 +0000"
      },
      "message": "Merge \"Revert \"Add code size to CodeInfo\"\""
    },
    {
      "commit": "8f20a23a35fa6fbe4dcb4ff70268a24dc7fb2a24",
      "tree": "84dc682b40f38d0377639befe6f3d43e5655a43c",
      "parents": [
        "68efa7b1128486e08ae60cd27181645b27bbd2e4"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Feb 12 19:42:54 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Feb 12 19:42:54 2019 +0000"
      },
      "message": "Revert \"Add code size to CodeInfo\"\n\nThis reverts commit 68efa7b1128486e08ae60cd27181645b27bbd2e4.\n\nReason for revert: Breaks tests\n\nChange-Id: I28fb143990f58e0d5f0b106bea9d9a159f19297e\n"
    },
    {
      "commit": "a05344750f6996b32de18a25d0ba55115235dbb6",
      "tree": "f8a50bc1f5e8fe4c9f4bc69d7b690fd08611ab84",
      "parents": [
        "72c403b9b5027e7849a5145a0af0166f5d3d42c2",
        "68efa7b1128486e08ae60cd27181645b27bbd2e4"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Feb 12 11:45:06 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 12 11:45:06 2019 +0000"
      },
      "message": "Merge \"Add code size to CodeInfo\""
    },
    {
      "commit": "3611fdf703a6417c08a2e3d6e642d5936318de18",
      "tree": "ef152ff80f42b6486e5a02eee3fb7a02fbef15e7",
      "parents": [
        "794350fd0e21aa9e259b6c45394494871e7fdb13"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Feb 06 15:10:58 2019 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 11 11:03:22 2019 -0800"
      },
      "message": "Prevent agents from delaying system daemon threads\n\nThe runtime starts several important daemon threads that are\nresponsible for various GC related tasks (i.e. FinalizerDaemon, etc).\nThe runtime cannot be considered fully started until these threads\nhave been started or will be started soon.\n\nIt was possible for agents to delay the startup of these daemons\narbitrarily (while calling arbitrary java code) by never leaving the\nVMInit event or by never returning from the daemons ThreadStart\nevents. This could cause deadlocks or other errors when using some\nagents, such as libjdwp.\n\nIn order to prevent these issues and more closely match other java\nlanguage runtimes we launch these threads before sending the VMInit\nevent and suppress their ThreadStart events. The openjdkjvmti plugin\nthen waits for the Daemon threads to actually begin executing before\ncalling the VMInit event or any other agent code. This prevents the\nagents from seeing threads appear from nowhere.\n\nBug: 123696564\nTest: while atest CtsJdwpTestCases; do; done;\n\nChange-Id: I7e07187f3e8670f32df0490cb419585c13d81765\n"
    },
    {
      "commit": "68efa7b1128486e08ae60cd27181645b27bbd2e4",
      "tree": "bb3f56ecefe08b66f7a330a02caef0b089a0c2af",
      "parents": [
        "794350fd0e21aa9e259b6c45394494871e7fdb13"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Jan 28 18:59:23 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Feb 11 13:23:53 2019 +0000"
      },
      "message": "Add code size to CodeInfo\n\nThis temporarily adds 0.25% to oat file size.\nThe space will be reclaimed back in follow-up CL.\n\nBug: 123510633\nTest: DCHECK compare the two stored code sizes.\nChange-Id: I15340824ca637fd075a4cef87771b06cb96bb9f4\n"
    },
    {
      "commit": "1e70b89afe0e022ec51210ea0da1e0706e194fd0",
      "tree": "1c2b9d0c52e008795ec122b4b904c85c103b3e31",
      "parents": [
        "61a9328e807426636d3e29699cd978d4a7a345c0",
        "6c70224ebd667b52a862f850893f6528af63f3e8"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 11 10:27:11 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 11 10:27:11 2019 +0000"
      },
      "message": "Merge changes Id4ffa9f9,I1bb5d05d\n\n* changes:\n  Replace MergeSets() with std::set::merge().\n  Replace StringPiece with std::string_view.\n"
    },
    {
      "commit": "6c70224ebd667b52a862f850893f6528af63f3e8",
      "tree": "43e1ed17ee7fdfd7081cb07e11700b77c38a5a52",
      "parents": [
        "8581e2a234b562880c1d6c6b5ad14d23f7b597ed"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Feb 07 16:17:33 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 08 17:19:20 2019 +0000"
      },
      "message": "Replace MergeSets() with std::set::merge().\n\nAnd clear up ownership of the VerifierDeps being merged\nby using std::unique_ptr\u003c\u003e.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nBug: 123750182\nChange-Id: Id4ffa9f9fa1968fa762b9e825f25827240f6d45d\n"
    },
    {
      "commit": "e0f8bb99ad5c6f33d530f1157e1a116c42970deb",
      "tree": "0bc6b20a848b0d15dc25e601386c70581c137516",
      "parents": [
        "3b241361b639c297c99a1b00f40e89ad7fd184b8",
        "e512556ab85987c52e4be1fcd6d7a1d15a1b0fb6"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 08 10:24:41 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 08 10:24:41 2019 +0000"
      },
      "message": "Merge \"Replace StringPiece with std::string_view in profman.\""
    },
    {
      "commit": "3b241361b639c297c99a1b00f40e89ad7fd184b8",
      "tree": "775730a2303cd7a4783c383b2380dde25408dca0",
      "parents": [
        "5d3ac96501648d0552535fe430254666a4a320f8",
        "a88abfa91af92e87b806529813a1787568fdb032"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 07 21:28:37 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 07 21:28:37 2019 +0000"
      },
      "message": "Merge \"Add feature flag for loading app image startup cache\""
    },
    {
      "commit": "e512556ab85987c52e4be1fcd6d7a1d15a1b0fb6",
      "tree": "16e82b22829a269dcb7b8c305bb0a44c6f74c58e",
      "parents": [
        "2f34e59c10c30ea24fa5f4bc4e3d5a9dc6469c34"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 06 17:38:26 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Feb 07 12:29:35 2019 +0000"
      },
      "message": "Replace StringPiece with std::string_view in profman.\n\nAnd in dexoptanalyzer and hiddenapi, see below.\n\nThe parsing helpers in utils.h were mostly unused, only\nprofman was calling one of them, so move that helper to\nprofman and rewrite and fix it, remove the other helpers.\nThis exposed dependency of dexoptanalyzer and hiddenapi\non StringPiece indirectly included from utils.h, thus we\nreplace it with std::string_view also in those tools.\n\nDuring the rewrite, avoid using std::string_view::data()\nas a null terminated string, prefer to fall back to the\noriginal null terminated raw option instead.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 123750182\nChange-Id: Ibeec8069a5d82ea556e03e4577812f94dca6f387\n"
    },
    {
      "commit": "8e1ca6103de597cec698b2337d19a94d17ae8338",
      "tree": "c485c00a7a74406670b36b937a150f72468a0565",
      "parents": [
        "3a8761f8451276300350bcfa50910105e88505df",
        "8fd6722f5840385462a31bd701426b3749ac1031"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Feb 07 09:50:53 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 07 09:50:53 2019 +0000"
      },
      "message": "Merge \"Generalize vdex class redefinition check\""
    },
    {
      "commit": "11586a595b2c2a85607099547a911e58e5fc8978",
      "tree": "99e9ff06fe98644ebdc774474fa642a3c62e4176",
      "parents": [
        "cd7cedb5eede306756fc0810fddcf526d4d6598c",
        "7c73dd1cdb111853779dad21d9090b4a00aefe95"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Feb 06 22:42:38 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 06 22:42:38 2019 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Prevent overflows for concurrent_start_bytes_ sum\"\"\""
    },
    {
      "commit": "a88abfa91af92e87b806529813a1787568fdb032",
      "tree": "632ae56a03fb3178f093e9722eccfe9c24a5fc1a",
      "parents": [
        "2f34e59c10c30ea24fa5f4bc4e3d5a9dc6469c34"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Feb 04 11:08:29 2019 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 06 12:21:04 2019 -0800"
      },
      "message": "Add feature flag for loading app image startup cache\n\nPassed from the zygote.\n\nIf false, app image string intern tables and preresolved strings are not\nloaded. This means the intern strings are generated by walking the image\ninstead of looking at the app image intern table directly.\n\nBug: 123524494\nBug: 116059983\nTest: test-art-host\nTest: adb shell device_config put runtime_native use_app_image_startup_cache true\n\n(cherry picked from commit 5153419cba1cdfb6d5e5baba3e45fcf703c9daec)\n\nMerged-In: I6f800d1d989fd5e5b23166a115b1b241efac7ad2\nChange-Id: I119948efd25c039a057f283c19b23431093659f4\n"
    },
    {
      "commit": "7c73dd1cdb111853779dad21d9090b4a00aefe95",
      "tree": "c33963dc52f70d024410fc09f6def29f8bfe380c",
      "parents": [
        "8197e77c9b330c56662f66636dafca1bcbc9afcf"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Feb 06 00:20:18 2019 +0000"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Feb 06 11:40:57 2019 -0800"
      },
      "message": "Revert \"Revert \"Prevent overflows for concurrent_start_bytes_ sum\"\"\n\nThis reverts commit 83ba9b979d932a5b6430c1affd171429b70b6c3f.\n\nIt also fixes a bug exposed by the original CL, and cleans up a\ncouple of related issues:\n\n- CheckConcurrentGCForNative was renamed to reflect the fact that\nit does not just deal with concurrent GC.\n\n- In the non-concurrent case, concurrent_start_bytes_ is not\nmeaningful; use target_footprint_ instead.\n\n- UnsignedSum should use \u003e\u003d instead of \u003e .\n\nThe middle one of these caused the test failures observed with the\nprevious CL.\n\nTest: Build without read barrier, and ran with --runtime-option\u003d-Xgc:SS\n\nChange-Id: Iae004c453bf2cae2739df66b6797af4a792886fc\n"
    },
    {
      "commit": "2f34e59c10c30ea24fa5f4bc4e3d5a9dc6469c34",
      "tree": "9360a99feb7a1aa6fe7b2685429ddb49b17a5e7c",
      "parents": [
        "c66d6a7569ef72d9e9eb115bb7b663ccc8df5179",
        "7210108e6d930f9b8bcf5eac6b7a03ea29f92f84"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 06 18:00:50 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 06 18:00:50 2019 +0000"
      },
      "message": "Merge changes I14c7cddd,I4a39d0e8,I3f24c8f4,I9699f138\n\n* changes:\n  Replace StringPiece with std::string_view in art/runtime/.\n  Replace StringPiece with std::string_view in HashSet.\n  Replace StringPiece with std::string_view in Signature.\n  Replace StringPiece with std::string_view in class.h.\n"
    },
    {
      "commit": "8fd6722f5840385462a31bd701426b3749ac1031",
      "tree": "7e5f202ed5596815c3638173273ab7d490c25636",
      "parents": [
        "ac52000e86077b3c45c192ec259d72413599ff11"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Feb 05 18:13:44 2019 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Feb 06 17:34:57 2019 +0000"
      },
      "message": "Generalize vdex class redefinition check\n\nThe check introduced in CL If0c56b1970d8ebe701d198ffccec52f586aea9e6\nskips fast verification if an apk\u0027s class is overshadowed by a class in\nboot classpath because the vdex dependencies do not contain intra-apk\ndependencies.\n\nHowever, the change only checks for presence of a duplicate class in the\nboot classloader, while a duplicate class could be in any of the parent\nclassloaders. Fix this and move the check into VerifierDeps to make it\na proper part of the verification process.\n\nThe CL also refactors VerifierDeps::ValidateDependencies to output\nan error string for better logging.\n\nBug: 122968669\nTest: test/testrunner/testrunner.py -t 719\nTest: m test-art-gtest-verifier_deps_test\nChange-Id: I0d06b82e31088c58d4493723a5435309740f1d0c\n"
    },
    {
      "commit": "c66d6a7569ef72d9e9eb115bb7b663ccc8df5179",
      "tree": "0b7e519f6f46ac231e932b9ee798a4c4b09b43e0",
      "parents": [
        "b7abcaff75e824af8fd5104981404ce1b97b86e9",
        "1cedb4a2779fd161f781503fd5de08cab0a1c85b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 06 17:06:22 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 06 17:06:22 2019 +0000"
      },
      "message": "Merge \"ART: Move .bss mappings check before .bss init.\""
    },
    {
      "commit": "1cedb4a2779fd161f781503fd5de08cab0a1c85b",
      "tree": "a9c0b7082e0d5d2f1b931eac7db3fcf9b0d46862",
      "parents": [
        "7909e1e4cc741b38b25328e2f9077beb7ecd018b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 06 14:13:28 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 06 14:15:00 2019 +0000"
      },
      "message": "ART: Move .bss mappings check before .bss init.\n\nPreviously the check was done before we compared the dex\nfile checksums, so an out of date oat file could have\nfailed the check. Now we\u0027re doing the check only if we\u0027re\ninitializing the .bss section for use by an executable oat\nfile, i.e. after matching the dex file checksums.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 119601889\nChange-Id: Ib79d84c5bc2cf0674fc1f76071c589d49663e13c\n"
    },
    {
      "commit": "7210108e6d930f9b8bcf5eac6b7a03ea29f92f84",
      "tree": "809a2477f11a98eeb5f258635489424841e6feba",
      "parents": [
        "2ef01100bb56b3f8ab5fbc886a7066d721290d74"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 05 16:16:30 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 06 14:05:17 2019 +0000"
      },
      "message": "Replace StringPiece with std::string_view in art/runtime/.\n\nAnd in art/test/.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 123750182\nChange-Id: I14c7cddd7ba4fb2183c643d32a89b594008d8bd0\n"
    },
    {
      "commit": "eb37ba594146338bf7e7e2bf3769d08046fb263f",
      "tree": "7fac104aed3aec8d8390c8cbe1f7fbd85b4f998a",
      "parents": [
        "e027d727b833930f1bd0029bc1b2cf750d8af5da"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 05 14:10:38 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 06 12:24:10 2019 +0000"
      },
      "message": "Replace StringPiece with std::string_view in Signature.\n\nAnd also in Signature-related code. Remove the function\nDexFile::CreateSignature() which was used only in a test\nas the test can use method searching functions that take\nstd::string_view instead.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 123750182\nChange-Id: I3f24c8f4f677e2e40503dbab347df1eb031b4132\n"
    },
    {
      "commit": "e027d727b833930f1bd0029bc1b2cf750d8af5da",
      "tree": "0bb05206b8c019798bd3ffede02fb9243d08e615",
      "parents": [
        "ac52000e86077b3c45c192ec259d72413599ff11"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 05 10:13:49 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 06 11:56:16 2019 +0000"
      },
      "message": "Replace StringPiece with std::string_view in class.h.\n\nTranslate the std::string_view to StringPiece where\nneeded for comparing with Signature until we change\nthe Signature::operator\u003d\u003d() to take std::string_view.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 123750182\nChange-Id: I9699f13882353d84dc69e6b8e30d12dac4bace24\n"
    },
    {
      "commit": "a538ed5b56e3cdc43cb0c338f1e0826f4f79cc26",
      "tree": "c1b257b68c34411d8ff6add035aa383fae668388",
      "parents": [
        "9f3928f2f10ad53af12d825e093f57d337f2d570"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Feb 05 08:46:14 2019 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Feb 05 08:46:14 2019 -0800"
      },
      "message": "ART: Remove stale comment\n\nFollow-up to commit a2fed081e33bcc956ebc545aacd654ec6a32673d.\n\nBug: 123888325\nTest: N/A\nChange-Id: I1ad8bbe946e84c49bbf9ba3be606d213313b273c\n"
    },
    {
      "commit": "9f3928f2f10ad53af12d825e093f57d337f2d570",
      "tree": "daad6e34cd0f3caf8ad63143ea2980e26f927451",
      "parents": [
        "3aa868aba9cc4d9b61898f7fbfac7a4bccdb74d4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 04 11:19:31 2019 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Feb 05 08:32:49 2019 -0800"
      },
      "message": "ART: Change vtable check implementation\n\nTrade space for performance and use a (pseudo-)linear implementation\nfor CheckVTableHasNoDuplicates.\n\nThe new algorithm has a first pass that attempts to check under the\nassumption that all entries are from the same dex file, and a second\npass dedicated for the cross-dex-file case.\n\nBoth passes use maps to store discovered information and detect\nduplicates via existing entries. The code is complicated by an effort\nto reduce repeated hashing overhead.\n\nDecreases dex2oatd preopting of a big app from 150s to 35s.\n\nBug: 123888325\nTest: m test-art-host\nChange-Id: I3e5e3c8ccfeaf94b89b045eb691ec88556399ae6\n"
    },
    {
      "commit": "3aa868aba9cc4d9b61898f7fbfac7a4bccdb74d4",
      "tree": "dee7b51a244648fd4b54da71f930f0788ea37f23",
      "parents": [
        "a2fed081e33bcc956ebc545aacd654ec6a32673d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 04 11:18:43 2019 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Feb 05 08:31:26 2019 -0800"
      },
      "message": "ART: Add unchecked conversions of arrays\n\nAdd array conversion functions that do not check the type,\nand use them in an unchecked version for PointerArray.\n\nDecreases dex2oatd preopting of a big app from 151s to 150s.\n\nBug: 123888325\nTest: m test-art-host\nChange-Id: Id58c65ac603a20c2cfb9e3289af4f3bc323554b6\n"
    },
    {
      "commit": "a2fed081e33bcc956ebc545aacd654ec6a32673d",
      "tree": "13e1fc19a737dff8cd416725bce6329086516c99",
      "parents": [
        "2860c19944b64c581a8af63339805409c0584d2f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Feb 01 09:34:43 2019 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Feb 05 08:00:37 2019 -0800"
      },
      "message": "ART: Optimize array accesses\n\nOptimize computation of the data offset of arrays by adding\na constant for the array payload field offset, and templatized\nversions of the computation. Add a correctness check on runtime\ncreation.\n\nTemplatize CheckVTableHasNoDuplicates.\n\nDecreases dex2oatd preopting of a big app from 165s to 151s.\n\nBug: 123888325\nTest: m test-art-host\nChange-Id: I8db9df545dc807a307aef8af7dad7a15757670b1\n"
    },
    {
      "commit": "7909e1e4cc741b38b25328e2f9077beb7ecd018b",
      "tree": "b59583aa7e9d865d46c5bc8dec00729c649d4756",
      "parents": [
        "ca3c6d9231aa8e4a9ca7c9040398d57f130441a0",
        "7f88c1a269754001bfcaf311b378cf1cc71acf84"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 05 12:50:51 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 05 12:50:51 2019 +0000"
      },
      "message": "Merge \"ART: Enable ISA features run-time detection for ARM64\""
    },
    {
      "commit": "ca3c6d9231aa8e4a9ca7c9040398d57f130441a0",
      "tree": "31cc28f85aa3c572ec8988e0d92f29b2e05b8158",
      "parents": [
        "ac52000e86077b3c45c192ec259d72413599ff11",
        "83ba9b979d932a5b6430c1affd171429b70b6c3f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 05 12:03:23 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 05 12:03:23 2019 +0000"
      },
      "message": "Merge \"Revert \"Prevent overflows for concurrent_start_bytes_ sum\"\""
    },
    {
      "commit": "83ba9b979d932a5b6430c1affd171429b70b6c3f",
      "tree": "6c1f05e652815a20d1792f7654c1792acdba7721",
      "parents": [
        "50b04451431c648a36d2b0f84d728c1ecaf8b71b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 05 12:02:33 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 05 12:02:33 2019 +0000"
      },
      "message": "Revert \"Prevent overflows for concurrent_start_bytes_ sum\"\n\nThis reverts commit 50b04451431c648a36d2b0f84d728c1ecaf8b71b.\n\nReason for revert: Broke tests (debug-gc, gss, ss).\n\nBug: 123772350\nChange-Id: I3c7948b966f7e051e26b470cda5f6e5cb387ff54\n"
    },
    {
      "commit": "ac52000e86077b3c45c192ec259d72413599ff11",
      "tree": "89ba8256f3aaf8c2ca06782b98cf1d7e89506667",
      "parents": [
        "01eb773f391aaffdf5a959d894c6f5092778b051",
        "b0f16e6fca217b67e0b47da49896781dba429130"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 05 10:13:24 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 05 10:13:24 2019 +0000"
      },
      "message": "Merge changes I888a268b,Ia5a3c0bb,I189841e4,I5ab8b0b0\n\n* changes:\n  Replace StringPiece with std::string_view in RegType.\n  Replace StringPiece with std::string_view in OatFile.\n  ART: Change ArtMethod::NumArgRegisters() signature.\n  Remove dead String::Equals() overloads.\n"
    },
    {
      "commit": "01eb773f391aaffdf5a959d894c6f5092778b051",
      "tree": "e4d358b9e7efd82361ab453ec3156324c97048cf",
      "parents": [
        "d0c3a6cbc9279da29230704fa9bda6459b83fec4",
        "50b04451431c648a36d2b0f84d728c1ecaf8b71b"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Feb 05 01:59:26 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 05 01:59:26 2019 +0000"
      },
      "message": "Merge \"Prevent overflows for concurrent_start_bytes_ sum\""
    },
    {
      "commit": "50b04451431c648a36d2b0f84d728c1ecaf8b71b",
      "tree": "114a685bd11fb4ee84e4b453bcaeef82f79605a2",
      "parents": [
        "9b596c0a1e0c26cb0b0bf180f12a830c9c870458"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Feb 01 18:00:49 2019 -0800"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Feb 04 13:14:28 2019 -0800"
      },
      "message": "Prevent overflows for concurrent_start_bytes_ sum\n\nconcurrent_start_bytes_ can be mnumeric_limits\u003csize_t\u003e::max()\n\nBug: 123772350\nTest: Boot AOSP, TreeHugger\n\nChange-Id: I2ee7cf9c94523ad92a00854abcfd81960f4bd007\n"
    },
    {
      "commit": "d0c3a6cbc9279da29230704fa9bda6459b83fec4",
      "tree": "1e558d2526b0111b05a1edc701ae3b5ce421418e",
      "parents": [
        "436e1428b7f9fce912581c7f9fff08da6311d8cc",
        "1a862c8f4895e175b3cf4e68d0594f7f70db8377"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Mon Feb 04 17:51:32 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 04 17:51:32 2019 +0000"
      },
      "message": "Merge \"Fix criteria to decide should next GC be minor\""
    },
    {
      "commit": "1a862c8f4895e175b3cf4e68d0594f7f70db8377",
      "tree": "e8c8f38cbf430b926720c76fab71671a23433fab",
      "parents": [
        "db48919b682fe237ae8198ed12d933705b442144"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Fri Feb 01 11:05:04 2019 -0800"
      },
      "committer": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Mon Feb 04 09:49:22 2019 -0800"
      },
      "message": "Fix criteria to decide should next GC be minor\n\nA GC throughput (in terms of freed-bytes per second) comparison between\nminor GCs and full GCs is used to decide whether the next GC should be\nminor or full. To take care of the corner case wherein minor GC\u0027s\nthroughput never falls below that of full GC\u0027s, a cap is put on\nbytes_allocated to not go over target_footprint. This cap,\nin case of concurrent GCs, should be at concurrent_start_bytes as that\nis when a GC cycle is triggered.\n\nTest: art/test/testrunner/testrunner.py --target\nTest: Golem benchmarks to confirm performance isn\u0027t affected\nBug: 123662955\nChange-Id: I94afd04f3fcac86d6f9cec6a1af407c5be599b26\n"
    },
    {
      "commit": "b0f16e6fca217b67e0b47da49896781dba429130",
      "tree": "c176db28304cf2dbaa1b5f003c635736a15a229b",
      "parents": [
        "59ae4f949c26266a60ba0318995b46b4308312bb"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 04 16:17:37 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 04 16:38:16 2019 +0000"
      },
      "message": "Replace StringPiece with std::string_view in RegType.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 123750182\nChange-Id: I888a268bbec4eb0e5a19b0bc2a4a97e3492feda5\n"
    },
    {
      "commit": "59ae4f949c26266a60ba0318995b46b4308312bb",
      "tree": "93ceebafd3b019ac3f7c36c828ce8f43c7c71a25",
      "parents": [
        "6e78158c7a0acad7fcb5c9e1b45ab7acda796671"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 04 14:06:02 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 04 16:38:16 2019 +0000"
      },
      "message": "Replace StringPiece with std::string_view in OatFile.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 123750182\nChange-Id: Ia5a3c0bb5fdfba7cf88b82768c6722493e258554\n"
    },
    {
      "commit": "6e78158c7a0acad7fcb5c9e1b45ab7acda796671",
      "tree": "7bd9f4c8b4802f7fbbbfc4839309893dc39c410d",
      "parents": [
        "982a9ee7d826ad5a19927016bbc3cd8691ba07a3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 04 10:58:06 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 04 16:37:48 2019 +0000"
      },
      "message": "ART: Change ArtMethod::NumArgRegisters() signature.\n\nTake \"const char*\" instead of StringPiece. Avoid calling\nstrlen() in all callers, rely on explicit checking for\nthe end of the string.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 123750182\nChange-Id: I189841e4ae7dcc5950616d5e5a590987618146cb\n"
    },
    {
      "commit": "436e1428b7f9fce912581c7f9fff08da6311d8cc",
      "tree": "44e460641634245213f92695c09114964e114f78",
      "parents": [
        "62d986b0a18b7d4616915c9545678bc23f843518",
        "4bcd65753c1e49ceba2c41983f26af81ae319670"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Feb 04 16:35:45 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 04 16:35:45 2019 +0000"
      },
      "message": "Merge \"Take hidden API into account during getDeclaredMethod()\""
    },
    {
      "commit": "62d986b0a18b7d4616915c9545678bc23f843518",
      "tree": "0d7bd5a9c4097b26ea89737a96892ab707fc2c77",
      "parents": [
        "1b0f5354ccd1642e20e57daa956d5fc32fb8a4b6",
        "bb7207376b186d8df9afcbb9df6011f8a4ef7ab5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 04 16:15:36 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 04 16:15:36 2019 +0000"
      },
      "message": "Merge \"Fix DumpNativeStack function for trampolines.\""
    },
    {
      "commit": "4bcd65753c1e49ceba2c41983f26af81ae319670",
      "tree": "3fc7bd53d37448621726dc508f173490807af9c7",
      "parents": [
        "2da3cbb4af20a64108e474c0bbbe0cc5d3af2aa2"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Sat Feb 02 20:08:44 2019 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Feb 04 15:00:20 2019 +0000"
      },
      "message": "Take hidden API into account during getDeclaredMethod()\n\nGenerics make it possible for two methods to have the same name and list\nof parameters but differ in their return type. Class.getDeclaredMethod()\ndoes not allow callers to specify the type, so either of the matching\nmethods can be returned (ART will prefer the non-synthetic one).\n\nHowever, Class::GetDeclaredMethodInternal() did not use to take hidden API\ninto account and could return a hidden method, despite a non-hidden one\nbeing available. The reflective call would then reject the method and\nthrow NoSuchMethodException.\n\nThis patch modifies Class:GetDeclaredMethodInternal() to consider:\n(a) hidden/non-hidden\n(b) virtual/direct\n(c) synthetic/non-synthetic\nin that decreasing order of importance and pick the best matching\nmethod. The hiddenness checks are performed with AccessMethod::kNone\nso as to not trigger warnings. A hidden method may still be returned and\nthe caller should do the access check again with the appropriate\nAccessMethod.\n\nBug: 122291025\nTest: art/test.py -r -t 690-hiddenapi-same-name-methods\nChange-Id: Iaee780c1e87f5587f51e24b517b2b37101c729e3\n"
    },
    {
      "commit": "982a9ee7d826ad5a19927016bbc3cd8691ba07a3",
      "tree": "6f9e1e91b2339cfa4b85a9c6738054c889f4370a",
      "parents": [
        "5fe64d84822bf86d72d941c271c93ecbb0ff0742"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 04 10:21:48 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 04 10:23:56 2019 +0000"
      },
      "message": "Remove dead String::Equals() overloads.\n\nGets rid of the StringPiece usage.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 123750182\nChange-Id: I5ab8b0b09bdd2930cba8d0c5d4b124f2d970dbd2\n"
    },
    {
      "commit": "11be88cadbb589908c37c81f56fff38da178e71b",
      "tree": "0216a01af0dfeb5f00e7dfcd5e93057c568c7182",
      "parents": [
        "1923176c8e497c035dd0607037302664fcc77a2a",
        "b87eedcec661cb2e3d4d4fb359f764f187580cac"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 01 10:29:18 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 01 10:29:18 2019 +0000"
      },
      "message": "Merge \"x86/x86-64: Fix IMT conflict trampoline for obsolete methods.\""
    },
    {
      "commit": "b87eedcec661cb2e3d4d4fb359f764f187580cac",
      "tree": "41116f0a5ad831fe7b4881a8f311a0b123165f1f",
      "parents": [
        "53a41ac9305f3c435cbb975d773bbdb5490d8321"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jan 31 16:58:51 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jan 31 17:45:46 2019 +0000"
      },
      "message": "x86/x86-64: Fix IMT conflict trampoline for obsolete methods.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 123693178\nChange-Id: I06c08151fc3045824610d3d2e177cc13243b7e0a\n"
    },
    {
      "commit": "119733d87242414100df7b9eedb6d1672a03ead6",
      "tree": "19ba75bd42d3c94a4de0684ae66f4078da1546a6",
      "parents": [
        "8a64e773d4d1221166c6a8206315b450e448705a"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 30 15:14:41 2019 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jan 31 15:39:55 2019 +0000"
      },
      "message": "Revert \"Revert \"ART: introduce PALette abstraction layer\"\"\n\nThis reverts commit e6e01a0a00de80704ccb21c48d5d8bdee4470b77.\n\nBug:  122824298\nTest: art/test/testrunner/run_build_test_target.py -j50 art-test-javac\nTest: m out/target/common/obj/PACKAGING/hiddenapi-stub-flags.txt\nTest: frameworks/rs/build_rs.py\nChange-Id: If7b9ddca3daa80b75b3541abd283bf47d5b81118\n"
    },
    {
      "commit": "8a64e773d4d1221166c6a8206315b450e448705a",
      "tree": "21d6156dc741017b80ad255050b2b744f858fe0c",
      "parents": [
        "9326ce87c420447c7caa72c94356f48733caa22f",
        "87da30ee0e2072cdbb72f9c35d57fedf97cfed58"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jan 31 15:29:34 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 31 15:29:34 2019 +0000"
      },
      "message": "Merge \"Use prebuilt addr2line on host\""
    },
    {
      "commit": "87da30ee0e2072cdbb72f9c35d57fedf97cfed58",
      "tree": "3c807f2c6f8bb349be145af8c5ade4018a20390c",
      "parents": [
        "c0f797328e986dcdded1ba5e413ae01c24fedef9"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jan 30 15:51:23 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jan 30 16:30:53 2019 +0000"
      },
      "message": "Use prebuilt addr2line on host\n\nThe build system rightfully warns if we use the system addr2line.\n\nBug: 123562439\nTest: Crash dex2oat during built and check the log output.\nChange-Id: I236df48bb49ab914da372de337da091b00a7459e\n"
    },
    {
      "commit": "bb7207376b186d8df9afcbb9df6011f8a4ef7ab5",
      "tree": "9b196da040792c08849fc64483dc16fa2feef787",
      "parents": [
        "c0f797328e986dcdded1ba5e413ae01c24fedef9"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Jan 29 16:54:47 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jan 30 14:53:06 2019 +0000"
      },
      "message": "Fix DumpNativeStack function for trampolines.\n\nTrampolines are not preceded by OatQuickMethodHeader,\nso we should not be trying to read it in those cases.\n\nBug: 123510633\nTest: Added temporary checks when reading the header.\nTest: test.py -b --host -r -t 061 -t 064\nChange-Id: I3507efcb1ac342fc3d65dd4d38408d9a18f1877a\n"
    },
    {
      "commit": "7f88c1a269754001bfcaf311b378cf1cc71acf84",
      "tree": "147bb988929e8bd8827c4b148f28da4c28c0ea70",
      "parents": [
        "5247113f3277fd679e3e1beeb6fbfb30797aa481"
      ],
      "author": {
        "name": "xueliang.zhong",
        "email": "xueliang.zhong@linaro.org",
        "time": "Tue Nov 06 11:42:41 2018 +0000"
      },
      "committer": {
        "name": "Evgeny Astigeevich",
        "email": "evgeny.astigeevich@linaro.org",
        "time": "Wed Jan 30 14:09:25 2019 +0000"
      },
      "message": "ART: Enable ISA features run-time detection for ARM64\n\nOn a target run-time detected ISA features can be more accurate than\ninstruction set features based on a build-time information such as an\ninstruction set variant or C++ defines. Build-time based features can\nbe too generic and do not include all features a target CPU supports.\n\nThis CL enables instruction feature run-time detection in the JIT/AOT\ncompilers:\n\n- The value \"runtime\" to the option \"--instruction-set-features\" to try\nto detect CPU features at run time. If a target does not support run-time\ndetection it has the same effect as the value \"default\".\n- Runtime uses \"--instruction-set-features\u003druntime\" if run-time detection is\nsupported.\n\nThe CL also cleans up how an instruction set feature string is processed\nby InstructionSetFeatures::AddFeaturesFromString. It used to make redundant\nuses of Trim in subclasses. The calls are replaced with DCHECKs\nverifying that feature names are already trimmed.\n\nTest: m test-art-target-gtest\nTest: m test-art-host-gtest\nTest: art/test.py --target --optimizing --interpreter --jit\nTest: art/test.py --host --optimizing --interpreter --jit\nTest: Pixel 3 UI booted\n\nChange-Id: I223d5bc968d589dba5c09f6b03ee8c25987610b0\n"
    },
    {
      "commit": "a2d2bc2ed74e35c46b7c6aa5172c652f63679fa3",
      "tree": "4964fce11a9c49086b46aaf08be75f3262462b3d",
      "parents": [
        "4ee4561f2153f3b0bc3be2e781488a97c73ca58e"
      ],
      "author": {
        "name": "Andrei Onea",
        "email": "andreionea@google.com",
        "time": "Fri Jan 25 16:18:53 2019 +0000"
      },
      "committer": {
        "name": "Andrei-Valentin Onea",
        "email": "andreionea@google.com",
        "time": "Wed Jan 30 10:24:00 2019 +0000"
      },
      "message": "Replace libmetricslogger logging with up-call to Java for hidden api\n\nUse VMRuntime.hiddenApiUsedWith{JNI,Reflection} instead of depending on\nlibmetricslogger\n\nTopic: hidden-api-reporting-upcall\nTest: m\nBug: 119217680\nChange-Id: Ifaf0b0e4ae271f6fcd37e8d7cf917a3b81d8ddae\nMerged-In: I3292f1d20cc8635391cddc3ba60d4a80b578fa82\n"
    },
    {
      "commit": "4b9d00aca9b025b545c9633b4605334c22fc4d2d",
      "tree": "7984bf247f908d145b7c6b48df99f3f0a80ae148",
      "parents": [
        "4ee4561f2153f3b0bc3be2e781488a97c73ca58e"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jan 03 17:04:02 2019 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 30 09:00:27 2019 +0000"
      },
      "message": "ART: introduce PALette abstraction layer\n\nThis change decouples direct dependencies on system libraries.\n\nBug: 122824298\nTest: art/test.py --host --64\nTest: art/test.py --target -j8\nTest: m -j100 \u0026 flashall -w \u0026 device boots\nTest: art/build/apex/runtests.sh\nChange-Id: Iae927ed9aaa228a941cd444cef04e6ec53955299\n"
    },
    {
      "commit": "6b8a38ce038ec22a05251957de5fd12c1231e4d7",
      "tree": "b0350fe4c9e5f2563d5321520ffc8455c8c8a37f",
      "parents": [
        "d1c23d7b945e824f25ec4a2fab899b2a6bdf0750",
        "ea34d46b421c8ad7a226f0c094e717464bb141eb"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Tue Jan 29 17:35:03 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 29 17:35:03 2019 +0000"
      },
      "message": "Merge \"Fix lock order issue with large-object space lock\""
    },
    {
      "commit": "ea34d46b421c8ad7a226f0c094e717464bb141eb",
      "tree": "110f287312d04570341d9823579fe34687dce072",
      "parents": [
        "b8f88f33b5ad0a593e5c63beab45d05f4c791bf4"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Mon Jan 28 17:23:04 2019 -0800"
      },
      "committer": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Mon Jan 28 17:23:04 2019 -0800"
      },
      "message": "Fix lock order issue with large-object space lock\n\nWe have a code-path where GC thread acquires large-object space lock (a\nhigher level lock) after acquire JNI global lock (a lower level lock).\nMoving AllocSpaceLock to be lower than JniGlobalsLock to fix this.\n\nBug: 120782890\nTest: art/test/testrunner/testrunner.py --host\nChange-Id: I4f169c779cb17f6c14f6e5278857845f9904e62c\n"
    },
    {
      "commit": "fc19c530414b2fb0e8815103fe713e86437fecae",
      "tree": "4ff31fd9282937c564ba4d40745b3ccee894ca9b",
      "parents": [
        "b8f88f33b5ad0a593e5c63beab45d05f4c791bf4",
        "cc17d079659d737d67d4a891b6951a532c0299f3"
      ],
      "author": {
        "name": "Vincent Palomares",
        "email": "paillon@google.com",
        "time": "Tue Jan 29 00:07:43 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 29 00:07:43 2019 +0000"
      },
      "message": "Merge \"Reducing CPU impact of non-monotonic clocks on Gc.\""
    },
    {
      "commit": "b8f88f33b5ad0a593e5c63beab45d05f4c791bf4",
      "tree": "c56849e4174d10428c65899fdbc197257afdbb17",
      "parents": [
        "2ea354f72f824552883a839bdafa854fcd2b668f",
        "206348cea8b086a484b8bde37b2e281e5f7db638"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Jan 28 21:04:54 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 28 21:04:54 2019 +0000"
      },
      "message": "Merge \"Selectively allow dead reference elimination\""
    },
    {
      "commit": "cc17d079659d737d67d4a891b6951a532c0299f3",
      "tree": "f764f1a9f8b9ea18e0f7ff56d4166fe43a7a3bcf",
      "parents": [
        "c0f797328e986dcdded1ba5e413ae01c24fedef9"
      ],
      "author": {
        "name": "Vincent Palomares",
        "email": "paillon@google.com",
        "time": "Mon Jan 28 11:14:01 2019 -0800"
      },
      "committer": {
        "name": "Vincent Palomares",
        "email": "paillon@google.com",
        "time": "Mon Jan 28 11:14:31 2019 -0800"
      },
      "message": "Reducing CPU impact of non-monotonic clocks on Gc.\n\nAdding a ceiling for the Gc\u0027s histogram\u0027s num_of_windows count, ensuring the\nnumber of data points to insert does not become extremely large when time\nchanges unexpectedly. This may happen when the time source is not monotonic.\n\nBug: 123365804\nTest: confirmed the fix behaves as intended on a system with an erratic clock\nChange-Id: Idd3560204d3392fe247b65d383c41de2eaf8d35c\nSigned-off-by: Vincent Palomares \u003cpaillon@google.com\u003e\n"
    },
    {
      "commit": "206348cea8b086a484b8bde37b2e281e5f7db638",
      "tree": "1e83b6484dbd9218ace7c94d266dc90ed7e66505",
      "parents": [
        "58a268aa3569d8ad4f0e831de578620e1079ed59"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Dec 05 11:11:33 2018 -0800"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Jan 28 09:37:57 2019 -0800"
      },
      "message": "Selectively allow dead reference elimination\n\nAllow dead reference elimination in methods not containing\n@ReachabilitySensitive accesses or calls, when the class is marked\n@DeadReferenceSafe.\n\nAdd 1339-dead-reference-safe to aggressively check that everything\nworks as intended.\n\nBug: 111453875\n\nTest: art/test/testrunner/testrunner.py --host --64 -t 1339-dead-reference-safe\n\nDetect ReachabilitySensitive annotations.\n\nChange-Id: I70c20431fdbcfcfd2692b2255d12ad59e37cb669\n"
    },
    {
      "commit": "9fdcedda4358daabf167c1f986a29a4da469f919",
      "tree": "8f053dedf0979e1c7ee9a9fb3079004d93005e5e",
      "parents": [
        "c0f797328e986dcdded1ba5e413ae01c24fedef9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jan 28 09:21:38 2019 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jan 28 09:21:38 2019 -0800"
      },
      "message": "ART: Disable SmallStack test for ASAN\n\nThe small stack is not enough to attach a thread successfully.\n\nBug: 123500163\nTest: SANITIZE_HOST\u003daddress m test-art-host-gtest-java_vm_ext_test\nChange-Id: I2a224b20f4864bdb07cba053d219ec445cf6efe1\n"
    },
    {
      "commit": "a3350d882e404c19998c5e2b84a50f57db11b2e3",
      "tree": "038057d5bb9d1b3f21d8d1985aae5e35e94278a3",
      "parents": [
        "c91d56d3e4c2dc6610f5f8160fc27fb08a041dd0",
        "107ce792fad04c19cdf65f47e4fd6801d54ad8cb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 28 09:16:21 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 28 09:16:21 2019 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Load libopenjdk and libjavacore with the runtime namespace.\"\"\""
    },
    {
      "commit": "107ce792fad04c19cdf65f47e4fd6801d54ad8cb",
      "tree": "a5bff492b83a85d1bba5020d81ded98d14c71829",
      "parents": [
        "bd0eb2ca58c8edc6beaaae12fc9ee4ca64cd28bc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Jan 26 01:06:17 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Jan 26 01:06:17 2019 +0000"
      },
      "message": "Revert \"Revert \"Load libopenjdk and libjavacore with the runtime namespace.\"\"\n\nThis reverts commit bd0eb2ca58c8edc6beaaae12fc9ee4ca64cd28bc.\n\nReason for revert: Fixed ld.config files.\n\nChange-Id: I3933faa7d6d4b981d3081e8624fa4170a4594bc6\n"
    },
    {
      "commit": "58a268aa3569d8ad4f0e831de578620e1079ed59",
      "tree": "7adc2520614453e197ab760de20d53d742d22241",
      "parents": [
        "4ce7775f2a39e673a4caad6ab99750d56db1b65f",
        "bd0eb2ca58c8edc6beaaae12fc9ee4ca64cd28bc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 25 23:02:47 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 25 23:02:47 2019 +0000"
      },
      "message": "Merge \"Revert \"Load libopenjdk and libjavacore with the runtime namespace.\"\""
    },
    {
      "commit": "bd0eb2ca58c8edc6beaaae12fc9ee4ca64cd28bc",
      "tree": "1ebf839f5c3e021114a942ac0666d6a2bf401906",
      "parents": [
        "94c8670e6e3f7291c1e4e36f6a009d606ca86050"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 25 22:42:22 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 25 22:42:22 2019 +0000"
      },
      "message": "Revert \"Load libopenjdk and libjavacore with the runtime namespace.\"\n\nThis reverts commit 94c8670e6e3f7291c1e4e36f6a009d606ca86050.\n\nBug: 123424163\n\nReason for revert: Fails boot\n\nChange-Id: I9aa6a296275d1a2e19cb3801d9082293b2b400f0\n"
    },
    {
      "commit": "b72a6a9cf7a912b1e253e95f349f4621d7b02975",
      "tree": "40db194b87b7cad78798d4151825f6204ae87ca9",
      "parents": [
        "2b1fed97f678f8e311052209e3c739907024e0a3"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri Jan 25 05:35:24 2019 +0000"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri Jan 25 16:52:35 2019 +0000"
      },
      "message": "DO NOT MERGE: Revert \"Revert \"ART: add libprocessgroup dependency and fix sched_policy include\"\"\n\nThis reverts commit b3eff8aff1031b0c3f55f16dfe1d1b4f4b84a6ae.\n\nReason for revert: AOSP is fixed with new vendor image\n\nChange-Id: I77df2e1e8400a1936d5a7529847b9da2a902471a\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "94c8670e6e3f7291c1e4e36f6a009d606ca86050",
      "tree": "a5bff492b83a85d1bba5020d81ded98d14c71829",
      "parents": [
        "fe427267d2657d9ea9788ca517abcf3bb7d5ce0a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 25 12:36:47 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 25 12:57:52 2019 +0000"
      },
      "message": "Load libopenjdk and libjavacore with the runtime namespace.\n\nPassing java_lang_Object will make it find the runtime apex as\nthe dex path, hence the runtime namespace.\n\nTest: m and boots\nChange-Id: I4842e75e2182c8d55bed2c62cc14335a4eb3ddc0\n"
    },
    {
      "commit": "fe427267d2657d9ea9788ca517abcf3bb7d5ce0a",
      "tree": "1ebf839f5c3e021114a942ac0666d6a2bf401906",
      "parents": [
        "9fc9cf373bd619bf278162e07c0fd55695598bd4",
        "876a2ab77ce27c23cfe5cdc7d28ea79aae958a12"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Jan 25 01:33:25 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 25 01:33:25 2019 +0000"
      },
      "message": "Merge \"Allow the use of filenames when traking code paths for profiling\""
    },
    {
      "commit": "4e29bda89b44a423b300d449b86b10966980a8fa",
      "tree": "c25504054577519c1db49e4dce42d794730e37bd",
      "parents": [
        "cb8b10b6db1ea3e3c88af42fb32d0d7c684f6ec2",
        "8baa11a3626a8230a55e2e32b2d1281995a27ae4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 24 19:54:55 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 24 19:54:55 2019 +0000"
      },
      "message": "Merge \"Adjust ResolveRelativeEncodedDexLocation.\""
    },
    {
      "commit": "8baa11a3626a8230a55e2e32b2d1281995a27ae4",
      "tree": "4dcab53f983682e4da30146fcd7f68803fe34d21",
      "parents": [
        "26e2eb689f595e2f1d3cd436198bc1233c4179db"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 24 10:30:03 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 24 18:52:14 2019 +0000"
      },
      "message": "Adjust ResolveRelativeEncodedDexLocation.\n\nNow that jar files are in the apex, relax the prefix check between\nthe absolute location of the oat file and the jar location for host\ncompilation.\n\nFor example we now have:\n- /system/framework/boot-core-oj.art\n- /apex/com.android.runtime/core-oj.jar\n\nWhereas before, the jar and the art file had the same prefix path.\n\nTest: m\n\nChange-Id: Ic216229dab7a853c64c98a36e32b387559f9cc0d\n"
    },
    {
      "commit": "1a041486850aa462de5ed16c54f028ad97a8eb6e",
      "tree": "38d8fdf2848203fae31372447328f3f7b143f064",
      "parents": [
        "26e2eb689f595e2f1d3cd436198bc1233c4179db"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Dec 18 17:55:08 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jan 24 13:27:07 2019 +0000"
      },
      "message": "Fix bug in InMemoryDexClassLoader loading\n\nInMemoryDexClassLoader can load dex files from both direct and indirect\nByteBuffers but it only respects the buffer\u0027s current position for the\nlatter and assumes the position is zero for the former.\n\nBug: 123337866\nTest: art/tools/run-libcore-tests.sh\n\nChange-Id: Id294814c68f7e9e859d67c12fe1f62e52e84c45e\n"
    },
    {
      "commit": "876a2ab77ce27c23cfe5cdc7d28ea79aae958a12",
      "tree": "be2b6c64a184c4c76395d9d6e8ef9df397fa455f",
      "parents": [
        "548da10bd80ae0b1192b135192e914e10491217e"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jan 09 19:13:54 2019 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Jan 24 00:02:05 2019 -0800"
      },
      "message": "Allow the use of filenames when traking code paths for profiling\n\nThe dex location for an app can be set either to be its full path or just\nthe filename of its apk. Make sure we include all possible locations when\ntracking for profiling.\n\nApps + system server have filenames.\nBoot classpath elements have full paths.\n\nThis is a temporary workaround for using filanames as dex locations -\nneeded to prebuilt with a partial boot image (commit:\nc4a924d8c74241057d957d360bf31cd5cd0e4f9c). We should find a better way\nwhich allows us to do the tracking based on full paths.\n\nBug: 122360294\nTest: m test-art-host\nChange-Id: Ibcdbab032cd27dd610f41300a1bfc166ec0fa3e0\n"
    }
  ],
  "next": "b3eff8aff1031b0c3f55f16dfe1d1b4f4b84a6ae"
}
