)]}'
{
  "log": [
    {
      "commit": "d937c49b19a6005cf94e23d464415be47e995d9b",
      "tree": "a92fec4d5198d1e56b9c1f5e0ba000869191dc3b",
      "parents": [
        "2b7e1c6d04930361bafbd4959966341fa7c4a097",
        "2b5a65db5018f5d04c558bca9c42f7ecdf59cbcc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 16 14:22:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 16 14:22:27 2018 +0000"
      },
      "message": "Merge changes I609c26d3,Id7aa1375,I3e39924c,I154ec761\n\n* changes:\n  AMM: Add graphics models.\n  AMM: Add SoCode model.\n  AMM: Add Bitmap model.\n  Initial checkin of actionable memory metric.\n"
    },
    {
      "commit": "2b5a65db5018f5d04c558bca9c42f7ecdf59cbcc",
      "tree": "16c519ace861b13f5174e4b5b78d8f79d4060e8a",
      "parents": [
        "a2a7000dc113babeb8960f7d7e783ee155d66181"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Feb 14 11:10:34 2018 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Feb 16 11:43:37 2018 +0000"
      },
      "message": "AMM: Add graphics models.\n\nIncludes a description of the graphics models and adds sample code in\nAmmTest.apk that exercises the relevant graphics APIs.\n\nBug: 69729799\nTest: AmmTest.apk builds and runs on device.\nChange-Id: I609c26d3233d3a9cc59e087f0b0e92129e0572a4\n"
    },
    {
      "commit": "fcbe15ce26930c0c4bb33998fc2abbe4f8770dbe",
      "tree": "6513a2eaf1251e93578916b5171dc42984de7da3",
      "parents": [
        "b40fa7c33075292beeb6840ac679ffd08fd1f719"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Feb 15 09:41:13 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Feb 15 15:15:13 2018 -0800"
      },
      "message": "Build debug library libdexfiled\n\nAdd a debug version of libdexfile for use when CHECKs, etc., are\nenabled.\n\nBug: 22322814\nTest: make -j 50 checkbuild\nChange-Id: I263138611bcdde9dbc8f619bcb2a0a6d3a09fbf6\n"
    },
    {
      "commit": "d1652d14fbf477b3091eec3764b9890f2c072055",
      "tree": "59b421344a6148473d31ee733f120aebc515d594",
      "parents": [
        "d991e5119a2bb61542899da9708f794dc60677c4",
        "334b9d73482fba9c335d9b758041fc0865ef74d4"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Feb 15 16:21:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 15 16:21:21 2018 +0000"
      },
      "message": "Merge \"Move libdexfile out of runtime\""
    },
    {
      "commit": "a2a7000dc113babeb8960f7d7e783ee155d66181",
      "tree": "9f2858562ea9a177525558e559026a68d58f208a",
      "parents": [
        "ae724e1323c666498afd704bde3724ec6c9bc88b"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Feb 14 11:10:16 2018 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Feb 15 11:33:14 2018 +0000"
      },
      "message": "AMM: Add SoCode model.\n\nIncludes a description of the SoCode model and adds a jni library to\nAmmTest.apk.\n\nBug: 69729799\nTest: AmmTest.apk builds and runs on device.\nChange-Id: Id7aa13751f3deae32f90daf66b7aa746c2cd4ad6\n"
    },
    {
      "commit": "ae724e1323c666498afd704bde3724ec6c9bc88b",
      "tree": "b54c672bf521175ab02c94155d26a6fb1b3a2f43",
      "parents": [
        "d9caa9bf11b5d898329423812a25738610b0e213"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Feb 14 11:09:11 2018 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Feb 15 10:36:37 2018 +0000"
      },
      "message": "AMM: Add Bitmap model.\n\nIncludes a description of the bitmap model and sample loading of a\nbitmap in AmmTest.apk.\n\nBug: 69729799\nTest: AmmTest.apk builds and runs on device.\nChange-Id: I3e39924c0d8fb77aa9633d09d2d3e0c2a2bb29d0\n"
    },
    {
      "commit": "d9caa9bf11b5d898329423812a25738610b0e213",
      "tree": "4106ba474a85507c9abea13f10a7574c71d18754",
      "parents": [
        "2456ad11f3143754153de3a6a38f8becf3ae9125"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Feb 14 11:08:13 2018 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Feb 15 10:36:06 2018 +0000"
      },
      "message": "Initial checkin of actionable memory metric.\n\nDescribes the actionable memory metric and provides an AmmTest.apk\napplication demonstrating use of the APIs modeled by the metric.\n\nJava heap and dex code models are provided to start.\n\nBug: 69729799\nTest: AmmTest.apk builds and runs on device.\nChange-Id: I154ec7611ef968d68b764a9c5d4bde11ff607798\n"
    },
    {
      "commit": "334b9d73482fba9c335d9b758041fc0865ef74d4",
      "tree": "1e0d2050065110c37ee03ee8010ec24c8d31f32e",
      "parents": [
        "db8d9091bbab41060584ab80882b60df20337da7"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Feb 12 18:27:56 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Feb 14 10:57:05 2018 -0800"
      },
      "message": "Move libdexfile out of runtime\n\nMove the files out of runtime, leaving unfortunate dependences still\nthere on runtime/base (for the moment).  Also separates the build logic\ninto two Android.bp files.\n\nBug: 22322814\nTest: make -j 50 test-art-host\nChange-Id: Ib0a1cda833b29ecfa4c8c50f23fab89ba666f491\n"
    },
    {
      "commit": "cf0aa546a38b832d95542ca6806263ec8b66224e",
      "tree": "050e53d09c77548cc27401ced056c4363e95b399",
      "parents": [
        "db8d9091bbab41060584ab80882b60df20337da7"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Feb 13 10:50:43 2018 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Feb 13 10:50:43 2018 -0800"
      },
      "message": "Re-enable EnableCollection/IsCollected tests\n\nRationale:\nA few refinements have hopefully removed the flakiness.\nRepeating the following three tests came out clean.\n\nTest: org.apache.harmony.jpda.tests.jdwp.MultiSession.EnableCollectionTest\nTest: org.apache.harmony.jpda.tests.jdwp.ObjectReference.EnableCollectionTest\nTest: org.apache.harmony.jpda.tests.jdwp.ObjectReference.IsCollectedTest\n\nBug: 70958370\nBug: 69121056\nChange-Id: Ic7230c521464a085bdaec242c8cde507a3e83d1d\n"
    },
    {
      "commit": "0e84118e875038ee5e90571489abcde86da3db81",
      "tree": "dbfa7f12c0747f7bcd36aa3393912bae85461a11",
      "parents": [
        "722d6719954fe8cedb41cc300e463c3ac973f2c4"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 12 17:42:50 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 12 10:01:59 2018 -0800"
      },
      "message": "Revert^6 \"Prevent UAF issues caused by static destructors\"\n\nThis reverts commit 4798222e3b3c22435d0a8d915d272fe67c80bd01.\n\nReason for revert: Fixed issue in underlying change.\n\nBug: 69591477\nTest: ./test.py --host -j50\nChange-Id: I31f0ba00ade607f388e248f287801ff878c7296f\n"
    },
    {
      "commit": "4798222e3b3c22435d0a8d915d272fe67c80bd01",
      "tree": "94392ba66bcfa8efac830f00d91ef687af5e956a",
      "parents": [
        "ed0180ce356a2ecb395422c84c392728289d93ba"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 12 12:54:15 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 12 12:55:58 2018 +0000"
      },
      "message": "Revert \"Revert^4 \"Prevent UAF issues caused by static destructors\"\"\n\nrun-test changes cause issues.\n\nBug: 69591477\n\nThis reverts commit e9dc52492979364748e0c39682c0b2e9728ee50c.\n\nChange-Id: I1ee05747cdc9292c6e1ce9f3ed8fc31a3d3fd6b8\n"
    },
    {
      "commit": "ffea0e4d2da9bb82a3d747892b4da425567f927c",
      "tree": "2ecc5a391147c905d160342c26874197457c836f",
      "parents": [
        "522c5ce170796bac858bcfbd84158e621d61d40e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 12 10:08:20 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 12 10:12:43 2018 +0000"
      },
      "message": "Revert \"Re-enable EnableCollection/IsCollected tests\"\n\nBug: 70958370\nBug: 69121056\n\nThis reverts commit 04f6332066858f74e62dd9eec4785582cd19495a.\n\nChange-Id: Id8aec9fc5a269bf915bb80c3e5f929b83a7e3ea9\n"
    },
    {
      "commit": "e9dc52492979364748e0c39682c0b2e9728ee50c",
      "tree": "9dcc109e565626bfc4d3eac0bf8ea97af060fa87",
      "parents": [
        "1fbd5309858e5f70b5adaa1d70b9e438eaf18d33"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Feb 09 14:08:08 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Feb 09 23:37:45 2018 +0000"
      },
      "message": "Revert^4 \"Prevent UAF issues caused by static destructors\"\n\nThe test 1944 was not very robust and could spuriously fail for\nseveral reasons. Most notably it did not actually check that the exit\nvalue was what we expected and it could cause linker warning messages\nto be printed. The first we solved by checking for the exit value\ndirectly. The second cannot be simply solved so we simply filter these\nmessages out.\n\nThis reverts commit 70f4415d0485f67922323557f2657b009f20696d.\n\nReason for revert: Made test more robust.\n\nTest: ./test.py --host -j50\nBug: 69591477\nChange-Id: I8580973e16d63583e0cb80825892b4604c2591b6\n"
    },
    {
      "commit": "fdab1316e5889e29616108298b72af3e5e39e2bd",
      "tree": "6a72b1328c1444cfbef33d8988b80993a5a63778",
      "parents": [
        "78a6ce868a705a9ab57c59c9f753f5c5e99253be",
        "04f6332066858f74e62dd9eec4785582cd19495a"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Feb 09 23:03:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 09 23:03:20 2018 +0000"
      },
      "message": "Merge \"Re-enable EnableCollection/IsCollected tests\""
    },
    {
      "commit": "2456ad11f3143754153de3a6a38f8becf3ae9125",
      "tree": "b0b912876665d4f73f7ad04158799db1a47c92b0",
      "parents": [
        "8f8c5c50a1bd42541690f0dad55403c3a9137c9d",
        "878f33f39bb796382976fc21cd99bab5f121a988"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 09 07:07:09 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 09 07:07:09 2018 +0000"
      },
      "message": "Merge \"Add commands to make jdwp tests dump stacks on timeouts\""
    },
    {
      "commit": "04f6332066858f74e62dd9eec4785582cd19495a",
      "tree": "b02ef52589ddcc41871a482cea2f3d88419453e3",
      "parents": [
        "b1c724cc1e57878faed18cee007a26b9da7e3cf2"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Feb 08 17:58:07 2018 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Feb 08 18:21:10 2018 -0800"
      },
      "message": "Re-enable EnableCollection/IsCollected tests\n\nRationale:\nA recent refinement has hopefully removed the flakiness.\nRepeating the following three tests came out clean.\n\nTest: org.apache.harmony.jpda.tests.jdwp.MultiSession.EnableCollectionTest\nTest: org.apache.harmony.jpda.tests.jdwp.ObjectReference.EnableCollectionTest\nTest: org.apache.harmony.jpda.tests.jdwp.ObjectReference.IsCollectedTest\n\nBug: 70958370\nBug: 69121056\nChange-Id: Ie21d6e7c99ee34d4f3f348dbc22fef71af59fe85\n"
    },
    {
      "commit": "878f33f39bb796382976fc21cd99bab5f121a988",
      "tree": "172aed75438ed698c9b1ee22cafe70e2a218c3d9",
      "parents": [
        "123aeb716563d0783c73f309c3afef6dfd8f8b9e"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Feb 08 11:16:39 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Feb 08 12:00:37 2018 -0800"
      },
      "message": "Add commands to make jdwp tests dump stacks on timeouts\n\nDebugging timeouts of jdwp tests is very difficult because we don\u0027t\nhave any real information to use. To help with debugging we added\nsupport for dumping the threads of the debuggee processes using\ndebuggerd and kill -3.\n\nTest: modify a test with infinite loop, Run\nBug: 70838465\nChange-Id: I7d4f17d28b6a30553dfc79884680381a626fb5af\n"
    },
    {
      "commit": "70f4415d0485f67922323557f2657b009f20696d",
      "tree": "ef3fa215aef9a1d5a98cae8e5bb3e55e9477d75e",
      "parents": [
        "6280f87f24c420676bff3fcd3a9698246df366b9"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Feb 08 09:28:21 2018 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Feb 08 09:28:21 2018 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Prevent UAF issues caused by static destructors\"\"\"\n\nThis reverts commit 6280f87f24c420676bff3fcd3a9698246df366b9.\n\nReason for revert: test failures\n\nhttps://build.chromium.org/p/client.art/builders/angler-armv8-ndebug/builds/2415/steps/test%20optimizing/logs/stdio\n\nChange-Id: I857562ae54340956fe83f68ee995b49e1d8416e3\n"
    },
    {
      "commit": "6280f87f24c420676bff3fcd3a9698246df366b9",
      "tree": "d5eeef1adb6300d60c9e319f768323baafe1d257",
      "parents": [
        "661078b3346c20aa6ad8bf0d3b73722bd04cdc1b"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Feb 07 13:58:29 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Feb 07 14:05:50 2018 -0800"
      },
      "message": "Revert \"Revert \"Prevent UAF issues caused by static destructors\"\"\n\nWe were not initializing the frame_pop_enabled field of EventHandler\nso it was undefined. If it happened to be true then the FramePop\nhandlers will never be installed and the FramePop events will never be\ntriggered.\n\nThis reverts commit 6a94cec7343bf006234b62525398c83bb55858eb.\n\nReason for revert: fixed issue with frame pop\n\nTest: ./test/testrunner/testrunner.py -a --host -t 923\nBug: 69591477\n\nChange-Id: Id47f91a76b6e7c9326e94d7cbdf8c5472bffb58a\n"
    },
    {
      "commit": "6a94cec7343bf006234b62525398c83bb55858eb",
      "tree": "f5da5a1cd1588edd45bca8da5ab434b76d0943bf",
      "parents": [
        "480dc3c0085095c401555d19328aac1a0ec46122"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 07 09:42:26 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 07 09:43:28 2018 +0000"
      },
      "message": "Revert \"Prevent UAF issues caused by static destructors\"\n\nThis reverts commit 123aeb716563d0783c73f309c3afef6dfd8f8b9e.\n\nBug: 69591477\n\nChange-Id: I368802d0c0c64143568d63a6fb02f969702c881e\n"
    },
    {
      "commit": "28199c31789f56d83b53379e01be05ddc0daf72d",
      "tree": "4e275e2789029c38a4eedcf9fdd844e3170f2aa9",
      "parents": [
        "426ee26b3dcc2c6ff0e16096c57f62b98b91b71e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 07 09:20:41 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 07 09:24:21 2018 +0000"
      },
      "message": "Revert \"Remove skips for EnableCollection tests\"\n\nTests are still flakey.\n\nBug: 70958370\nBug: 69121056\n\nThis reverts commit edbe4cca764412f7aed425e903f4a07e0b4e993e.\n\nChange-Id: Iaf4f2b3b528c92d4057e1449ca96cf7b3182964f\n"
    },
    {
      "commit": "123aeb716563d0783c73f309c3afef6dfd8f8b9e",
      "tree": "3501e34c54fab3e20bcfd8c937b8d1af6ed762a4",
      "parents": [
        "edbe4cca764412f7aed425e903f4a07e0b4e993e"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Feb 06 15:30:13 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Feb 06 15:39:28 2018 -0800"
      },
      "message": "Prevent UAF issues caused by static destructors\n\nAgents calling exit(3) would cause static destructors to run on\nseveral openjdkjvmti data-structures. This caused problems as other\nthreads could still be running and might hit UAF issues, causing\nerrors. We fix this by making sure that no important jvmti\ndata-structures are statically allocated. Since these data-structures\nmust be live for the whole program runtime this is not a big issue.\n\nBug: 69591477\nTest: ./test.py --host -j50\nTest: while ./test/run-test --host 1944; do; done\nTest: ./art/tools/run-libjdwp-tests.sh --mode\u003dhost --test \\\n          org.apache.harmony.jpda.tests.jdwp.VirtualMachine.ExitTest.testExit001\nChange-Id: I25b01fc129d46c5f15bce1b9ec7952d29088a5a2\n"
    },
    {
      "commit": "edbe4cca764412f7aed425e903f4a07e0b4e993e",
      "tree": "e7e65bccf4dad371df84d92abedabb1ae5a63511",
      "parents": [
        "6db9a6c240e0ef4c69448c7806c5d035b7b5b111"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 05 16:10:25 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Feb 06 10:55:02 2018 -0800"
      },
      "message": "Remove skips for EnableCollection tests\n\nThese tests have been made less flaky.\n\nTest: while ./art/tools/run-libjdwp-tests.sh --mode\u003dhost --test org.apache.harmony.jpda.tests.jdwp.MultiSession.EnableCollectionTest; do; done;\nTest: while ./art/tools/run-libjdwp-tests.sh --mode\u003dhost --test org.apache.harmony.jpda.tests.jdwp.ObjectReference.EnableCollectionTest; do; done;\nTest: while ./art/tools/run-libjdwp-tests.sh --mode\u003dhost --test org.apache.harmony.jpda.tests.jdwp.ObjectReference.IsCollectedTest; do; done;\nBug: 70958370\nBug: 69121056\n\nChange-Id: Ic92d58d5c01559bf795327121a80952ff317cfae\n"
    },
    {
      "commit": "ab4825d90aecf8d57618faeb822ea0011193fe1c",
      "tree": "b952d501e5cedeaf296ede1aa0df0c7ac7161a05",
      "parents": [
        "066532ee57cf48f5666ace3de969981f4f494126"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 05 16:12:52 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 05 17:37:56 2018 +0000"
      },
      "message": "Create the hiddenapi files if frameworks/base is missing.\n\nThis is required to build ART for target with the master-art\nmanifest.\n\nChange-Id: I9666aa0966a17199b6d33ae75591dfc15ae6731a\n"
    },
    {
      "commit": "02a212a8607e6012b6e3fbc21a26b64c74031cc3",
      "tree": "9b66c3e5ca73f6e66dc54e2f0975059d27f6a3fc",
      "parents": [
        "c4b731b944b2ceac546459873a54569f209dfc0f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Feb 04 13:59:25 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Feb 04 14:02:12 2018 +0000"
      },
      "message": "Blacklist test in right expectation file.\n\nbug:70958370\nChange-Id: I1b989db5cab27d77555926c3fa753655790c2d2b\n"
    },
    {
      "commit": "2f6d42d93a6ed129cba9cc240c178a4a2f223eed",
      "tree": "d8ae594a19f657700c3537a247bfdd1d69beb220",
      "parents": [
        "9657618bbf511c5a32281f1cd06ed4205536d81a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 02 09:06:19 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 02 09:07:26 2018 +0000"
      },
      "message": "Fix typo\n\nbug: 70958370\nTest: run-jdwp-test.sh\nChange-Id: If6e9a46e5b02b0ad11437d636a30331937f332e3\n"
    },
    {
      "commit": "da244c9249149655b303950ce3f432ce1d47a2e0",
      "tree": "fc92772c0465c1008869d39542f456076742aa90",
      "parents": [
        "2f8ad4bc3284358575aad06822cac1650512cb1b",
        "0225f8e2939a9340cb7dcebfcfe7996a2bd9bce9"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Feb 01 09:27:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 01 09:27:46 2018 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Make libdexfile build independent of runtime dir\"\"\""
    },
    {
      "commit": "264a486a05e832889b17dd2bbad2d9c6588c3603",
      "tree": "f6aa966402cf3678ceaac8a7d4c13ee35097ecc4",
      "parents": [
        "f346af51a5d44ee0a3cd26e7e0e1b28ec1c5579f"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 31 16:47:58 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 31 09:48:16 2018 -0800"
      },
      "message": "Revert \"Revert \"Make the runtime default to not allowing JDWP again.\"\"\n\nThis reverts commit f05c32008de16f669ea8323c4e17beef1df92d20.\n\nWe need to change the arguments passed from run-jdwp-tests.sh in some\nsituations.\n\nReason for revert: Fixed issue causing go/art-build to fail.\n\nTest: ./art/tools/run-jdwp-tests.sh --mode\u003dhost\nBug: 72400560\n\nChange-Id: I2be260479816e3a48df5cb65bba25858750df4db\n"
    },
    {
      "commit": "0225f8e2939a9340cb7dcebfcfe7996a2bd9bce9",
      "tree": "fd32362dff4ecdc8ff8b0d800a1b46fb0d9d0104",
      "parents": [
        "c7e546ff3963a1d51b1f100d308db735bd19f736"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Jan 31 08:52:24 2018 +0000"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Jan 31 01:24:53 2018 -0800"
      },
      "message": "Revert \"Revert \"Make libdexfile build independent of runtime dir\"\"\n\nThis reverts commit 787784f9effb126b5d0d3dc97d544c4a477b5daf.\n\nReason for revert: Bot configuration issue.\n\nChange-Id: I6a10bb4a9571f89c7e4dd095f9157e830a44e2de\nBug: 22322814\nTest: make -j 50 checkbuild\n"
    },
    {
      "commit": "029cb250d140f5c3499aafc94454c6a63cfc50ac",
      "tree": "e254e00927a1305291173b89cb80eb061ca18d5a",
      "parents": [
        "bc718924e303339f30d5545e1088d55b772e0f5e",
        "74478e67d292f4dc712b0b88f4b466e15954b146"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 30 20:17:19 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 30 20:17:19 2018 +0000"
      },
      "message": "Merge \"Add release 8 flag to reference implementation run too.\""
    },
    {
      "commit": "85f890b792d1547182d195db3f43240180ab880b",
      "tree": "1f30b196288ddd8fdc09614145d3c17acc92af94",
      "parents": [
        "d2b5229453af661572f0c76ac08dfd3f52727d5b",
        "787784f9effb126b5d0d3dc97d544c4a477b5daf"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue Jan 30 18:56:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 30 18:56:50 2018 +0000"
      },
      "message": "Merge \"Revert \"Make libdexfile build independent of runtime dir\"\""
    },
    {
      "commit": "787784f9effb126b5d0d3dc97d544c4a477b5daf",
      "tree": "1ff6d9fd284a4dd2a337165dff20e71137997c9d",
      "parents": [
        "b40b7e73469339a6b667b4a2e2b8690112a74dc9"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue Jan 30 18:48:51 2018 +0000"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue Jan 30 18:48:51 2018 +0000"
      },
      "message": "Revert \"Make libdexfile build independent of runtime dir\"\n\nThis reverts commit b40b7e73469339a6b667b4a2e2b8690112a74dc9.\n\nReason for revert: on device libdexfile.so missing\n\nChange-Id: I9bd61a98bef870400580e8c991cb061d3f57fa72\n"
    },
    {
      "commit": "d2b5229453af661572f0c76ac08dfd3f52727d5b",
      "tree": "61e45029e86bc81a23eeac0842bcb2738c35f0c5",
      "parents": [
        "47ec7ad0f819c171e41d323aff71f5ac425b1ccd",
        "f13ac7ce507c759f34e9ff4f4116c956f166c4c6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 30 18:08:24 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 30 18:08:24 2018 +0000"
      },
      "message": "Merge \"Profman: Skip dex file verification for boot jars\""
    },
    {
      "commit": "74478e67d292f4dc712b0b88f4b466e15954b146",
      "tree": "5b838fc5392200162ba50e46ca361c805b61ed7b",
      "parents": [
        "47ec7ad0f819c171e41d323aff71f5ac425b1ccd"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Jan 30 09:56:01 2018 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Jan 30 09:56:01 2018 -0800"
      },
      "message": "Add release 8 flag to reference implementation run too.\n\nBug: 72533656\nTest: fuzzer\nChange-Id: I31795e4608267c15f7fd3143a186eed5dff4bbb3\n"
    },
    {
      "commit": "f13ac7ce507c759f34e9ff4f4116c956f166c4c6",
      "tree": "0c0d77e9992fd34d9673dd3057d8a896919a5fd9",
      "parents": [
        "9690ad794b324ba54e936608881ac0f62538b97a"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Jan 30 10:09:08 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Jan 30 16:22:29 2018 +0000"
      },
      "message": "Profman: Skip dex file verification for boot jars\n\nThe introduction of new access flags into boot jars causes them to\nfail dex file verification. The files are verified in `hiddenapi`\nand verification should be skipped in subsequent attempts to open\nthem. This patch adds a new flag \u0027--skip-apk-verification\u0027 which\ninstructs `profman` to skip dex file verification.\n\nBug: 64382372\nTest: make test-art-host-gtest-profile_assistant_test\nChange-Id: Iad614e47feada293218c11cff985a8012ca49a0f\n"
    },
    {
      "commit": "b40b7e73469339a6b667b4a2e2b8690112a74dc9",
      "tree": "7e8a34d9c7894c4c946f674f19f0a0a512b95184",
      "parents": [
        "9690ad794b324ba54e936608881ac0f62538b97a"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Jan 25 17:11:07 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue Jan 30 01:17:58 2018 -0800"
      },
      "message": "Make libdexfile build independent of runtime dir\n\nRemove libdexfile\u0027s dependency on utils.cc and move utf.cc into\n/dex.  Remove libdexfile\u0027s constituent sources from libart and\nuse libdexfile wherever libart is. Also remove some ART-specific\ninterfaces.  Libdexfile\u0027s tests remain to be converted, plus\nmoving the files to a new directory peer to runtime/.\n\nBug: 22322814\nTest: make -j 50 test-art-host\nChange-Id: Ifaf695216e4a0e43d3aa377984d933f7a2a243c2\n"
    },
    {
      "commit": "1a824a5c1070648971ce9593a1dd71cdd8cf2f98",
      "tree": "1ff6d9fd284a4dd2a337165dff20e71137997c9d",
      "parents": [
        "0406e1e59970399393f53923704e1b9a828b2173"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jan 26 15:45:30 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jan 29 19:42:40 2018 +0000"
      },
      "message": "Remove hiddenapi access flags in FixedUpDexFile\n\nThe hiddenapi tool will mess with the access flags of fields and\nmethods in order to record which are \u0027@hide\u0027. We need to undo this\nbefore passing any dex files down to jvmti agents.\n\nTest: ./test.py --host -j50\nBug: 72550707\nBug: 64382372\n\nChange-Id: Ibc9a96a6b541c06844f276db009ac29514f7a3bb\n"
    },
    {
      "commit": "096d3ae1005acf8f56474bd780ce82d675348e61",
      "tree": "a0494e02fcd4a498a7339eea2744befc83fd49b1",
      "parents": [
        "772bd2f5d31fe9b04935a1b310b676c4ff322e1c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jan 26 12:58:20 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jan 26 12:58:20 2018 -0800"
      },
      "message": "Ahat: Use art -d in tests\n\nUse the debug dependencies and art -d for heap-dump generation.\nThe heap dump already depends on the core images, which are\ngenerated with dex2oatd. This cuts down on the required\ntargets when building ahat-tests.\n\nBug: 72549306\nTest: m ahat-tests\nTest: m test-art-host\nChange-Id: I76d99b41d4d31b99a68f6085940ac0885c756905\n"
    },
    {
      "commit": "3d2680b40f2ce2b726c2442d6163100aa1237651",
      "tree": "9818baa5842ee4f66dfca24a582700cce75dca1a",
      "parents": [
        "8d79234c379aeedb307f148ce2c783f9ca3c9bb6",
        "df76a5fcbfbb4693b07182bbfacc364f2b58360b"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jan 26 16:03:25 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 26 16:03:25 2018 +0000"
      },
      "message": "Merge \"Have buildbot-build.sh create dummy hidden API lists\""
    },
    {
      "commit": "df76a5fcbfbb4693b07182bbfacc364f2b58360b",
      "tree": "e2b8f7f089aac8e078a05b53dbfc11c99355f3ca",
      "parents": [
        "8006cf1cd24d32809c937619d8d8568c8a1645ea"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jan 26 11:03:01 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jan 26 11:06:02 2018 +0000"
      },
      "message": "Have buildbot-build.sh create dummy hidden API lists\n\nBuildbots are broken because the build now depends on the framework\ngenerating hidden API lists, but these changes are not in the buildbot\nmanifest. Change the script to create dummy API lists. These are empty\nbut we do not want these rules to be enforced in the buildbot anyway.\n\nTest: art/tools/buildbot-build.sh --target\nBug: 64382372\nChange-Id: Ibb9f93bae44e3e342f6f3669a3856e19bf68ca13\n"
    },
    {
      "commit": "708d6433361a08f3029188106879f95eb15c2bd5",
      "tree": "0bc9b85261aff04c3e96d3ed093a35f8a1c1e5f9",
      "parents": [
        "8006cf1cd24d32809c937619d8d8568c8a1645ea"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 26 10:41:35 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 26 10:41:35 2018 +0000"
      },
      "message": "Blacklist flakey test.\n\nbug: 70958370\nChange-Id: If2007d3c44a14dc50e73c5f4927f7c0194474af8\n"
    },
    {
      "commit": "3288ac58275f77d9b530bf21c0f4290540d3e831",
      "tree": "07ce2e3f1edf432a31939bfb0bfe9b6451de5519",
      "parents": [
        "5bfcc23d65009e8285acfbe7f7b1e952d94ad0c7",
        "15b8113eb72b829e2026477a49e159635a48349b"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 25 20:59:55 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 25 20:59:55 2018 +0000"
      },
      "message": "Merge \"Have adbconnection handle DDMS packets if agent not loaded\""
    },
    {
      "commit": "da3a6e59929f95264e2c89fb3ed9de2524fa6edb",
      "tree": "7cbc97ac8509eb1eea8813a7684ba6f29879d20e",
      "parents": [
        "5cee0a321d4b250ab7553bdca5c35cf507528deb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 25 10:49:33 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 25 10:49:33 2018 +0000"
      },
      "message": "Blacklist flakey test.\n\nbug: 70958370\nChange-Id: I73a11a10171be871a2eed32a2d023be4e12d6785\n"
    },
    {
      "commit": "15b8113eb72b829e2026477a49e159635a48349b",
      "tree": "b62e2ddcc2e3fb3d1156103c2bfbef08916d3cdc",
      "parents": [
        "d3233abdf14f173bb99e3905e8543ffff845230e"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 24 13:29:07 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 24 18:28:13 2018 -0800"
      },
      "message": "Have adbconnection handle DDMS packets if agent not loaded\n\nIf DDMS was being used on a userdebug or eng build it would cause the\nlibjdwp agent to be loaded on various system processes, most notably\nsystem_server. This would cause a massive performance hit as it tries\nto force system_server to jit but, due to security policies, it is\nforced to interpreter instead.\n\nTo fix this we make it so that (so long as no debugger commands are\nissued) DDMS commands are handled without loading the JDWP agent. When\na non-DDMS command is issued we will load and initialize the JDWP\nagent which will take over handling DDMS traffic from then on.\n\nThis will ensure that in the common (for userdebug) use-case where\nprocesses only encounter DDMS commands the process will not need to\nload the full debugger.\n\nTest: ./test.py --host -j50\nTest: ./art/tools/run-libjdwp-tests.sh --mode\u003ddevice\nTest: Run ddms monitor on host,\n      adb shell stop \u0026\u0026\n      adb shell setprop dalvik.vm.jdwp-provider adbconnection\n      adb shell start;\n      Ensure that device does not start to jank\nTest: Run ddms monitor on host,\n      adb shell stop \u0026\u0026\n      adb shell setprop dalvik.vm.jdwp-provider adbconnection\n      adb shell start;\n      Turn off ddms monitor.\n      Ensure that device does not start to jank\nTest: Build and run\nTest: use ddms monitor.\nTest: Use Android Studio.\nTest: Build and debug debuggable app (bandhook-kotlin)\nTest: Build and debug non-debuggable app on userdebug build\n        (bandhook-kotlin)\nTest: Debug running system process on userdebug build\n        (com.android.packageinstaller)\n\nBug: 62821960\nBug: 72456312\nBug: 72457427\n\nChange-Id: Ib8d2af6c76bd2fac5a4b27e730695b2d016d3583\n"
    },
    {
      "commit": "8c0961f9e061ee4b04c1c4ba8ad5cca13bcf884d",
      "tree": "f6e5a970a6bcc0935e150cb6c28a520bf31ba964",
      "parents": [
        "2b1a21ed3581f77f34d582507177ebce33565534"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue Jan 23 16:11:38 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Jan 24 09:24:29 2018 -0800"
      },
      "message": "Move missed files to libdexfile\n\nReduce the dependencies on utf and utils in preparation for separate\ndirectory.\n\nBug: 22322814\nTest: make -j 50 test-art-host\n      make -j 50 dexdump2 dexlist\n\nChange-Id: Icdecf895dafec63ef903514eef79d459abc14925\n"
    },
    {
      "commit": "f6a8a557e0e3099a2c458a81a4b48623989330a5",
      "tree": "e82439e60546643d34b888fd79c04ae7b4d899c0",
      "parents": [
        "1372c9772d37f43147d3791c998173811f04594c"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Jan 15 18:10:50 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jan 18 14:47:33 2018 +0000"
      },
      "message": "Set runtime hidden API access flags\n\nThe hiddenapi tool encodes new access flags into boot class path\ndex files, but we do not want to use those at runtime. They are\ncumbersome to decode and interfere with other flags.\n\nThis patch introduces new runtime access flags kAccHiddenApiBits,\ntwo consecutive bits in the space occupied by intrinsic ordinals\nwhich are used to encode the four categories of APIs in\nHiddenApiAccessFlags::ApiList. ClassLinker converts one encoding\nto the other when a new method/field is loaded from DexFile.\n\nDexHiddenAccessFlags have been made an internal class of new\nHiddenApiAccessFlags class which contains all the code related\nto encoding/decoding these flags for both DexFile and runtime.\n\nTest: m test-art-host\nBug: 64382372\nChange-Id: Ie055dc3440c44e8815030e652f08d9ee3dba69e5\n"
    },
    {
      "commit": "0baa7cc3f49091b9bf8dc344be3090810606cd18",
      "tree": "ed8d6a786dab1e9367ad05949d0d81d83c66ce4a",
      "parents": [
        "4572ade694e35f19c3b2d2c68a573eb8e40a7ccb"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 17 09:59:08 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 17 09:59:08 2018 +0000"
      },
      "message": "Make hiddenapi gtest host-only\n\nThe tool itself is meant to be used while building boot class path\ndex files. No point in running it on target.\n\nBug: 64382372\nTest: m test-art-target-gtest\nChange-Id: Ieb0a2f1dd22d035ed194abd5360925598c333616\n"
    },
    {
      "commit": "4572ade694e35f19c3b2d2c68a573eb8e40a7ccb",
      "tree": "d4e8de7a0f170604288cd93e66a3c6dbdb0befe0",
      "parents": [
        "34554c9a6aadd66845a25d1b23a64759f6692e32"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 17 09:26:47 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 17 09:41:28 2018 +0000"
      },
      "message": "Fix memory leak in hiddenapi_test\n\nForgot to put an instance of ZipArchive into unique_ptr.\n\nBug: 64382372\nTest: m test-art-host-gtest-hiddenapi_test\nChange-Id: I3bed0a20e55018f4e904750e0f4aeded8f93c4cc\n"
    },
    {
      "commit": "2b9c35be35a759ba2032692648f5bbcb1e7e78c8",
      "tree": "4825fdb4a4ecd27922dc9c945b30423534e67010",
      "parents": [
        "6d4c343ee5db18f039aeb3e07ff8d3c1fd37c3a0"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jan 12 15:44:43 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Jan 16 15:32:12 2018 +0000"
      },
      "message": "Introduce new build tool: hiddenapi\n\nNew tool `hiddenapi` iterates over all class members inside given\nDEX files and modifies their access flags if their signatures\nappear on one of two lists - greylist and blacklist - provided as\ntext file inputs. These access flags denote to the runtime that\nthe marked methods/fields should be treated as internal APIs with\nrestricted access.\n\nTwo bits of information are encoded in the DEX access flags. These\nare encoded as unsigned LEB128 values in DEX and so as to not\nincrease the size of the DEX, different modifiers were chosen to\ncarry the information under different circumstances.\n\nFirst bit is encoded as the inversion of visibility access flags\n(bits 2:0). At most one of these flags can be set at any given time.\nInverting these bits therefore produces a value where at least two\nbits are set and there is never any loss of information.\n\nSecond bit is encoded differently for each given type of class\nmember as there is no single unused bit such that setting it would\nnot increase the size of the LEB128 encoding.\n - Bit 5 for fields as it carries no other meaning\n - Bit 5 for non-native methods, as `synchronized` can only be set\n   on native methods\n - Bit 9 for native methods, as it carries no meaning and bit 8\n   (native) will make the LEB128 encoding at least two bytes long\n\nThis tool is meant to be applied on boot class path DEX files and\nas such, this encoding is not part of the DEX specification and may\nchange in the future. Access flags returned by ClassDataItemIterator\nare stripped of these hidden flags and thus fully transparent to the\nruntime.\n\nTest: m test-art-host\nBug: 64382372\nChange-Id: Ifc237ff8a35a8b470b7fc682a9cb879370d1e6e9\n"
    },
    {
      "commit": "380080db1351185a5f580fb5f35615686516835f",
      "tree": "f44a75900c11e6502393041cc691890dbc757b54",
      "parents": [
        "017adc29ab0384fa042fdea21cdbf6cfaf4019f2"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Jan 12 15:15:01 2018 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Jan 12 15:15:01 2018 -0800"
      },
      "message": "Build fuzzing sources against release 8 when eventually running with ART.\n\nBug: 71834881\n\nTest: fuzzer runs\nChange-Id: I8d87098a7affbfc58a3dbbd64db29ff0dbeeaa7e\n"
    },
    {
      "commit": "239bdf6a39e8ed1be3f7af227765e4f92ff47ac3",
      "tree": "e7878f9b4f19d9b29e4a8efe9c90f39b3542c0fb",
      "parents": [
        "4b9a11f1d43df69c50e93ba1793fce1c2216682b"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Jan 08 18:55:36 2018 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Jan 08 18:57:48 2018 +0000"
      },
      "message": "Remove Jack support from ART scripts\n\nTest: ran run-libcore-tests.sh\nChange-Id: Ida19b6db5b29dceafc6826252b0bf40dbd7633df\n"
    },
    {
      "commit": "4b9a11f1d43df69c50e93ba1793fce1c2216682b",
      "tree": "723aece06334be5c39cf8c42cf3357489a6fb38a",
      "parents": [
        "30f54cc45bd338f9d9079786dae96ea13ab9f163",
        "c546ec9129f92d8a6d1eed273638042d37776527"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Jan 08 15:34:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 08 15:34:47 2018 +0000"
      },
      "message": "Merge \"Switch to using d8 in ART\""
    },
    {
      "commit": "9e734c7ab4599d7747a05db0dc73c7b668cb6683",
      "tree": "dce1d1993734a947fb2e6f626eb1b425cb72143b",
      "parents": [
        "b496af808eaf3af5ebac50aef4fbec33323b5016"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Jan 04 17:56:19 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Jan 05 11:07:19 2018 -0800"
      },
      "message": "Create dex subdirectory\n\nMove all the DexFile related source to a common subdirectory dex/ of\nruntime.\n\nBug: 71361973\nTest: make -j 50 test-art-host\nChange-Id: I59e984ed660b93e0776556308be3d653722f5223\n"
    },
    {
      "commit": "70a58af9c733bc14c4573dddd282b3c02ccf4985",
      "tree": "46fe53c06014ec4809f5f4c1dbd1e1c941349619",
      "parents": [
        "9382c0d53f91f3788a5254495917898d8b61fe00",
        "2c64a837e62c2839521c89060b5bb0dcb237ddda"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 05 17:36:25 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 05 17:36:25 2018 +0000"
      },
      "message": "Merge \"Change ClassStatus to fit into 4 bits.\""
    },
    {
      "commit": "c546ec9129f92d8a6d1eed273638042d37776527",
      "tree": "8e00ec83b6f028ea488af6480c49c55e6488e738",
      "parents": [
        "6cd0005698181e4cef2247b632d396e605d58fa3"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Jan 05 15:00:35 2018 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Jan 05 15:00:35 2018 +0000"
      },
      "message": "Switch to using d8 in ART\n\nIt seems reasonable that the ART bots use the current\nd8 toolchain.\n\nA later change will remove jack support.\n\nBug: 67934307\nTest: None\nChange-Id: I725ec85e99fe4f83678b0a3a12f54a74baea061d\n"
    },
    {
      "commit": "2c64a837e62c2839521c89060b5bb0dcb237ddda",
      "tree": "65475ed2e313ff17354e741bac7e9c85739b8b95",
      "parents": [
        "6cd0005698181e4cef2247b632d396e605d58fa3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jan 04 11:31:56 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jan 05 11:27:50 2018 +0000"
      },
      "message": "Change ClassStatus to fit into 4 bits.\n\nIn preparation for extending the type check bit string from\n24 to 28 bits, rewrite ClassStatus to fit into 4 bits. Also\nperform a proper cleanup of the ClassStatus, i.e. change it\nto an enum class, remove the \"Status\" word from enumerator\nnames, replace \"Max\" with \"Last\" in line with other\nenumerations and remove aliases from mirror::Class.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --optimizing\nBug: 64692057\nBug: 65318848\nChange-Id: Iec1610ba5dac2c527b36c12819f132e1a77f2d45\n"
    },
    {
      "commit": "4d77dafb032e6e14ce619842dec70862172dbaee",
      "tree": "0636a9e023c87d135800a32453093e6331caead0",
      "parents": [
        "b6f3464a934910e84e9a76e9f453bec71bffed5c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 04 11:51:14 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 04 18:20:16 2018 -0800"
      },
      "message": "Correct behavior of thread suspension around Raw monitors\n\nThe interaction between raw monitors and thread suspension was\ndifferent than some real-world agents expected. Real-world agents rely\non the RawMonitorWait function acting as a suspend point.\n\nChanged the raw-monitor implementation to match this behavior.\n\nAdd tests for this behavior and for the behavior of RawMonitorExit\n(which does not act as a suspend point).\n\nBug: 66904725\nBug: 62821960\n\nTest: ./test.py --host -j50\nTest: ./art/tools/run-libjdwp-tests.sh --mode\u003dhost\n\nChange-Id: Ibaed6a7e6910b7b612f0fb1313958857fbe54595\n"
    },
    {
      "commit": "d5f4baef9ba5f474e1e9a6b5795357fccef2cc42",
      "tree": "10dba57492b155630435e96fb2ce18116e25c527",
      "parents": [
        "b0ddceb337f614dc2600d19b82fb4a6596aa7d4c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 03 11:33:08 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 03 11:33:08 2018 -0800"
      },
      "message": "Remove skips for VariableTableTest \u0026 VariableTableWithGenericTest\n\nThese tests were overly restrictive, causing failures.\n\nBug: 66905468\nTest: ./art/tools/run-libjdwp-tests.sh --mode\u003dhost\nTest: ./art/tools/run-jdwp-tests.sh --mode\u003dhost\nChange-Id: I6d4313eda03f459bf9a7fd3f099238108d3a8f04\n"
    },
    {
      "commit": "3859966d5c0d4a2d98e6012b458ef0b7e218c9b4",
      "tree": "9c8fd69a71d9eff0f759bf4cdf16327d300bbf50",
      "parents": [
        "ffc3be6b4a58c1ed172a5c890f8b8583a416998f",
        "fbf9670f31d09c47078d43fd85ee2bda23273d26"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 20 15:04:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 20 15:04:09 2017 +0000"
      },
      "message": "Merge changes from topic \"alternate-jdwp\"\n\n* changes:\n  Add adbconnection plugin\n  Add fd-forwarding transport lib\n  Add support for selecting alternate JDWP implementations\n"
    },
    {
      "commit": "3979571aa1dfc907569fb7e27ab225ca89f6f86e",
      "tree": "fd91ada65bffa3fcefc773a36cbf8055bf688a1c",
      "parents": [
        "403207107da7f11525c4d305184c56b35ec1c17a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 14 11:58:21 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 19 14:52:01 2017 -0800"
      },
      "message": "Add fd-forwarding transport lib\n\ndt_fd_forward is a jdwpTransport that takes as an address a local\nsocket file-descriptor and uses it to allow some other piece of code\nor program to control the actual attach and communication process.\n\ntools/dt_fds_forward.py is a python program that can be used as a\ncontroller for this comms system. This is useful for testing. It\nimplements the same behavior (excepting DDMS) that the adbconnection\nplugin will but is capable of being easily used on normal host\nmachines. Unlike the plugin, dt_fds_forward.py works by allowing a\nsocket file-descriptor to be inherited by the forked Java Language\nRuntime.\n\nThe overall goal of this transport is to use it to allow us to safely\nmultiplex the out-bound data with DDMS data. This is needed to let us\nmatch current DDMS behavior which transmits packets in the blind on\nthe same channel JDWP traffic is sent on.\n\nTest: ./tools/dt_fds_forward.py  \\\n        ./test/run-test --host --dev 001-HelloWorld\nTest: jdb -attach localhost:12345\nTest: nc localhost 12345, handshake, disconnect\nTest: jdb -attach localhost:12345, detach, attach\n\nTest: ./tools/dt_fds_forward.py  \\\n            --debug-lib $JAVA_HOME/jre/lib/amd64/libjdwp.so \\\n            -- \\\n            ./test/run-test --host --jvm --dev 001-HelloWorld\nTest: jdb -attach localhost:12345\n\nBug: 62821960\nBug: 69169846\n\nChange-Id: I654db6c6991c006933e1e1f0a4e41c13f795f9a8\n"
    },
    {
      "commit": "bd82d17b4d19f5dfab0916585fba30a4a69163d8",
      "tree": "469e21870b2b7673eae84a9c49ab700cd982d0db",
      "parents": [
        "bee510c94560703102ca553a08ec47119959c204"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Dec 15 11:31:57 2017 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Dec 15 12:10:33 2017 -0800"
      },
      "message": "Fixed typos in fuzzer scripts/readme.\n\nTest: fuzzer\nChange-Id: I937d8dac66a19b903d15702de51e9adfc1a8e160\n"
    },
    {
      "commit": "06fa9f09ab9099c58c30696d1fc8cac4f0a725b8",
      "tree": "ca1311e0ad01af5a44312886a2f3ea37c98327cc",
      "parents": [
        "ba3a790338725a37ecd4cb314c4a6147e29aef38"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Dec 14 11:15:59 2017 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Dec 14 11:15:59 2017 -0800"
      },
      "message": "Added option to control debugging info on/off.\n\nRationale:\nMads Ager recommended having debug info on/off\nas separate interesting cases for fuzz testing D8.\n\nBug: 70576364\n\nTest: fuzz testing\nChange-Id: Ie4def53b9ec6b855826864e20c89ef30a0d2a9b8\n"
    },
    {
      "commit": "ff789be0c6f829e8c2fe6a769b98e3601ddc71df",
      "tree": "5228665c2c309c95e198fde0070eb31ea19756ab",
      "parents": [
        "df259b09fe78bc6864e757a2a15990c8b628455c",
        "ad7d26fa0afee37ff73bd82679925ae0d2cffad3"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Dec 14 16:27:05 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 14 16:27:05 2017 +0000"
      },
      "message": "Merge \"Added choice of dexer to fuzzer scripts.\""
    },
    {
      "commit": "ad7d26fa0afee37ff73bd82679925ae0d2cffad3",
      "tree": "c7dd3f9e1026cd49200fe86bfd4e67808a73dd2c",
      "parents": [
        "acea2435e2dd93e8ec1e810bd024e60fe74c399f"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Dec 12 15:58:21 2017 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Dec 13 10:19:54 2017 -0800"
      },
      "message": "Added choice of dexer to fuzzer scripts.\n\nRationale:\nWe know you have a choice when it comes to dexers.\nThank you for flying......\n\nBug: 70576364\n\nTest: dexfuzz and jfuzz scripts\n\nChange-Id: Id3d18cd76adb9b3099dbf039314ebeb855507b72\n"
    },
    {
      "commit": "d47dea28cf430815ed8a33081490ad5ad87e1cd6",
      "tree": "5b9cc2f9072a8f5315707d6c88b247d36d5dd9ce",
      "parents": [
        "e4f220d489a84873ae7eb0492e3d009bc274bfab"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 13 10:19:38 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 13 10:19:38 2017 -0800"
      },
      "message": "Remove some Tests that are passing from external_oj_libjdwp_art_failures.\n\nThe DDM test is passing and the VMDebug002 test is only failing\nsporadically on fugu due to timeouts.\n\nTest: ./art/tools/run-libjdwp-tests.sh --mode\u003dhost\nChange-Id: I78041b1bd2beebbb8e6424a63e0e40751bde20ed\n"
    },
    {
      "commit": "e4f220d489a84873ae7eb0492e3d009bc274bfab",
      "tree": "3b95df0bc57e84fccc768c8a057e56f22f3d9bc1",
      "parents": [
        "d1c3915293412da3ae4898b446d3cdffa3d07058"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 13 10:13:50 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 13 10:19:07 2017 -0800"
      },
      "message": "Rename libjdwp expectations files.\n\nIt was very confusing and difficult to remember which files went with\nwhich test configuration. Hopefully with this rename things will be\nclearer.\n\nTest: ./art/tools/run-jdwp-tests.sh --mode\u003dhost\nTest: ./art/tools/run-libjdwp-tests.sh --mode\u003dhost\nTest: ./art/tools/run-prebuilt-libjdwp-tests.sh --mode\u003dhost\nChange-Id: I5736187bab4b79e47699f3177c328ff2ddff5cba\n"
    },
    {
      "commit": "5791327fecd58ab256ebceb44d97e62d16ab8e54",
      "tree": "71b0ee56eae7951aefe102b92053a6478ed56f8c",
      "parents": [
        "3f74ea478d755453a2fe5789ce155e80be3e7c7f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 13 15:19:40 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 13 15:19:40 2017 +0000"
      },
      "message": "Fix typo in test name.\n\nChange-Id: I1e2d37069623798a6fba495da9bc17ce11f96725\n"
    },
    {
      "commit": "33d0b4a0b1bf19fc2493b5d6ebfcb2bd1935c0bd",
      "tree": "71c4694e7214962dd606f703cf010b9f7a738664",
      "parents": [
        "f686b5caf2f8033e8a95ef61ed865b344d022da8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 13 09:01:46 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 13 09:01:46 2017 +0000"
      },
      "message": "Blacklist failing test.\n\nChange-Id: I322af2e66371a3858c1fb61a580491a5ce6cbdf3\n"
    },
    {
      "commit": "3cd9bcf0a834bc63f794f10e17796be7289daad8",
      "tree": "7f74ca0d82570d610201000ae8edf506f9992496",
      "parents": [
        "9e73b32fed15d262b0393f114b9602ac7ef88917"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 12 11:30:43 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 12 11:30:43 2017 -0800"
      },
      "message": "Add new VMDebug jdwp test to skips for prebuilt-libjdwp\n\nThe functionality is not implemented in libjdwp.\n\nTest: ./art/tools/run-prebuilt-libjdwp-tests.sh --mode\u003dhost\nBug: 69169846\nChange-Id: If670fb2f4eadd0da786e2f3d37621718f47edc91\n"
    },
    {
      "commit": "9c32ada693e810f5afad8a448a69fa8ea3f3934e",
      "tree": "cf7c8976da59bd3197dc1a51546d15bf23a662b6",
      "parents": [
        "cb18123ce1ac4a27e354d402d4d6a684d2bf691e"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Dec 11 07:24:43 2017 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Dec 11 07:30:38 2017 +0000"
      },
      "message": "jfuzz: Fix whitespace bogon\n\nTest: mm\nChange-Id: I34763a786be01ec571ae121f49fe6e2bab3f8dcb\n"
    },
    {
      "commit": "cb18123ce1ac4a27e354d402d4d6a684d2bf691e",
      "tree": "11e42a8f3c851166054dd60acbc11e95843dffe9",
      "parents": [
        "078f96f743805d951cea8f71af768facd17eba78",
        "4a10c759d3dfe786e13bc1598ce683b38cf86340"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 11 07:14:39 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 11 07:14:39 2017 +0000"
      },
      "message": "Merge \"jfuzz: Add try..catch..finally blocks\""
    },
    {
      "commit": "5c6ff7d04131d048fce99eba32ed636b9a04669c",
      "tree": "96411090ad5066e29478d64aad47e5d0e34ab415",
      "parents": [
        "e38ff667621ca378daa5e3f104c8b1ac23102125"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Dec 10 15:10:54 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Dec 10 15:10:54 2017 +0000"
      },
      "message": "Blacklist timing out test.\n\nbug: 70459916\nChange-Id: Ieb5e41b21c1fcaac9dcf7b01ccca314ce783c6c8\n"
    },
    {
      "commit": "4a10c759d3dfe786e13bc1598ce683b38cf86340",
      "tree": "81bb0c326909863c454c070af68a2bf785db92d2",
      "parents": [
        "a9683fb824a12bc27819777fae0223b13f04ce43"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Dec 07 09:33:36 2017 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Dec 08 17:27:38 2017 +0000"
      },
      "message": "jfuzz: Add try..catch..finally blocks\n\nAdds try..catch..finally blocks to generated code.\n\nAlso adds invocations of a nop() function.\n\nBug: 69128828\nTest: Manually generating, dx\u0027ing, and verifying outputs\nChange-Id: I5e54d63e694acf8106c6deb966a584b9253001b6\n"
    },
    {
      "commit": "f057d5d38dc812dcbe385890ccabf38674ae0d5d",
      "tree": "0c96b9a15f1c9fcc9021c79a6b2c3160bd0b2471",
      "parents": [
        "55927e11a022dd552c62a4767737e74abd5092c3",
        "92706a8a541521d586736287f0dc6b7f338acff0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 05 19:34:59 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 05 19:34:59 2017 +0000"
      },
      "message": "Merge \"Introduced CHECK-START-{x,y,z} syntax.\""
    },
    {
      "commit": "9354e0af01ff618fd2c81b0c8c1c0131b0bedc47",
      "tree": "319aa0085ff0ad7ffe7ed6663638cbbc39ff69ad",
      "parents": [
        "a9683fb824a12bc27819777fae0223b13f04ce43"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Dec 05 10:10:07 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Dec 05 10:10:07 2017 +0000"
      },
      "message": "Update ahat version number to 1.5\n\nTest: m ahat-test\nTest: open heap dump and verify version number on overview page.\nChange-Id: Ied11ec1973a14c0f9351adc867cc522a80a7f87d\n"
    },
    {
      "commit": "e24847c2222b41c140adeda9e7dd16adac414131",
      "tree": "bb924aa98e3d3d25a835f943be8686d6115c5fe5",
      "parents": [
        "d2b31918cd8de0920fd316dd344ff3de6a4e05c3",
        "b7732a3fcf06a55075a601dbc593b23a6fc71dbf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 04 12:38:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 04 12:38:34 2017 +0000"
      },
      "message": "Merge \"Add javadoc for all public ahat API.\""
    },
    {
      "commit": "b7732a3fcf06a55075a601dbc593b23a6fc71dbf",
      "tree": "bca727e1c8dfe7a4f7b3fb19cf80ffa72f6e69b8",
      "parents": [
        "a602c56ba1a82d70eb40de35e7c716477a46ee28"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Nov 16 10:23:41 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Dec 04 10:22:44 2017 +0000"
      },
      "message": "Add javadoc for all public ahat API.\n\nAnd tighten up the API a little more.\n\nThe only functional change is to replace the Sort.WithPriority class\nwith a Sort.withPriority function so that the Sort.WithPriority class\ncan be made private.\n\nTest: m ahat-test\nChange-Id: Iba0ac04767a20c9008f209a777294ecaccc64ffc\n"
    },
    {
      "commit": "92706a8a541521d586736287f0dc6b7f338acff0",
      "tree": "d151f41fe697845e4b1cb96dd42a5440bf47dd70",
      "parents": [
        "93b57b9b168eaa61ad01d097f083a73eba575dbe"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Nov 30 11:46:45 2017 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Dec 01 15:25:34 2017 -0800"
      },
      "message": "Introduced CHECK-START-{x,y,z} syntax.\n\nRationale:\nMany of our tests repeat CHECK-START-x with following\nchecker lines for various architectures if some, but\nnot all architectures match the checker lines. This\nis tedious and error-prone. No more of that nonsense!\nThis CL introduces a syntax that allows specifying\nsubsets of architectures with a single block!\n\nBug: 62352954\n\nTest: test-art-host test-art-target\nChange-Id: Ife18b3ef9eaa2540166ace045c165ba252b31c6b\n"
    },
    {
      "commit": "e87fe475e4a772ab8599612eb726686e7839c75a",
      "tree": "f3af6c12af1b53e3dba58643c7ed66ae60cd4766",
      "parents": [
        "45d3efbc433e321d0fdb3de54b01cf056c3d85ba",
        "7ee76e6504804e80df95d79e18988cfec400d909"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Dec 01 21:22:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 01 21:22:36 2017 +0000"
      },
      "message": "Merge \"Add TestVMDebug to prebuilt libjdwp skips\""
    },
    {
      "commit": "7ee76e6504804e80df95d79e18988cfec400d909",
      "tree": "4d8c7ebb6a41107a5807e231791c96d1d22002e3",
      "parents": [
        "cb90e3a29041ea55c4b5eb3d1477aa360381a1f1"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Nov 30 16:39:28 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Dec 01 08:49:10 2017 -0800"
      },
      "message": "Add TestVMDebug to prebuilt libjdwp skips\n\nThis test relies on functionality that is not implemented in the\nprebuilt libjdwp.\n\nTest: ./art/tools/run-prebuilt-libjdwp-tests.sh --mode\u003dhost\nBug: 62821960\nChange-Id: I83dc8ce3ebbdaafbc8563a7496f662800424e92a\n"
    },
    {
      "commit": "32ca7786f98d5e3adb73edd8dff220b40413700f",
      "tree": "6c91ad1a90acb8016ed189c419dfd669cf5fb14e",
      "parents": [
        "a602c56ba1a82d70eb40de35e7c716477a46ee28"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Nov 30 09:35:52 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Nov 30 09:35:52 2017 +0000"
      },
      "message": "ahat: fix bug parsing ids with the high bit set.\n\nWith this fix, ahat will no longer generate broken links for objects\nwith ids greater than 0x7FFFFFFF.\n\nBug: 69706820\nTest: m ahat-test\nTest: Manually heap dump from b/69706820 and verify ids parsed correctly.\nTest: Automated test planned for followup as part of b/69706820.\nChange-Id: Ie49f49f8959953cff54a543eb7a25bed806b7f1c\n"
    },
    {
      "commit": "d77f8631c428f433e2b8a7ffdeb1659591c1ed74",
      "tree": "bac829f0f256ed7120e4044d9d6f434d47fe224b",
      "parents": [
        "b360bff818ad0bf59668cd2bebaaeeaa8a3b5dfe"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 22 09:35:46 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 22 09:35:46 2017 +0000"
      },
      "message": "Blacklist org.apache.harmony.jpda.tests.jdwp.VirtualMachine.ExitTest#testExit001\n\nbug: 69591477\nChange-Id: Ic00045a385cb634c6f6b80a655f85d4f5281569b\n"
    },
    {
      "commit": "ec4a10c5191b2db5a23ea14f0c5278afc77d9c0a",
      "tree": "a6234c9101160c1c8ed40ee8fd424dd65055981e",
      "parents": [
        "8acd00f9e65078f0f9d3c6fa7fea19ee0c17567a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Nov 17 09:06:26 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Sun Nov 19 17:43:55 2017 +0000"
      },
      "message": "Increase timeout for libjdwp tests\n\nSince libjdwp has more threads running concurrently then the old\ninternal jdwp implementation does it can sometimes take slightly\nlonger to finish certain test tasks (most notably shutdown). This was\ncausing the tests to timeout occasionally on the chrome-buildbots.\n\nBug: 68839405\nTest: ./art/tools/run-libjdwp-tests.sh --mode\u003dhost\nChange-Id: I8d443662c40de27d490248e8df5d77b43f78267c\n"
    },
    {
      "commit": "5573c37e795668eca81a8488078f798d977685c3",
      "tree": "5e7675d6c1ca9ed1c31834e52282bfb9f73dc2a4",
      "parents": [
        "1598a77ca3559c8a59902f26ee887504b8159859"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Nov 16 13:34:30 2017 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Nov 16 14:42:49 2017 -0800"
      },
      "message": "cpplint: Remove many unnecessary NOLINT\n\nNow that we updated to upstream cpplint, a lot of these NOLINTs are no\nlonger necessary.\n\nBug: 68951293\nChange-Id: If8ed5ffe89727f313f907a214b6d8fd2a2eddbad\n"
    },
    {
      "commit": "eecced8b2b2de3f74c317fa574f17e2fad5b40b9",
      "tree": "9cea5a24f08c6f771a85081090838498c058da89",
      "parents": [
        "7137b654fe5a68990ad8f8b6e31f033424ef7206"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 16 09:08:14 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 16 09:08:14 2017 +0000"
      },
      "message": "Update test names after package changes.\n\nTest: run-libcore-tests\nChange-Id: I7bb8b4818662607122e929a1e57ebf3ce086678b\n"
    },
    {
      "commit": "a5197fa69737f89ea92758420539f74a19bf8947",
      "tree": "00a7a6525e86e16e75ed8342fec6936568d166a9",
      "parents": [
        "0bfd0cc8e351bdd6464ef5aa546d13e89b15f4d6",
        "2a2d3117e3912743527455ec2b7056eb66215ae1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 16 03:06:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 16 03:06:20 2017 +0000"
      },
      "message": "Merge \"cpplint: Use upstream cpplint\""
    },
    {
      "commit": "0bfd0cc8e351bdd6464ef5aa546d13e89b15f4d6",
      "tree": "1ba8c17a3b19589cf09454fcc85d49b416ec094b",
      "parents": [
        "e999445d2b7cfeb4a0ebf7f80f6907bc8898ec42",
        "8c2b929696cac235e8fd8bf4cae0ca751603b570"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 16 01:02:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 16 01:02:14 2017 +0000"
      },
      "message": "Merge \"Add JVMTI DDMS extension method and event.\""
    },
    {
      "commit": "8c2b929696cac235e8fd8bf4cae0ca751603b570",
      "tree": "ef280c4ff76d44ba867d65564ec192ba4a90e874",
      "parents": [
        "a16fec549253638268dda3d83e6e34a500cbfc1c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Nov 09 13:21:01 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 14 17:09:35 2017 -0800"
      },
      "message": "Add JVMTI DDMS extension method and event.\n\nAdd a new jvmti extension method\n\u0027com.android.art.internal.ddm.process_chunk\u0027 that can be used to\nrequest that the system process a DDMS chunk with a given type and\ndata payload. It returns the processed chunk type and data. Agents can\nuse this to interact with DDMS.\n\nAlso add a new jvmti extension event\n\u0027com.android.art.internal.ddm.publish_chunk\u0027 that will be called\nwhenever the system wishes to send an unrequested chunk of data to be\nprocessed. This is triggered by code executing \u0027DdmServer#sendChunk\u0027\nor by other internal mechanisms.\n\nBoth of these extensions are provided mainly to aid in the maintenence\nof backwards compatibility with existing DDMS applications.  Generally\nagents should prefer to use the normal JVMTI events and controls over\ninterpreting DDMS data or calling DDMS functions.\n\nBug: 62821960\nTest: ./test.py --host -j50\nTest: ./art/tools/run-jdwp-tests.sh --mode\u003dhost \\\n            --test org.apache.harmony.jpda.tests.jdwp.DDM.DDMTest\nChange-Id: I39f22d3d096d12b59713ec7b8b0c08d0d68ff422\n"
    },
    {
      "commit": "2a2d3117e3912743527455ec2b7056eb66215ae1",
      "tree": "b6dac3ae97a0f94e2ca95d8fafcb4d244167e07a",
      "parents": [
        "2ffb703bf431d74326c88266b4ddaf225eb3c6ad"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Nov 14 15:03:25 2017 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Nov 14 15:39:55 2017 -0800"
      },
      "message": "cpplint: Use upstream cpplint\n\nAlso use CPPLINT.cfg instead of passing in extra flags to cpplint.py.\nThis unifies the handling and allows us to remove cpplint_presubmit\nwithout loss of functionality.\n\nBug: 68951293\nChange-Id: I6ece835440e3ac3f84fadc544307a9a5126a3e1c\n"
    },
    {
      "commit": "8050453ed536fea8dbcd51a6f882b13d334e60ee",
      "tree": "bba6e13f24171ce0d5734aa27f51ab20bca2c371",
      "parents": [
        "f4580f43bcb74061ba8b7847ec65f2fe160f1751",
        "88aa6900f62421906af0c3f7a0c245b4f2aef50c"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Nov 14 12:42:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 14 12:42:09 2017 +0000"
      },
      "message": "Merge \"Fix bug in proguard deobfuscation of file names.\""
    },
    {
      "commit": "cadbb8154e6f52258fcbb95188d71d700efb93a2",
      "tree": "4124d56dba911554db86383f2702ced41b9c40f3",
      "parents": [
        "961155050f6082f05410e8285e16caff9e7d6028",
        "8d8299d926d7fd5309d55d6beedd092e741c6e80"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 14 10:03:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 14 10:03:34 2017 +0000"
      },
      "message": "Merge \"Fix run-jdwp-tests.sh when running against RI.\""
    },
    {
      "commit": "88aa6900f62421906af0c3f7a0c245b4f2aef50c",
      "tree": "348eb05b943f2960794ac6af221bc63ec627a55f",
      "parents": [
        "e45918a82389c04d2624ebc020516154af1e4e8f"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Nov 06 10:08:27 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Nov 14 09:49:50 2017 +0000"
      },
      "message": "Fix bug in proguard deobfuscation of file names.\n\nConfigure proguard to preserve stack traces in the test-dump so we can\nproperly test ahat\u0027s deobfuscation of stack traces.\n\nFix a bug in proguard deobfuscation of file names. Specifically, we\nshould always compute the file name based on the class associated with a\nstack frame, regardless of whether or not the method has been\nobfuscated.\n\nRestructure test-dump program to test more cases of stack frame\ndeobfuscation.\n\nTest: m ahat-test, with expanded proguard deobufscation test.\nChange-Id: Idbb564147c6aea6b9c2091612ecf17c01070d5ac\n"
    },
    {
      "commit": "8d8299d926d7fd5309d55d6beedd092e741c6e80",
      "tree": "f9929c512d58032a1c5556252ef2cfcf7c72acd3",
      "parents": [
        "7d86200335d8111fc28ce06d8e38bffb1870b02c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Nov 10 08:41:04 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Nov 10 08:41:04 2017 -0800"
      },
      "message": "Fix run-jdwp-tests.sh when running against RI.\n\nWe were incorrectly trying to pass --toolchain dx instead of\n--toolchain javac when running against the RI.\n\nTest: ./art/tools/run-jdwp-tests.sh --mode\u003djvm\nChange-Id: Ie370afd6cb60fbad8e4171b94dd8885f674fface\n"
    },
    {
      "commit": "8871585b9b637127907702d8ee010a3a21653e59",
      "tree": "09e35fb3ec8fcfa5e7243f59a25b4a0f218c69da",
      "parents": [
        "895a92f3ae0c1c27d5056a069ff4f07c53763e41",
        "f97702ce1a3cb5dfdab174712eedba8e6028bb2a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 10 16:21:28 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 10 16:21:28 2017 +0000"
      },
      "message": "Merge \"Blacklist test in file actually used by the script.\""
    },
    {
      "commit": "f97702ce1a3cb5dfdab174712eedba8e6028bb2a",
      "tree": "deeee47c3412ca3cbf6cf2bc77d4d9e436e308b5",
      "parents": [
        "a051f29bbbb7f237242e84294b8f2ced5f4b1acc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 10 16:18:59 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 10 16:18:59 2017 +0000"
      },
      "message": "Blacklist test in file actually used by the script.\n\nbug: 69121056\nChange-Id: I4312e2b4f45e0dc1eaadaf483ee9e0eac0dc49bd\n"
    },
    {
      "commit": "895a92f3ae0c1c27d5056a069ff4f07c53763e41",
      "tree": "cf032c96f2c2b8b94187a3272a10dcf41bf818d5",
      "parents": [
        "a051f29bbbb7f237242e84294b8f2ced5f4b1acc",
        "6c3e1a03eb3f6ff5d759bd7959b3e11e65a9d1d1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 10 16:17:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 10 16:17:00 2017 +0000"
      },
      "message": "Merge \"ART: Refactor build_bot.sh\""
    },
    {
      "commit": "77526ffcc5f25ef9c4aa4e87d416c22f2586cf17",
      "tree": "93dfefbf98ee3197aa436545b3a5564d0c01c20a",
      "parents": [
        "43fcb33efaa519f0e19bd1bef74fa59b1d9bf723",
        "a759f02277ec4a220631593a0bf16b37e614266d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 10 09:28:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 10 09:28:47 2017 +0000"
      },
      "message": "Merge \"Blacklist lbjdwp flaky test.\""
    },
    {
      "commit": "a759f02277ec4a220631593a0bf16b37e614266d",
      "tree": "fdb919faa8a0c2eb46f62f7faa7a967473deaf78",
      "parents": [
        "a0a12b44921ab3d92bf26123875d9794ef8a9272"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 10 09:26:42 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 10 09:26:42 2017 +0000"
      },
      "message": "Blacklist lbjdwp flaky test.\n\nbug: 69121056\nChange-Id: I3239964425c1ca274e33518fe91f5ef11be1d018\n"
    },
    {
      "commit": "6c3e1a03eb3f6ff5d759bd7959b3e11e65a9d1d1",
      "tree": "8fa82e4579179276768e893b60033a846282f333",
      "parents": [
        "2202d56061941b4fecbdb018d84bcefb05b6c683"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 09 10:29:32 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 09 14:28:48 2017 -0800"
      },
      "message": "ART: Refactor build_bot.sh\n\nCorrectly refer to host and target specific versions of libraries,\nso as to avoid building the other mode.\n\nTest: art/tools/buildbot-build.sh --mode host\nTest: art/tools/buildbot-build.sh --mode target\nChange-Id: I80f7b774cc0570428cff9ec691720da21384c38a\n"
    },
    {
      "commit": "589853739e97a87faa7f9c12f12b5c74596b0312",
      "tree": "a82918b3d34071332762ea52511286f8e5c73f14",
      "parents": [
        "972e654c147b64737bdd242bd18a74429af82bc6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 09 14:38:02 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 09 14:43:12 2017 +0000"
      },
      "message": "Remove --no-stream from script.\n\n--no-stream runs art executions on parallel, which doesn\u0027t work\nwhen all processes want to generate a boot image at the same\nlocation.\n\nTest: run-libcore-tests\nChange-Id: Ica93393f9cb4fb35465e0b432cb5af62b4289f4f\n"
    }
  ],
  "next": "f44a60ae9a4326c0bb335bd592601621113fe8b3"
}
