)]}'
{
  "log": [
    {
      "commit": "ee45798b02c3a9fffa9c4b5c1fe0fe03a423df66",
      "tree": "61054ce8dae4b30654d41a1ba2f1394ef1c28484",
      "parents": [
        "9f27ffa9031431267ae59ee3469c853355811916",
        "00fe35e4021e9a8679eca3ffaede48fd89b56258"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Dec 03 18:44:49 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 03 18:44:49 2018 +0000"
      },
      "message": "Merge \"Revert \"Reduce core image to core-{oj,libart,simple}.\"\""
    },
    {
      "commit": "00fe35e4021e9a8679eca3ffaede48fd89b56258",
      "tree": "7db00623bf74e8f37a87fcc653c37191b6d37024",
      "parents": [
        "ec91d48cade73c54f7a03c5d53d863bc2490976e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Dec 03 18:43:54 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Dec 03 18:43:54 2018 +0000"
      },
      "message": "Revert \"Reduce core image to core-{oj,libart,simple}.\"\n\nThis reverts commit ec91d48cade73c54f7a03c5d53d863bc2490976e.\n\nReason for revert: Breaks libcore tests.\n\nChange-Id: I0ea55f74635332177eadd9a69fb831e7f5dc16c7\n"
    },
    {
      "commit": "9f27ffa9031431267ae59ee3469c853355811916",
      "tree": "475181ba87667fd2cc73e4864c7a0038e6a36c98",
      "parents": [
        "e239cdc2239b69199d2eab4b2943636be8ceb2ba",
        "9dd5ba3e242c63a252bbd39adf1aa80259009b55"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Dec 03 15:13:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 03 15:13:44 2018 +0000"
      },
      "message": "Merge \"ART: add GC throughput measured in bytes per CPU time\""
    },
    {
      "commit": "e239cdc2239b69199d2eab4b2943636be8ceb2ba",
      "tree": "4f53232e73c9feaf60c0dcf123068875afd26a9e",
      "parents": [
        "8bda21f1d8bbc1060bf693f5d1666d3396d1cb69",
        "ec91d48cade73c54f7a03c5d53d863bc2490976e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Dec 03 14:50:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 03 14:50:46 2018 +0000"
      },
      "message": "Merge \"Reduce core image to core-{oj,libart,simple}.\""
    },
    {
      "commit": "8bda21f1d8bbc1060bf693f5d1666d3396d1cb69",
      "tree": "fa2079b2f58bf8b4e7c70685339ad14e38c05a62",
      "parents": [
        "e99dadae5a7f83eb1bc8456d4444c9197c9e7a14",
        "0776942115cdf9610ad06cc673feebceb8de3c30"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Dec 03 08:30:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 03 08:30:38 2018 +0000"
      },
      "message": "Merge \"Fix ahat dependencies.\""
    },
    {
      "commit": "e99dadae5a7f83eb1bc8456d4444c9197c9e7a14",
      "tree": "bf5204a74b088e8995db4ee36b4cd3ddc98678b4",
      "parents": [
        "d378a567a435a80be9ab7eb8bfe0359c1240c0ff",
        "e16727388a0a2aedae530f686c0fd95cd2bbb80f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Dec 02 18:54:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Dec 02 18:54:26 2018 +0000"
      },
      "message": "Merge \"Revert^2 \"Support shared libraries in CreateContextFromClassLoader.\"\""
    },
    {
      "commit": "9dd5ba3e242c63a252bbd39adf1aa80259009b55",
      "tree": "3f162bd53915c1b1cf9ad22075cf9be933b01f10",
      "parents": [
        "d378a567a435a80be9ab7eb8bfe0359c1240c0ff"
      ],
      "author": {
        "name": "Albert Mingkun Yang",
        "email": "albertnetymk@google.com",
        "time": "Mon Nov 26 10:44:40 2018 +0000"
      },
      "committer": {
        "name": "Albert Mingkun Yang",
        "email": "albertnetymk@google.com",
        "time": "Fri Nov 30 19:53:34 2018 +0000"
      },
      "message": "ART: add GC throughput measured in bytes per CPU time\n\nTest: Run art with -XX:DumpGCPerformanceOnShutdown on some benchmarks.\nBug: 112187497\nChange-Id: I85bd7a49655db760cc605d50b5d18765ef82953c\n"
    },
    {
      "commit": "e16727388a0a2aedae530f686c0fd95cd2bbb80f",
      "tree": "a35bc53fd844f5037b572fe862d9178d83fce5ad",
      "parents": [
        "458128737485d72028d0e4af9855b7773c81010b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 30 01:09:49 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 30 19:09:57 2018 +0000"
      },
      "message": "Revert^2 \"Support shared libraries in CreateContextFromClassLoader.\"\n\nThis reverts commit 1717a493a4a0c1c3b69ecfcb58838627b4c75878.\n\nbug: 120036590\nbug: 120031686\n\nReason for revert: Fix code to ensure ownership of dex files.\n\nChange-Id: I99fffb52b73e0a41d779a41605ddf2e9249c02e0\n"
    },
    {
      "commit": "d378a567a435a80be9ab7eb8bfe0359c1240c0ff",
      "tree": "28e96907cda376e51289ee83d8071565f6ceba6b",
      "parents": [
        "e2ca5cfd18664ad9934102c14fd28cde2736b144",
        "1a8429680f9d08d5f2b49fd93f9ad4df81b7cb66"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 30 18:40:34 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 30 18:40:34 2018 +0000"
      },
      "message": "Merge \"Add image compressed blocks\""
    },
    {
      "commit": "e2ca5cfd18664ad9934102c14fd28cde2736b144",
      "tree": "b8ac3513f5d5c049aa7f050fd4a4f59bf6d5a36a",
      "parents": [
        "40c113e567c8fc516e83ccf19c4ce471d4cb5459",
        "32fd18324a06cbe20b8f5cafcb995f84e37e1be9"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Nov 30 16:35:51 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 30 16:35:51 2018 +0000"
      },
      "message": "Merge \"hiddenapi: Fix typo\""
    },
    {
      "commit": "32fd18324a06cbe20b8f5cafcb995f84e37e1be9",
      "tree": "b8ac3513f5d5c049aa7f050fd4a4f59bf6d5a36a",
      "parents": [
        "40c113e567c8fc516e83ccf19c4ce471d4cb5459"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Nov 30 16:33:28 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Nov 30 16:34:01 2018 +0000"
      },
      "message": "hiddenapi: Fix typo\n\nTest: n/a\nChange-Id: I40c2732310c9d8464f01c146debf359fb253ff95\n"
    },
    {
      "commit": "40c113e567c8fc516e83ccf19c4ce471d4cb5459",
      "tree": "4c6daa7c6ef506214dd858e6b559f8fd70de7941",
      "parents": [
        "6f2d7b997ed8f2f5f952f5115fbf06c31d8ea7da",
        "69af30e3626fd65c4bd1ce3b89fe8cd2ff271caa"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Nov 30 15:55:42 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 30 15:55:42 2018 +0000"
      },
      "message": "Merge \"hiddenapi: Turn CHECK into a warning\""
    },
    {
      "commit": "69af30e3626fd65c4bd1ce3b89fe8cd2ff271caa",
      "tree": "4c6daa7c6ef506214dd858e6b559f8fd70de7941",
      "parents": [
        "6f2d7b997ed8f2f5f952f5115fbf06c31d8ea7da"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Nov 30 15:42:02 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Nov 30 15:55:07 2018 +0000"
      },
      "message": "hiddenapi: Turn CHECK into a warning\n\nWe create a dummy hiddenapi-flags.csv file for ART buildbots but\nRecent change to `hiddenapi` started enforcing that every dex member\nhas a corresponding CSV entry. Turn the CHECK into a LOG(WARNING) for\nthe time being to unblock the bots.\n\nTest: rely on the ART Buildbot\nChange-Id: I02565a0f11039dc28d395872d99adc7067d7e426\n"
    },
    {
      "commit": "6f2d7b997ed8f2f5f952f5115fbf06c31d8ea7da",
      "tree": "5df8e6849048047d6753ae1a81070de11e3509b0",
      "parents": [
        "a3a57d35ba82aef59db44b947f6ed6d058cf0817",
        "a9080571547059383cb577b9d3ecd426dca36c02"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Nov 30 14:18:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 30 14:18:47 2018 +0000"
      },
      "message": "Merge \"Fix ART builbot after hiddenapi files change\""
    },
    {
      "commit": "a9080571547059383cb577b9d3ecd426dca36c02",
      "tree": "b7df6e90b667594a289a2c512f0381a272106969",
      "parents": [
        "1eaa9758dc047dd94f9912c088f606e2e2274d0e"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Nov 30 14:15:57 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Nov 30 14:17:06 2018 +0000"
      },
      "message": "Fix ART builbot after hiddenapi files change\n\nhiddenapi tool now produces a single CSV file rather than multiple\ntext files. Change ART\u0027s makefile to create an empty file of the same\nname when running on the buildbots.\n\nTest: n/a\nChange-Id: I8347cdaefbd4359dc7943293a7eb2a5702105bfa\n"
    },
    {
      "commit": "ec91d48cade73c54f7a03c5d53d863bc2490976e",
      "tree": "4980bf99ae69cab7c733aa442aa4bf42f2d42f17",
      "parents": [
        "0776942115cdf9610ad06cc673feebceb8de3c30"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 29 12:17:11 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 30 13:18:44 2018 +0000"
      },
      "message": "Reduce core image to core-{oj,libart,simple}.\n\nAnd pass the -Xbootclasspath: and -Xbootclasspath-locations:\noptions to tests. This eliminates a discrepancy between the\nimage and boot class path (BCP). Next CL shall check the\nBCP stored in the primary boot image oat file against the\nBCP from the runtime.\n\nUse actual *-hostdex.jar/*-testdex.jar files for compiling\nthe core.art. Since conscrypt, okhttp and bouncycastle have\nthe dex files actually stripped from their *-testdex.jar,\nthey are unsuitable for compilation, adding another reason\nto not include them in the core image. For consistency, use\nthe same jars for core image on host.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 3 XL boots.\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing\nBug: 119868597\nChange-Id: Iccc152ea0d5b3bd9878aa214cc649762f8f4ea9c\n"
    },
    {
      "commit": "0776942115cdf9610ad06cc673feebceb8de3c30",
      "tree": "7db00623bf74e8f37a87fcc653c37191b6d37024",
      "parents": [
        "a3a57d35ba82aef59db44b947f6ed6d058cf0817"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 30 12:01:36 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 30 13:11:55 2018 +0000"
      },
      "message": "Fix ahat dependencies.\n\nAdd $(ART_HOST_SHARED_LIBRARY_DEPENDENCIES) in addition to\n$(ART_HOST_SHARED_LIBRARY_DEBUG_DEPENDENCIES) as the latter\ndoes not depend on the former. This brings the necessary\ndependency on libjavacore.\n\nCurrently, the libjavacore is built thanks to the conscrypt,\nincluded in core image, depending on it. However, we want to\nremove the conscrypt from the core image, so we need to make\nthe dependency explicit.\n\nTest: atest ahat-tests # from clean tree\nTest: Repeat the test above with additional cherry-pick\n      https://android-review.googlesource.com/837432 .\nBug: 119868597\nChange-Id: I0ff13db3787443874bae380514b3c058387395cf\n"
    },
    {
      "commit": "a3a57d35ba82aef59db44b947f6ed6d058cf0817",
      "tree": "e7690f4c797c389ab81df0ef94752c5cd1ceeb20",
      "parents": [
        "1ee723b683307c804c5ddf2ad7d699f5abfc362a",
        "e701de908bf5cb9375f15a3dbd113206aa582e7e"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Nov 30 10:01:02 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 30 10:01:02 2018 +0000"
      },
      "message": "Merge changes from topic \"hiddenapi-csv\"\n\n* changes:\n  Support CSV hiddenapi flags in class2greylist\n  hiddenapi: Convert API lists to a flags CSV file\n"
    },
    {
      "commit": "1ee723b683307c804c5ddf2ad7d699f5abfc362a",
      "tree": "acfd8b753d194d708b17d6e16396d352c799c21b",
      "parents": [
        "458128737485d72028d0e4af9855b7773c81010b",
        "813b91443d37087f75eef7164043c9fff43b7077"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 30 09:58:02 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 30 09:58:02 2018 +0000"
      },
      "message": "Merge \"Add --runtime-arg to command line tools.\""
    },
    {
      "commit": "458128737485d72028d0e4af9855b7773c81010b",
      "tree": "74b5b23be9f71018e396b37e3ba7aa190ef7a72a",
      "parents": [
        "d5ae80c223a2aa51b6a54faa0f014acdd013103f",
        "1717a493a4a0c1c3b69ecfcb58838627b4c75878"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 30 01:03:10 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 30 01:03:10 2018 +0000"
      },
      "message": "Merge \"Revert \"Support shared libraries in CreateContextFromClassLoader.\"\""
    },
    {
      "commit": "1717a493a4a0c1c3b69ecfcb58838627b4c75878",
      "tree": "84f28de48b55ea9942d3ffc49b13c0ec1c1435b7",
      "parents": [
        "a66d69e884b6f9f41a8da31e6d27b498984c7fa3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 30 01:02:50 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 30 01:02:50 2018 +0000"
      },
      "message": "Revert \"Support shared libraries in CreateContextFromClassLoader.\"\n\nThis reverts commit a66d69e884b6f9f41a8da31e6d27b498984c7fa3.\n\nbug: 120036590\nbug: 120031686\n\nReason for revert: Fails libcore \n\nChange-Id: I6bec17b1e6c0d767c10b44572ca5f8d73c5fc37e\n"
    },
    {
      "commit": "1a8429680f9d08d5f2b49fd93f9ad4df81b7cb66",
      "tree": "75bb0ef44acf50a3108e85529f0495176afbced9",
      "parents": [
        "f2970cd870948a6ee1c8ecd30c9c3147d05aa0be"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 13 15:09:51 2018 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 29 17:01:44 2018 -0800"
      },
      "message": "Add image compressed blocks\n\nAdd support for splitting the image into a set of solid blocks.\n\nAdded dex2oat option --max-image-block-size and correspodning image\nunit test.\n\nMotivation: Enable parallel image decompression in the future.\n\nBug: 116052292\nTest: test-art-host\n\nChange-Id: I37c6c6a43ef94c4a62bf38a0cf51f26ce06347ac\n"
    },
    {
      "commit": "d5ae80c223a2aa51b6a54faa0f014acdd013103f",
      "tree": "25b44b63625d83f36dc405d9ef9ff00b8dfc8fe3",
      "parents": [
        "f355ec703f519c3091853d85f61904be6dfb68aa",
        "813a86307e1f3437ed9d17aeea2c5c6ffcda5c67"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 29 23:36:04 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 23:36:04 2018 +0000"
      },
      "message": "Merge \"Use ArtMethod::GetDex{File,Cache}() more.\""
    },
    {
      "commit": "f355ec703f519c3091853d85f61904be6dfb68aa",
      "tree": "82486a5104742260ab35382c0678165ebff85112",
      "parents": [
        "0e211e55fe51adbd6bab7278ff1ceabea21faf78",
        "c1896c9a0e15df3a1b9a3a19bcd2a933b654fe06"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 29 22:51:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 22:51:00 2018 +0000"
      },
      "message": "Merge \"C++17 compatibility: make WITH_TIDY\u003d1 happy again.\""
    },
    {
      "commit": "0e211e55fe51adbd6bab7278ff1ceabea21faf78",
      "tree": "59fbdd10f7bd5ef772d1411e8fb2a7c57cdd4c7e",
      "parents": [
        "4afe9f5218956a3f2b6827e26b10c0ed48af864b",
        "2b41ccaa462f5faa92edde97504b785ddca415f5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 29 22:11:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 22:11:28 2018 +0000"
      },
      "message": "Merge \"Extract dex file if it is uncompressed but unaligned\""
    },
    {
      "commit": "4afe9f5218956a3f2b6827e26b10c0ed48af864b",
      "tree": "b4aedd4bfc25138b97135333a55f889dc7514106",
      "parents": [
        "196d0c8d3c76f46d606a5a808492ea4534e17890",
        "a66d69e884b6f9f41a8da31e6d27b498984c7fa3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 29 20:57:55 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 20:57:55 2018 +0000"
      },
      "message": "Merge \"Support shared libraries in CreateContextFromClassLoader.\""
    },
    {
      "commit": "196d0c8d3c76f46d606a5a808492ea4534e17890",
      "tree": "0108dec4b020914496e62c52119137bece201154",
      "parents": [
        "c89a28730fb8dff57c6cb5b18295fec45fe85d09",
        "d011d81e8c4c959f6d607bb80dfedf3b64a7f131"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 29 20:46:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 20:46:18 2018 +0000"
      },
      "message": "Merge \"Use more vector\u003cstring\u003es in dex2oat.cc .\""
    },
    {
      "commit": "c1896c9a0e15df3a1b9a3a19bcd2a933b654fe06",
      "tree": "b68a5f5163f8da0da87d671a225addaa2a13095f",
      "parents": [
        "f2970cd870948a6ee1c8ecd30c9c3147d05aa0be"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 29 11:33:18 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 29 11:33:18 2018 -0800"
      },
      "message": "C++17 compatibility: make WITH_TIDY\u003d1 happy again.\n\nBug: http://b/111067277\nTest: builds\nChange-Id: I8b69ea3815e14bb6eb27f40c0dd01a85b340a355\n"
    },
    {
      "commit": "2b41ccaa462f5faa92edde97504b785ddca415f5",
      "tree": "f9308a43745ebd606ec0799663b2c1822078bea4",
      "parents": [
        "90402ad6df38a5d4f268903aee5d7fe56791265f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Nov 16 22:43:41 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Nov 29 11:22:55 2018 -0800"
      },
      "message": "Extract dex file if it is uncompressed but unaligned\n\nA dex file would normally only be left in the zip file if it was both\nuncompressed and unaligned, but explicitly setting CopyOptions::kNever\nthrough --copy-dex-file\u003dfalse would only check if the dex file was\nuncompressed, not if it was aligned.  Add a required alignment\nargument to ZipEntry::MapDirectlyOrExtract so that the contents\nwill be extracted into memory if they don\u0027t meet the alignment\nrequirement.\n\nBug: 119412419\nTest: m test-art-host-gtest-oat_writer_test\nChange-Id: I4587e22165ee0a951ffca7db9a6f5c0d1ed2e56a\n"
    },
    {
      "commit": "c89a28730fb8dff57c6cb5b18295fec45fe85d09",
      "tree": "5d596ced1f30cb59c86179c05f4fb2a947ba5253",
      "parents": [
        "f2970cd870948a6ee1c8ecd30c9c3147d05aa0be",
        "0402f4b019c1d6c567b1c56589f1ea9170ab5dcc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 29 19:19:10 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 19:19:10 2018 +0000"
      },
      "message": "Merge \"Revert \"Reduce the number of calls to Jit::AddSamples.\"\""
    },
    {
      "commit": "0402f4b019c1d6c567b1c56589f1ea9170ab5dcc",
      "tree": "fb0705380c3d1600a08c0e95ed581a967bdf0da0",
      "parents": [
        "db94f2be59e60bde11ac903c5bf30e63ead67992"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 29 19:18:46 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 29 19:18:46 2018 +0000"
      },
      "message": "Revert \"Reduce the number of calls to Jit::AddSamples.\"\n\nThis reverts commit db94f2be59e60bde11ac903c5bf30e63ead67992.\n\nReason for revert: Break 667-jit-jni-stub\n\nChange-Id: Ia84a78be8acb62e87f7cd93e43c2967efac8caab\n"
    },
    {
      "commit": "813a86307e1f3437ed9d17aeea2c5c6ffcda5c67",
      "tree": "6ab0118464a3f721dc967d52a9607a96ce6e4188",
      "parents": [
        "7e09737125ddb8c6f243ac1882d2a23da3f109c4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 29 16:17:01 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 29 17:54:54 2018 +0000"
      },
      "message": "Use ArtMethod::GetDex{File,Cache}() more.\n\nDo not go through the declaring class when it can cause\na DexFile or DexCache mismatch for obsolete methods.\n\nAlso fix similar potential mismatch in hiddenapi.\n\nThis is a follow-up to\n    https://android-review.googlesource.com/834082 ,\n    https://android-review.googlesource.com/836008 .\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 119830111\nChange-Id: I3fdf1aa1bc7bab816d5d8034b107506a32438b77\n"
    },
    {
      "commit": "a66d69e884b6f9f41a8da31e6d27b498984c7fa3",
      "tree": "58efae80d2b2161feff23143ab620242d1c09605",
      "parents": [
        "8f50b2c27f9b32726bbadfcebba910640b94036e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 28 16:06:12 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 29 17:16:04 2018 +0000"
      },
      "message": "Support shared libraries in CreateContextFromClassLoader.\n\nMissed this method in my previous set of shared libraries support.\n\nbug: 120036590\nbug: 120031686\nTest: test.py, app startup with speed-profile\nChange-Id: I5c1ec567cfa5452a1f510a3279a9e15125f429ba\n"
    },
    {
      "commit": "813b91443d37087f75eef7164043c9fff43b7077",
      "tree": "1dbd6fafbd1df722cf04b14d209e98d5f10c8c1f",
      "parents": [
        "d011d81e8c4c959f6d607bb80dfedf3b64a7f131"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 29 11:20:07 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 29 16:58:32 2018 +0000"
      },
      "message": "Add --runtime-arg to command line tools.\n\nThis shall be used in the next CL to pass -Xbootclasspath:\nand -Xbootclasspath-location: that match the --image\u003d arg.\n\nTest: m test-art-host-gtest\nTest: Manually run oatdump with --runtime-arg -Xms256m\nBug: 119868597\nChange-Id: Ia355a646bf34a3314c56b9a2fb20f1ef96570fbd\n"
    },
    {
      "commit": "e701de908bf5cb9375f15a3dbd113206aa582e7e",
      "tree": "18c5267dee40abd4b98ff9fb8b65bd5ff5267d9b",
      "parents": [
        "91690d37ad9d947e4e72b5622b9fbf6a9391274d"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Oct 31 21:28:36 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Nov 29 16:42:14 2018 +0000"
      },
      "message": "Support CSV hiddenapi flags in class2greylist\n\nAccess flags for hiddenapi are being converted from one file per flag\nto a single CSV file in the format:\n\n  \u003capi signature\u003e,\u003cflag1\u003e,...,\u003cflagN\u003e\n\nAdjust `class2greylist` to produce such a CSV instead of text files.\n\nTest: m, phone boots\nTest: atest art/tools/class2greylist/test\nChange-Id: I6592027256e42d87589512ada1a8ce4bd1c03e63\n"
    },
    {
      "commit": "91690d37ad9d947e4e72b5622b9fbf6a9391274d",
      "tree": "729fac9e3c27017b8199bcd509c5f9bfd2de3473",
      "parents": [
        "f2970cd870948a6ee1c8ecd30c9c3147d05aa0be"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Sun Nov 04 18:07:23 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Nov 29 16:42:10 2018 +0000"
      },
      "message": "hiddenapi: Convert API lists to a flags CSV file\n\nAccess flags for hiddenapi have been managed as a series of test files,\none file per flag. This requries too many changes every time a flag is\nchanged or a new flag is introduced. Change `hiddenapi` and `veridex`\nto expect flags as a CSV file in the format:\n\n  \u003capi signature\u003e,\u003cflag1\u003e,...,\u003cflagN\u003e\n\nTest: m, phone boots\nTest: m test-art\nTest: m appcompat\nChange-Id: Iffa64b36ffc5524779d5f57c3c6f0c0e84bfc606\n"
    },
    {
      "commit": "d011d81e8c4c959f6d607bb80dfedf3b64a7f131",
      "tree": "803656224159e0c87c4a97ad640dbe90c6e7285a",
      "parents": [
        "8f50b2c27f9b32726bbadfcebba910640b94036e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 29 12:35:24 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 29 15:11:11 2018 +0000"
      },
      "message": "Use more vector\u003cstring\u003es in dex2oat.cc .\n\nReplace some uses of vector\u003cconst char*\u003e.\n\nTest: m test-art-host-gtest\nBug: 119868597\nChange-Id: Ib5b8d132a35b076c23d43f58a4715c4218dbbffb\n"
    },
    {
      "commit": "f2970cd870948a6ee1c8ecd30c9c3147d05aa0be",
      "tree": "3ca52bb7a21ede069b6e54ebd84cdb782bb0c776",
      "parents": [
        "b2eeca05130c2bb9249850d83aad8281ddfcf5c5",
        "3f704c0498730307e49682fc744000239af8a7fc"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 29 15:06:05 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 15:06:05 2018 +0000"
      },
      "message": "Merge \"Inline methods in ObjPtr even in debug builds.\""
    },
    {
      "commit": "b2eeca05130c2bb9249850d83aad8281ddfcf5c5",
      "tree": "5a73aa2362725ef41140132d054abb08f313fb46",
      "parents": [
        "9a9f8f627ebcbf609813df548115fe9452556ebf",
        "db94f2be59e60bde11ac903c5bf30e63ead67992"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 29 14:50:36 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 14:50:36 2018 +0000"
      },
      "message": "Merge \"Reduce the number of calls to Jit::AddSamples.\""
    },
    {
      "commit": "9a9f8f627ebcbf609813df548115fe9452556ebf",
      "tree": "73d1d2a2cec915631be13b6dce6950901da54638",
      "parents": [
        "d8eb2f2f2d6ddca682b4aa0703f00bb34069e298",
        "68b926eaa1d907dc830afc8b3f2f0677d134833e"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 29 13:44:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 13:44:47 2018 +0000"
      },
      "message": "Merge \"Check consistency of mterp vregs before every opcode for slow debug.\""
    },
    {
      "commit": "db94f2be59e60bde11ac903c5bf30e63ead67992",
      "tree": "95d66a33cefefac89f84534ac4f023e76ff096d9",
      "parents": [
        "076c9da66b606057109e5fb2902d28129d120b96"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Nov 09 12:58:28 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 29 11:41:07 2018 +0000"
      },
      "message": "Reduce the number of calls to Jit::AddSamples.\n\nThe method is called for every invoke which is expensive.\nAdd samples, but don\u0027t check the consequences every time.\n\nThis reduces its cost from 3.5% to 1% (maps on device).\n\nTest: ./art/test.py -b -r --host --64\nChange-Id: Ie90da905d067b5d85a3c494c7c9af81b24dc8135\n"
    },
    {
      "commit": "d8eb2f2f2d6ddca682b4aa0703f00bb34069e298",
      "tree": "1ff4cc7d77710c641e954ace980b481beb2555e8",
      "parents": [
        "076c9da66b606057109e5fb2902d28129d120b96",
        "124bb24394ca89bdc20ff12cafc0546beaf83615"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 29 11:11:19 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 11:11:19 2018 +0000"
      },
      "message": "Merge \"Mterp: Add missing shadow reg clear to op_long_to_double\""
    },
    {
      "commit": "076c9da66b606057109e5fb2902d28129d120b96",
      "tree": "fb0705380c3d1600a08c0e95ed581a967bdf0da0",
      "parents": [
        "1ad1254db5a7d44775840339240a10deb148034b",
        "7e09737125ddb8c6f243ac1882d2a23da3f109c4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 29 07:14:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 07:14:40 2018 +0000"
      },
      "message": "Merge \"Use ArtMethod::GetDexFile() instead of using declaring class.\""
    },
    {
      "commit": "1ad1254db5a7d44775840339240a10deb148034b",
      "tree": "699af3838cb37aa85c7e938e7e3104cbe2edbd34",
      "parents": [
        "a9f861bd83117931b7c5d679038770489bc16155",
        "055fb139b69ffa7c97362bfff10c60fe6f2f4bd1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 29 05:04:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 05:04:41 2018 +0000"
      },
      "message": "Merge \"C++17 compatibility: remove unreachable return.\""
    },
    {
      "commit": "055fb139b69ffa7c97362bfff10c60fe6f2f4bd1",
      "tree": "699af3838cb37aa85c7e938e7e3104cbe2edbd34",
      "parents": [
        "a9f861bd83117931b7c5d679038770489bc16155"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 28 17:54:54 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 28 17:54:54 2018 -0800"
      },
      "message": "C++17 compatibility: remove unreachable return.\n\nBug: http://b/111067277\nTest: builds\nChange-Id: If6c3a4add1721067965e19599a7649cc21b55619\n"
    },
    {
      "commit": "a9f861bd83117931b7c5d679038770489bc16155",
      "tree": "c4da08b70292b5d8d4ee5473c82b36c886022c42",
      "parents": [
        "427766c709b762f01f2bb92143bf33ece1c88290",
        "ad33073100f4a8baa5f0901882c954ab8dcdda79"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 28 23:10:22 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 28 23:10:22 2018 +0000"
      },
      "message": "Merge \"ART: Do not interact with thread object in test 913\""
    },
    {
      "commit": "427766c709b762f01f2bb92143bf33ece1c88290",
      "tree": "d2adbfc5e93428338ba0ffc76a9352f0939097e4",
      "parents": [
        "a63423df04f629ab4286fd16536d87ba906eaed5",
        "489a3fce39b3e441f6788c11e97c3d14e43f743c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 28 21:24:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 28 21:24:21 2018 +0000"
      },
      "message": "Merge \"ART: Mark implicit constructor NOLINT\""
    },
    {
      "commit": "a63423df04f629ab4286fd16536d87ba906eaed5",
      "tree": "af1a9974844cc795e84733c3a7add62335707f80",
      "parents": [
        "2025488b81ac0cfa9af5cfd10c7f8a45c215d9a3",
        "9c8957dd84679fa2ea32cbfe80d7dbe2f4a490fc"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 28 20:55:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 28 20:55:39 2018 +0000"
      },
      "message": "Merge \"Fix \"performance-for-range-copy\" error.\""
    },
    {
      "commit": "ad33073100f4a8baa5f0901882c954ab8dcdda79",
      "tree": "7b745bf23d118e995c854efce5ce30506f6e34a8",
      "parents": [
        "2025488b81ac0cfa9af5cfd10c7f8a45c215d9a3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 28 08:43:42 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 28 12:27:12 2018 -0800"
      },
      "message": "ART: Do not interact with thread object in test 913\n\nThe current thread can be reachable from the test\u0027s class object.\nIgnore it when following references.\n\nBug: 119942670\nTest: m test-art-host\nTest: atst CtsJvmtiRunTest913HostTestCases\nChange-Id: Ibb9df47010e2432057acc153145ca1a8ed3695d5\n"
    },
    {
      "commit": "3f704c0498730307e49682fc744000239af8a7fc",
      "tree": "034631c580abbf228b02a983ddc9f646c94529c0",
      "parents": [
        "8f50b2c27f9b32726bbadfcebba910640b94036e"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Nov 16 17:05:15 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Nov 28 19:23:36 2018 +0000"
      },
      "message": "Inline methods in ObjPtr even in debug builds.\n\nThis speeds up the debug runtime.\n\nTest: Profile app startup with the debug runtime.\nChange-Id: Ifbf96e3c54453e66189da6da9824c2465513b19f\n"
    },
    {
      "commit": "2025488b81ac0cfa9af5cfd10c7f8a45c215d9a3",
      "tree": "101d49fadb624ee8b5a22a1866b0f319dfea8fc0",
      "parents": [
        "ef6b2aa28fec148d3fe635a34260fde8c89622c7",
        "85f1c576d228c2c43e9a0dc37f0cbb91fad59c45"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 28 18:37:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 28 18:37:15 2018 +0000"
      },
      "message": "Merge \"ART: Some iwyu for logging.h\""
    },
    {
      "commit": "68b926eaa1d907dc830afc8b3f2f0677d134833e",
      "tree": "b3ef5af3a02b282004780967adfc4bb8c3d75d4b",
      "parents": [
        "8f50b2c27f9b32726bbadfcebba910640b94036e"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Nov 28 17:43:42 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Nov 28 18:23:02 2018 +0000"
      },
      "message": "Check consistency of mterp vregs before every opcode for slow debug.\n\nTest: ./art/test.py -b -r -t 525 --runtime-option\u003d-XX:SlowDebug\u003dtrue\nChange-Id: Ia156567fb454dc547191941a1bc999a289cd39ed\n"
    },
    {
      "commit": "9c8957dd84679fa2ea32cbfe80d7dbe2f4a490fc",
      "tree": "d1b592788516838a264925026ef672b0c7617095",
      "parents": [
        "23b729e17ed437d19583f70e63d1fc8a85b5dae4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 27 22:24:57 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 28 09:29:51 2018 -0800"
      },
      "message": "Fix \"performance-for-range-copy\" error.\n\nNot sure why this only shows up with -std\u003dc++17, but it\u0027s clearly\ncorrect:\n\n  art/tools/hiddenapi/hiddenapi.cc:1063:45: error: the loop variable\u0027s type is not a reference type; this creates a copy in each iteration; consider making this a reference [performance-for-range-copy,-warnings-as-errors]\n\nBug: http://b/111067277\nTest: builds\nChange-Id: I3796d275b142db3de40e7a855a8130ecea6212ae\n"
    },
    {
      "commit": "124bb24394ca89bdc20ff12cafc0546beaf83615",
      "tree": "f9c83798f21a27094ff65d5338844f2fc3f213b5",
      "parents": [
        "8f50b2c27f9b32726bbadfcebba910640b94036e"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Nov 23 21:08:49 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Nov 28 17:09:41 2018 +0000"
      },
      "message": "Mterp: Add missing shadow reg clear to op_long_to_double\n\nBug: 118647289\nTest: ./art/test.py -b -r --target --32 --interpreter --gcstress -t 525\n      with shadow_frame-\u003eCheckConsistentVRegs() added to MterpCheckBefore.\nChange-Id: I49c12e9f5c8250b7172e0e8fae7c932b2eb10f69\n"
    },
    {
      "commit": "ef6b2aa28fec148d3fe635a34260fde8c89622c7",
      "tree": "c00a942a4af6eab805e78b26ce779b23166e1212",
      "parents": [
        "8f50b2c27f9b32726bbadfcebba910640b94036e",
        "c7d878d4be3f0971d4b86266308c7540a26c2856"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 28 16:43:42 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 28 16:43:42 2018 +0000"
      },
      "message": "Merge \"Revert^4 \"ART: Add StackVisitor accepting a lambda\"\""
    },
    {
      "commit": "7e09737125ddb8c6f243ac1882d2a23da3f109c4",
      "tree": "1105bc475dec6b923c205cde3d90ca32cd3a803b",
      "parents": [
        "201330ccfb11989f7449486865c6f74b54f1a914"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 28 16:40:59 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 28 16:43:06 2018 +0000"
      },
      "message": "Use ArtMethod::GetDexFile() instead of using declaring class.\n\nThis is a follow-up to\n    https://android-review.googlesource.com/834082 .\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nBug: 119830111\nChange-Id: I5bd55b0293ef176385a7e9d8b296be6b470cfcc4\n"
    },
    {
      "commit": "8f50b2c27f9b32726bbadfcebba910640b94036e",
      "tree": "84f28de48b55ea9942d3ffc49b13c0ec1c1435b7",
      "parents": [
        "f7b3dff9eef45290d0324db01fb4aaa69bcd5062",
        "d47e9abaf2381a057c4ed86495916fa76dad8296"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 28 15:22:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 28 15:22:40 2018 +0000"
      },
      "message": "Merge changes I5dd60978,I0c2b804c\n\n* changes:\n  Remove code replacing core.jar -\u003e core-libart.jar.\n  Remove obsolete code related to patchoat.\n"
    },
    {
      "commit": "f7b3dff9eef45290d0324db01fb4aaa69bcd5062",
      "tree": "47615aebb1b1b67176ab743d6f83126e50e0fa22",
      "parents": [
        "a0ca79a603a0aecc1f3a723b25589aafb91943c7",
        "cb64b85d581fc207688603fbca3770fb4bb0d008"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 28 15:20:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 28 15:20:18 2018 +0000"
      },
      "message": "Merge \"Remove bouncycastle dependency from 021-string2.\""
    },
    {
      "commit": "a0ca79a603a0aecc1f3a723b25589aafb91943c7",
      "tree": "ad4e7325b3ecda008d40d621a31ca7bfdaad7214",
      "parents": [
        "08005628d20b862ea8b3a510a06cf5d6e0147328",
        "561303f94b5262bf939b91eb11feff5dc3a6aab9"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Nov 28 14:02:02 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 28 14:02:02 2018 +0000"
      },
      "message": "Merge \"Mterp: Always use macros for vreg reads/writes.\""
    },
    {
      "commit": "d47e9abaf2381a057c4ed86495916fa76dad8296",
      "tree": "a73e49d4237c2b8718ae898fc3e58c9ec196e265",
      "parents": [
        "a3283e4d74954a6409db48ef26a49022dfadac97"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 28 10:45:20 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 28 13:30:54 2018 +0000"
      },
      "message": "Remove code replacing core.jar -\u003e core-libart.jar.\n\nThis code seems obsolete. If it was still needed, it would\nhave to replace core.jar with core-oj.jar instead; the boot\nclass path starts with core-oj.jar, not core-libart.jar.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: I5dd6097894cd72c27b87dd572e6e65203ad23ff4\n"
    },
    {
      "commit": "cb64b85d581fc207688603fbca3770fb4bb0d008",
      "tree": "075468eb42783125937f0143e2a5eb7da0bfd8f0",
      "parents": [
        "201330ccfb11989f7449486865c6f74b54f1a914"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 28 10:54:48 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 28 10:58:00 2018 +0000"
      },
      "message": "Remove bouncycastle dependency from 021-string2.\n\nThe part of the test 021-string2 using bouncycastle was\nadded with the String representation change,\n    https://android-review.googlesource.com/79174 ,\nbut the only thing it seems to be testing (with respect to\nthat CL) is the String(char[]) constructor. Therefore,\nchange the test to call that constructor directly.\n\nTest: testrunner.py --host -t 021-string2\nChange-Id: Ifbac88609ffc190d577d48880a451d2279c2a078\n"
    },
    {
      "commit": "a3283e4d74954a6409db48ef26a49022dfadac97",
      "tree": "818c37d2d6ca1fbd9d31242c3e43a8b9205350d9",
      "parents": [
        "244470afafdb1c5aba17507ef793d316b9c4d038"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 28 10:19:12 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 28 10:19:12 2018 +0000"
      },
      "message": "Remove obsolete code related to patchoat.\n\nRemove code that was opening boot oat files from /system/ as\nread-only for failed patchoat. Patchoat has been removed.\n\nTest: m test-art-host\nTest: testrunner.py --host --optimizing\nBug: 77856493\nChange-Id: I0c2b804c28bb34a749218d75875a4fbee9238b7f\n"
    },
    {
      "commit": "08005628d20b862ea8b3a510a06cf5d6e0147328",
      "tree": "f6e22a222b592926075a546fbcd720f7cec9a8f6",
      "parents": [
        "23b729e17ed437d19583f70e63d1fc8a85b5dae4",
        "e36e7f2226e4e08b7a7094f78cb80bbe0e729c2b"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Nov 28 09:23:51 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 28 09:23:51 2018 +0000"
      },
      "message": "Merge \"Store ImtIndex in ArtMethod.\""
    },
    {
      "commit": "23b729e17ed437d19583f70e63d1fc8a85b5dae4",
      "tree": "80fca63f75a6aca3bbd71c383154b57572d56091",
      "parents": [
        "98034bfb4178e5054c89e5a4aa738afe1caff396",
        "c9de61cf9477e221e0dcc6470de9bf73c0559cf0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 27 23:39:55 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 27 23:39:55 2018 +0000"
      },
      "message": "Merge \"Revert^2 \"Refactor code around JIT creation.\"\""
    },
    {
      "commit": "c9de61cf9477e221e0dcc6470de9bf73c0559cf0",
      "tree": "db42f9c3b26d7543b7c378397debfc0595925ba6",
      "parents": [
        "763cd98161424cf19af2f113a6802f04860dcd6e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 27 17:34:31 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 27 18:01:19 2018 +0000"
      },
      "message": "Revert^2 \"Refactor code around JIT creation.\"\n\nThis reverts commit 763cd98161424cf19af2f113a6802f04860dcd6e.\n\nBug: 119800099\n\nReason for revert: Updated the DCHECKo take into account current state\nof zygote not having a thread pool.\n\nChange-Id: I1181ff85e7aebd062ee892548b80ab3de06a5ac7\n"
    },
    {
      "commit": "e36e7f2226e4e08b7a7094f78cb80bbe0e729c2b",
      "tree": "0787ae19a232728121a60791f3a18094529120f1",
      "parents": [
        "244470afafdb1c5aba17507ef793d316b9c4d038"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Nov 14 14:21:23 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Nov 27 17:31:01 2018 +0000"
      },
      "message": "Store ImtIndex in ArtMethod.\n\nThis avoids recalculation and reduces pressure on the thread local cache.\n\nThis halves the time we spend hashing from 2% to 1% (maps on device).\n\nTest: ./art/test.py -b --host --64\nChange-Id: I2407bd9c222de4ddc6eea938908a1ac6d7abc35b\n"
    },
    {
      "commit": "489a3fce39b3e441f6788c11e97c3d14e43f743c",
      "tree": "e69015fbcec5b47fd8586a866a7795994775fdb7",
      "parents": [
        "98034bfb4178e5054c89e5a4aa738afe1caff396"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 27 07:55:34 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 27 07:55:34 2018 -0800"
      },
      "message": "ART: Mark implicit constructor NOLINT\n\nBug: 32619234\nTest: m test-art-host\nChange-Id: I1f039d0c15c207c2b72a3f02a60945854db350f4\n"
    },
    {
      "commit": "98034bfb4178e5054c89e5a4aa738afe1caff396",
      "tree": "5449da55410b20f19d5f743ceb0e82047c31b578",
      "parents": [
        "a92b0265ecade9b90ef051798f177eefeead8b4e",
        "a8f91395f9a2ee9d975a83178abaac9af34969ab"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 26 21:38:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 26 21:38:33 2018 +0000"
      },
      "message": "Merge \"ART: Fix clang-analyzer-security.insecureAPI.strcpy\""
    },
    {
      "commit": "a92b0265ecade9b90ef051798f177eefeead8b4e",
      "tree": "8adbeeaaf0552ab8e57f9b8b4c5bf0ab446d9d2d",
      "parents": [
        "a61a969e2d32c175fca043a33dcc3af04ffa41f0",
        "d79209ceb8a9d41a4f1c194ed5f9cac111e52835"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 26 21:21:49 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 26 21:21:49 2018 +0000"
      },
      "message": "Merge \"C++17 compatibility: unreachable `return`.\""
    },
    {
      "commit": "a61a969e2d32c175fca043a33dcc3af04ffa41f0",
      "tree": "ca3ea7e5228bd57fcec9f171d34fa11d1a43e5fe",
      "parents": [
        "52f5fa70cbe9b99386664697186f06046d351985",
        "763cd98161424cf19af2f113a6802f04860dcd6e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 26 21:19:36 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 26 21:19:36 2018 +0000"
      },
      "message": "Merge \"Revert \"Refactor code around JIT creation.\"\""
    },
    {
      "commit": "52f5fa70cbe9b99386664697186f06046d351985",
      "tree": "acfd912b7f3c47e897698319f172a5cfd89fc668",
      "parents": [
        "201330ccfb11989f7449486865c6f74b54f1a914",
        "af77ad46543ec13d77a53634507901f580d90fb6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 26 21:13:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 26 21:13:52 2018 +0000"
      },
      "message": "Merge \"Reorder kThreadWaitLock\""
    },
    {
      "commit": "d79209ceb8a9d41a4f1c194ed5f9cac111e52835",
      "tree": "2e50a8ccf782366cfce41a9dd801f0d81e8e2cec",
      "parents": [
        "f3d71d90813be42eb2bc5b85a38cd31dd3c5af21"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 16 09:29:48 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 26 10:36:59 2018 -0800"
      },
      "message": "C++17 compatibility: unreachable `return`.\n\nClang rejects the `return` as unreachable in C++17 mode, but complains\nabout falling off the end of a function in C++14 mode. Add UNREACHABLE\nto make it happy either way.\n\nBug: http://b/111067277\nTest: builds\nChange-Id: I119a806f41e88752976d6fd3638146ec6e08d620\n"
    },
    {
      "commit": "763cd98161424cf19af2f113a6802f04860dcd6e",
      "tree": "bfb50d986ad25030ecfde9b3a4e1ffd8983e30f6",
      "parents": [
        "7a2c7c2f7062d9fef21b72ff9c10ca8ef863eb8b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 26 18:21:45 2018 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 26 18:21:45 2018 +0000"
      },
      "message": "Revert \"Refactor code around JIT creation.\"\n\nThis reverts commit 7a2c7c2f7062d9fef21b72ff9c10ca8ef863eb8b.\n\nReason for revert: Breaks boot in debug mode\n\nBug: 119800099\nChange-Id: I6d015b04c480f76824ead936238cbf49b164b7e3\nTest: N/A\n"
    },
    {
      "commit": "201330ccfb11989f7449486865c6f74b54f1a914",
      "tree": "daa70f827c4800f060fd486ff15749fb4bac1d38",
      "parents": [
        "d0f99b93a76451ee0a57187d863bf101a407f374",
        "79c693b3133da397cec7eaff19de631b65a0cf70"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 26 18:08:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 26 18:08:23 2018 +0000"
      },
      "message": "Merge \"ART: Remove setjmp.h includes\""
    },
    {
      "commit": "d0f99b93a76451ee0a57187d863bf101a407f374",
      "tree": "78032d83da65c5505635620a7f07d32f88b20406",
      "parents": [
        "244470afafdb1c5aba17507ef793d316b9c4d038",
        "4835d21a33b783869820c928bfc0a16f249d65f2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 26 16:57:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 26 16:57:23 2018 +0000"
      },
      "message": "Merge \"ART: Fix ResolveType with ArtMethod\""
    },
    {
      "commit": "af77ad46543ec13d77a53634507901f580d90fb6",
      "tree": "8dd3f7f719836035cff40465533b56079a6a7004",
      "parents": [
        "244470afafdb1c5aba17507ef793d316b9c4d038"
      ],
      "author": {
        "name": "Charles Munger",
        "email": "clm@google.com",
        "time": "Tue Nov 20 11:04:05 2018 -0800"
      },
      "committer": {
        "name": "Charles Munger",
        "email": "clm@google.com",
        "time": "Mon Nov 26 08:46:31 2018 -0800"
      },
      "message": "Reorder kThreadWaitLock\n\nIn aosp/814976, a new lock level was created for thread wait locks,\nwhich were previously at kDefaultMutexLevel. I missed that another lock,\nkMarkSweepMarkStackLock, was acquired while holding the thread wait\nlock. This corrects the ordering.\n\nBug: 119755302\nChange-Id: Ib55228d2759e281dc0f3a2177a538fd9adfec163\n"
    },
    {
      "commit": "561303f94b5262bf939b91eb11feff5dc3a6aab9",
      "tree": "818a142401e8e969848dec39867e7854dbb4380d",
      "parents": [
        "244470afafdb1c5aba17507ef793d316b9c4d038"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Nov 20 21:55:42 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sun Nov 25 14:31:56 2018 +0000"
      },
      "message": "Mterp: Always use macros for vreg reads/writes.\n\nThis makes is easier to find/modify the related code.\n\nTest: No change of the assembly instructions in libart.so\nChange-Id: Ia01a5cbda247bcb06fad4c1d1c903d8c53a56e93\n"
    },
    {
      "commit": "244470afafdb1c5aba17507ef793d316b9c4d038",
      "tree": "609b6fb2fdec3c71a59a430df858e8b7ed525678",
      "parents": [
        "1eaa9758dc047dd94f9912c088f606e2e2274d0e",
        "11a2df36e5645a17400a178c08b91e5a56acb895"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 23 20:03:16 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 23 20:03:16 2018 +0000"
      },
      "message": "Merge \"Rename apex keys to match with APEX bundle name\""
    },
    {
      "commit": "1eaa9758dc047dd94f9912c088f606e2e2274d0e",
      "tree": "e4c9a386165b95a436bd69c49855d8e76d4e269d",
      "parents": [
        "be08120e6fb9b02206bad7d53d35f0131ef22fa2",
        "dcfa89bfc06a6c211bbb64fa81313eaf6454ab67"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Nov 22 14:19:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 22 14:19:46 2018 +0000"
      },
      "message": "Merge \"Rename and reorganize hiddenapi::ApiList\""
    },
    {
      "commit": "be08120e6fb9b02206bad7d53d35f0131ef22fa2",
      "tree": "4f0c6fa85c3421678403f717e8666a63c53a4107",
      "parents": [
        "fd667d4165aefe51010e4fe3bd81b820ed9884ef",
        "8943fa12efd017b380ea70d5da38ee186100857b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 22 13:21:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 22 13:21:26 2018 +0000"
      },
      "message": "Merge \"Implement integer/long LowestOneBit intrinsic for x86\""
    },
    {
      "commit": "dcfa89bfc06a6c211bbb64fa81313eaf6454ab67",
      "tree": "4aaf6da88861029e387525957bf68796cf95648c",
      "parents": [
        "fd667d4165aefe51010e4fe3bd81b820ed9884ef"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Oct 31 11:04:10 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Nov 22 12:49:26 2018 +0000"
      },
      "message": "Rename and reorganize hiddenapi::ApiList\n\nChange values of ApiList flags to make them easier to extend in the\nfuture and unify naming across all components. Light greylist is now\njust \"Greylist\", dark greylist becomes \"GreylistMaxO\".\n\nNote that the version code in \"GreylistMaxO\" must also include any\nmaintenance releases, i.e. entries on \"GreylistMaxO\" are accessible\nto apps with targetSdkVersion\u003c\u003d27 (O MR1).\n\nTest: m, phone boots\nTest: m test-art\nChange-Id: I9622e0646eb265008a8bb2652270876ae95dac84\n"
    },
    {
      "commit": "fd667d4165aefe51010e4fe3bd81b820ed9884ef",
      "tree": "3b37241f04c4f9fe30ca82cbbb1a23679c03c396",
      "parents": [
        "80e6a0917361273d471af731fee123f6b9e5e094",
        "312f10ed40dd175e71eba51ecb44e550e0ac6e97"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 22 10:22:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 22 10:22:46 2018 +0000"
      },
      "message": "Merge changes I05871a8a,I8baec836\n\n* changes:\n  Refactor loading boot image.\n  Remove boot image begin/size from image header.\n"
    },
    {
      "commit": "80e6a0917361273d471af731fee123f6b9e5e094",
      "tree": "16ffc3af15e57113e073f97955b5675244ef91f5",
      "parents": [
        "5ad3adeb0595b9cb5ada6185f0d5f689dfae0ba4",
        "7a2c7c2f7062d9fef21b72ff9c10ca8ef863eb8b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 22 08:59:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 22 08:59:26 2018 +0000"
      },
      "message": "Merge \"Refactor code around JIT creation.\""
    },
    {
      "commit": "5ad3adeb0595b9cb5ada6185f0d5f689dfae0ba4",
      "tree": "f526c1be8b78123ae3c8f9082674d75fcca63bbb",
      "parents": [
        "a13be298b6bba821187c7f768a3e7bf0506829d0",
        "f0d3002d640bc41fe572e534542e9b8670838bd7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 22 08:59:01 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 22 08:59:01 2018 +0000"
      },
      "message": "Merge \"Fix app image generation and checking with shared libraries.\""
    },
    {
      "commit": "a13be298b6bba821187c7f768a3e7bf0506829d0",
      "tree": "bc11f36c4305e359ef7deae78971263fbe37d4ef",
      "parents": [
        "f759dc027507d0092a49d9ec146dc37ca4534dd4",
        "1afdfe681436db495276d853709116c39de40c4d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 22 08:58:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 22 08:58:23 2018 +0000"
      },
      "message": "Merge \"Wait until inline cache is accessible in GetProfiledMethods.\""
    },
    {
      "commit": "1afdfe681436db495276d853709116c39de40c4d",
      "tree": "a2fe476efb313455090b419b7a83971b7f5ec29f",
      "parents": [
        "d52a6f402fac600e7432cfd59a1298659625a6d3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 21 09:38:10 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 22 08:58:15 2018 +0000"
      },
      "message": "Wait until inline cache is accessible in GetProfiledMethods.\n\nBug: 119844538\nTest: test.py\nChange-Id: I7ee0718bb866652b1913496eb3ecd3beee1d46c3\n"
    },
    {
      "commit": "11a2df36e5645a17400a178c08b91e5a56acb895",
      "tree": "cb3aa6b84cfa4d326d0b0d8055221903a72a203a",
      "parents": [
        "f759dc027507d0092a49d9ec146dc37ca4534dd4"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Nov 22 16:25:08 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Nov 22 16:25:08 2018 +0900"
      },
      "message": "Rename apex keys to match with APEX bundle name\n\nThis is to ensure that an apex key is used by only one APEX.\n\nBug: 115721587\nTest: m checkbuild\nChange-Id: I77ce1e20024fba382cfc07d22ef525f778804de6\n"
    },
    {
      "commit": "8943fa12efd017b380ea70d5da38ee186100857b",
      "tree": "09f9f37949ac41b91092046f0a16a3a360614835",
      "parents": [
        "330d41da48a943baa467ab2ce745cd9c64998d7b"
      ],
      "author": {
        "name": "Shalini Salomi Bodapati",
        "email": "shalini.salomi.bodapati@intel.com",
        "time": "Wed Nov 21 15:36:00 2018 +0530"
      },
      "committer": {
        "name": "Shalini Salomi Bodapati",
        "email": "shalini.salomi.bodapati@intel.com",
        "time": "Thu Nov 22 09:36:35 2018 +0530"
      },
      "message": "Implement integer/long LowestOneBit intrinsic for x86\n\nTest: ./test.py --host, 568-checker-one-bit\nChange-Id: Ia7e13fa3b804c0c74ee1470b306c836fc1578c15\nSigned-off-by: Shalini Salomi Bodapati \u003cshalini.salomi.bodapati@intel.com\u003e\n"
    },
    {
      "commit": "85f1c576d228c2c43e9a0dc37f0cbb91fad59c45",
      "tree": "67d17ea5a7eb6021dabb335730402bd28d72694a",
      "parents": [
        "79c693b3133da397cec7eaff19de631b65a0cf70"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 21 13:52:48 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 21 15:22:07 2018 -0800"
      },
      "message": "ART: Some iwyu for logging.h\n\nRemove over-broad use in headers. Fix up transitive includes.\n\nBug: 119869270\nTest: mmma art\nChange-Id: I518fa7c8bee014b260818fca1fbde6ec47d126da\n"
    },
    {
      "commit": "79c693b3133da397cec7eaff19de631b65a0cf70",
      "tree": "dc08c382b7b17eac484355ca63683b3a0560ab81",
      "parents": [
        "f759dc027507d0092a49d9ec146dc37ca4534dd4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 21 10:43:50 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 21 15:22:07 2018 -0800"
      },
      "message": "ART: Remove setjmp.h includes\n\nWe are not using jmpbuf and co.\n\nBug: 119869270\nTest: m\nChange-Id: I85993e2ce506b059801d8d8da8b440e93ee9e3fd\n"
    },
    {
      "commit": "4835d21a33b783869820c928bfc0a16f249d65f2",
      "tree": "fe49fa458772f3e43c8a55c51a07a68c360cccf6",
      "parents": [
        "5a78e8dbf068c544b84e98f636b30045b09451c4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 21 14:55:10 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 21 14:55:10 2018 -0800"
      },
      "message": "ART: Fix ResolveType with ArtMethod\n\nArtMethods may be obsolete. In that case, the dex cache of the\ndeclaring class is not correct. Refactor the code to avoid\nissues.\n\nPartially reverts commit 09c5ca40635faee00f40f6ca0581dd475efd545e.\n\nBug: 119830111\nTest: m test-art-host\nChange-Id: Ibf89af48e6384569c2abd6d5846cf05c929679d0\n"
    },
    {
      "commit": "f759dc027507d0092a49d9ec146dc37ca4534dd4",
      "tree": "b500f8a4724876b45b9ea49676defd1152c5ac84",
      "parents": [
        "5a78e8dbf068c544b84e98f636b30045b09451c4",
        "5c803116e26ef40ad2a9c14d3411e21d149e0c9b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 21 22:25:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 21 22:25:21 2018 +0000"
      },
      "message": "Merge \"ART: Add profile-compile-check support\""
    },
    {
      "commit": "f0d3002d640bc41fe572e534542e9b8670838bd7",
      "tree": "3a3532c663b71aeca0a42f5e8cf193a7a8e86f72",
      "parents": [
        "fe96083dbf14f4c8465694e0144af0e13c2bc171"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 20 17:45:38 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 21 21:08:43 2018 +0000"
      },
      "message": "Fix app image generation and checking with shared libraries.\n\nWe can now have multiple class loaders in an app image.\n\nbug: 111174995\nTest: dex2oat_test, test.py\n\nChange-Id: Ie45c030b483efa78df2605fbcafb4e641b80c59a\n"
    },
    {
      "commit": "312f10ed40dd175e71eba51ecb44e550e0ac6e97",
      "tree": "19339686a5eabd5352f22aefa0e62ca1ddf7176c",
      "parents": [
        "0c78ef7f2e8f010311ce9c0715b1ab3fe28f68f6"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 21 12:35:24 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 21 18:01:52 2018 +0000"
      },
      "message": "Refactor loading boot image.\n\nLoad art files first, then load oat files.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: I05871a8ababaab5a59919acd7bcfd07c69cc563d\n"
    },
    {
      "commit": "0c78ef7f2e8f010311ce9c0715b1ab3fe28f68f6",
      "tree": "97755cc52e33418aacfd1cc5ebbf061085dec780",
      "parents": [
        "5a78e8dbf068c544b84e98f636b30045b09451c4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 21 14:09:35 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 21 16:47:03 2018 +0000"
      },
      "message": "Remove boot image begin/size from image header.\n\nUse a single boot image range for both the heap (*.art) and\ncode (*.oat) boot files.\n\nThis is done in preparation for boot image extensions. We do\nnot want to encode multiple heap and code ranges and shall\nkeep a single boot image range for the boot image including\nextensions.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 119868597\nChange-Id: I8baec8361602c445652e69bdfbb57e7a7c7c6419\n"
    },
    {
      "commit": "5a78e8dbf068c544b84e98f636b30045b09451c4",
      "tree": "c7a7bb50f48711b1904cc129147b208532b5b22d",
      "parents": [
        "7ec77b412b98cf092bbf38e73b7361c2f3708a71",
        "af9cce1808dbec59d632fe85fb139852751bc479"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Nov 21 14:10:57 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 21 14:10:57 2018 +0000"
      },
      "message": "Merge \"ART: add reclaim bytes ratio metrics to GC performance\""
    },
    {
      "commit": "7ec77b412b98cf092bbf38e73b7361c2f3708a71",
      "tree": "ae665c569fc3d2600fe863131bf3fea526d2d86c",
      "parents": [
        "6ba0ac5344b7f0b6d2f2ca724cfd2689398d6a53",
        "cb2e1dd8f14db0d33259d87d8c6159c278364559"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 21 13:13:09 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 21 13:13:09 2018 +0000"
      },
      "message": "Merge \"Canonicalize shared libraries in ClassLoaderContext::CreateClassLoader.\""
    },
    {
      "commit": "6ba0ac5344b7f0b6d2f2ca724cfd2689398d6a53",
      "tree": "8befa85940f28ca1c764e211f6f269daf184d28c",
      "parents": [
        "d52a6f402fac600e7432cfd59a1298659625a6d3",
        "c10a0c60ca388ea5f45c11dd86ca0af11191015a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 21 13:02:06 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 21 13:02:06 2018 +0000"
      },
      "message": "Merge \"ART: Add boot/app image checksums.\""
    },
    {
      "commit": "c10a0c60ca388ea5f45c11dd86ca0af11191015a",
      "tree": "8befa85940f28ca1c764e211f6f269daf184d28c",
      "parents": [
        "d52a6f402fac600e7432cfd59a1298659625a6d3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 16 11:39:22 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 21 11:23:38 2018 +0000"
      },
      "message": "ART: Add boot/app image checksums.\n\nAnd check app oat files against the boot image checksum\ninstead of checking the oat checksum. The oat checksums are\nincluded in image checksum calculations and the primary\nimage checksum calculation includes the checksums of the\nsecondary images.\n\nAlso remove the obsolete \"patch delta\" to keep the size\nof the ImageHeader 8-byte aligned, remove the key-value\nstore from secondary oat files and move the oat checksum\nupdate code from oat.cc to the oat_writer.cc.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nTest: Pixel 2 XL boots.\nTest: m test-art-target-gtest\nChange-Id: If74f5f18479c44ede0503bf1911ddb9ff8f3c4f8\n"
    },
    {
      "commit": "7a2c7c2f7062d9fef21b72ff9c10ca8ef863eb8b",
      "tree": "909d18e31d319313a0729019258418980c810d79",
      "parents": [
        "c754cc8e1c2dbcb1331ec2bed3ea0787bdd2b5c3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 20 10:03:13 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 21 11:09:49 2018 +0000"
      },
      "message": "Refactor code around JIT creation.\n\n- Create the JIT early on.\n- Have dedicated zygote spaces, that get assign after the fork.\n- Re-parse compiler options after fork to take into account customization\n  of debug flags by the child.\n\nCurrently, we only create the thread pool in the child, so the zygote\nisn\u0027t jitting yet.\n\nBug: 119800099\nTest: test.py, device boots\nChange-Id: I591ce933ebf54a67937ab1d05206534f55ef2f65\n"
    }
  ],
  "next": "cb2e1dd8f14db0d33259d87d8c6159c278364559"
}
