)]}'
{
  "log": [
    {
      "commit": "3f4a0bc6a7d824e9da8ffbd2745f6856abaa8306",
      "tree": "09fb1283dcf61560df88d204a2674aae7352ea26",
      "parents": [
        "6c3533991522d036cbb5a656c44f63bf633a2925"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 12 10:08:58 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 12 10:10:09 2018 +0100"
      },
      "message": "Add extra output when patchoat_test fails.\n\nPrint up to 16 bytes of the data from the first difference.\n\nTest: m test-art-host-gtest-patchoat_test\nBug: 70918261\nChange-Id: Icd0247c3a745bfca0bc9745c8756452cd9b89feb\n"
    },
    {
      "commit": "67bf42e89592c3a1c648f927f2ce3ccb189a1161",
      "tree": "054d5b7adf7cc62d4d2a2118a70c0fbdd1751610",
      "parents": [
        "d961043ff1dd6fddb68aa90c1f939cfafec24219"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Feb 26 16:43:04 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Feb 28 15:08:21 2018 -0800"
      },
      "message": "Header library to remove dependence on runtime/\n\nAdd a new header library to remove libdexfile and others\u0027 dependence on\nruntime (typically runtime/base) includes in libdexfile.  Also a small step\nto tease dexlayout and profman away from relying on these as well.\n\nBug: 22322814\nTest: make -j 50 checkbuild\n      make -j 50 test-art-host-gtest\n\nChange-Id: I38e2fe399a75f4bc6318c77a71954c00ea73ec2b\n"
    },
    {
      "commit": "88c6d26dd8686bdb366d54937a505f10f3bf1cd8",
      "tree": "2f07c4ef2144c4a909760260389d070fe22af05e",
      "parents": [
        "38321bb87c3630afaef76f312e90df5bca6a0554"
      ],
      "author": {
        "name": "Chris Morin",
        "email": "cmtm@google.com",
        "time": "Tue Feb 13 15:26:21 2018 -0800"
      },
      "committer": {
        "name": "Christopher Morin",
        "email": "cmtm@google.com",
        "time": "Tue Feb 20 16:35:18 2018 +0000"
      },
      "message": "patchoat: take directories instead of filenames\n\npatchoat was already ignoring the basename part of the filename passed\nto it for both --output-image-file and --output-image-relocation-file.\nWe can therefore just pass in the directories instead.\n\nBug: 72828459\nTest: make test-art-host-gtest-patchoat_test\nChange-Id: I1a699d1f6746f068078ae768d30690431578d84e\n"
    },
    {
      "commit": "754b7575e65f0e0cc8b080b268378daf54881c65",
      "tree": "335b707c603aebed1db283f8af7f0341ed8d35c0",
      "parents": [
        "d78ca5213b780ca3165acb68e44f88f639e8ca45"
      ],
      "author": {
        "name": "Chris Morin",
        "email": "cmtm@google.com",
        "time": "Fri Jan 19 18:04:46 2018 -0800"
      },
      "committer": {
        "name": "Chris Morin",
        "email": "cmtm@google.com",
        "time": "Thu Jan 25 13:12:14 2018 -0800"
      },
      "message": "patchoat: add ability to verify relocated .art files\n\nPatchoat can verify that a relocated .art file hasn\u0027t been modified\nafter generation using the --verify flag.\n\nTest: adb shell /system/bin/patchoat --verify \\\n        --input-image-location\u003d/system/framework/boot.art \\\n        --output-image-file\u003d/data/dalvik-cache/arm64/system@framework@boot.art \\\n        --instruction-set\u003darm64\nBug: 66697305\n\nChange-Id: If6ea02a0527381c520078cd6f3ae2c275a8a8ab1\n"
    },
    {
      "commit": "3856af0d6e09525a4e774bec729dd781a72d5549",
      "tree": "7ed02c48c7cc5c185cbdd5b4c2c135aa995ef228",
      "parents": [
        "688a46384c3a631f553fb97c349f6174d0180467"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Mon Oct 23 13:53:13 2017 -0700"
      },
      "committer": {
        "name": "Chris Morin",
        "email": "cmtm@google.com",
        "time": "Thu Jan 18 07:32:10 2018 -0800"
      },
      "message": "Reland: Enable patchoat to write image relocation files\n\nThis adds an off by default feature to patchoat whereby it can write\nimage relocation information (i.e., which offsets are patched up by\npatchoat) to .rel files. .rel file writing is enabled by specifying\nthe name of boot.art.rel file using command-line parameter\n--output-image-relocation-file\u003d...\n\nThe currently intended use case is to make the Android build process\nstore these files on the system image next to boot*.art files. At boot\ntime, in follow-up commits, these .rel files will then be used to\nverify that all differences between /system boot*.art and\n/data/dalvik-cache boot*.art files can be explained by relocation. The\ngoal is to mitigate /data/dalvik-cache boot*.art being a persistence\nvector.\n\nTest: ./art/test/testrunner/run_build_test_target.py art-gtest-debug-gc\nTest: make test-art-host-gtest-patchoat_test\nTest: ART_HEAP_POISONING\u003dtrue make test-art-host-gtest-patchoat_test\nTest: make test-art-target-gtest-patchoat_test\nTest: ANDROID_ROOT\u003dout/target/product/sailfish/system \\\n        ANDROID_DATA\u003dout/target/product/sailfish/dex_bootjars/system/framework/arm64/ \\\n        out/host/linux-x86/bin/patchoat \\\n        --input-image-location\u003d\u003cfull path to\u003e/out/target/product/sailfish/dex_bootjars/system/framework/boot.art \\\n        --output-image-file\u003dout/target/product/sailfish/dex_bootjars/system/framework/arm64/boot.art \\\n        --instruction-set\u003darm64 --base-offset-delta\u003d0x10000000\n        produces same boot*.art files as prior to this change\nTest: ANDROID_ROOT\u003dout/target/product/sailfish/system \\\n        ANDROID_DATA\u003dout/target/product/sailfish/dex_bootjars/system/framework/arm64/ \\\n        out/host/linux-x86/bin/patchoat \\\n        --input-image-location\u003d\u003cfull path to\u003e/out/target/product/sailfish/dex_bootjars/system/framework/boot.art \\\n        --output-image-relocation-file\u003dout/target/product/sailfish/dex_bootjars/system/framework/arm64/boot.art.rel \\\n        --instruction-set\u003darm64 --base-offset-delta\u003d0x10000000\n        produces no boot*.art files, but produces expected boot.art.rel files\nBug: 66697305\n\nChange-Id: Ia6b548c61429c61a62706d4021f8e6f22c49082e\n"
    },
    {
      "commit": "24e4f73f21c098e6fdffc5fc28fd3d185f94c27d",
      "tree": "5ca19b04f91a01aecfa0f78f576af78cecd6c071",
      "parents": [
        "fbe5f2f85244bf57707afb5520b2f9aa189d9d55"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jan 11 22:21:24 2018 +0000"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jan 11 22:24:10 2018 +0000"
      },
      "message": "Revert \"Enable patchoat to write image relocation files\"\n\nThis reverts commit fbe5f2f85244bf57707afb5520b2f9aa189d9d55.\n\nTest is failing very often on the buildbots.\n\nBug: 66697305\n\nChange-Id: I9be7471b1c988bdddeca732c39b9323125e4384d\n"
    },
    {
      "commit": "fbe5f2f85244bf57707afb5520b2f9aa189d9d55",
      "tree": "ad98d2749023f6661b485b0466fc992505fa3019",
      "parents": [
        "680e88ba30d1c599c5eaab4a207db3e39bf2d57f"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Mon Oct 23 13:53:13 2017 -0700"
      },
      "committer": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Wed Jan 10 09:17:41 2018 -0800"
      },
      "message": "Enable patchoat to write image relocation files\n\nThis adds an off by default feature to patchoat whereby it can write\nimage relocation information (i.e., which offsets are patched up by\npatchoat) to .rel files. .rel file writing is enabled by specifying\nthe name of boot.art.rel file using command-line parameter\n--output-image-relocation-file\u003d...\n\nThe currently intended use case is to make the Android build process\nstore these files on the system image next to boot*.art files. At boot\ntime, in follow-up commits, these .rel files will then be used to\nverify that all differences between /system boot*.art and\n/data/dalvik-cache boot*.art files can be explained by relocation. The\ngoal is to mitigate /data/dalvik-cache boot*.art being a persistence\nvector.\n\nTest: ./art/test/testrunner/run_build_test_target.py art-gtest-debug-gc\nTest: make test-art-host-gtest-patchoat_test\nTest: make test-art-target-gtest-patchoat_test\nTest: ANDROID_ROOT\u003dout/target/product/sailfish/system \\\n        ANDROID_DATA\u003dout/target/product/sailfish/dex_bootjars/system/framework/arm64/ \\\n        out/host/linux-x86/bin/patchoat \\\n        --input-image-location\u003d\u003cfull path to\u003e/out/target/product/sailfish/dex_bootjars/system/framework/boot.art \\\n        --output-image-file\u003dout/target/product/sailfish/dex_bootjars/system/framework/arm64/boot.art \\\n        --instruction-set\u003darm64 --base-offset-delta\u003d0x10000000\n        produces same boot*.art files as prior to this change\nTest: ANDROID_ROOT\u003dout/target/product/sailfish/system \\\n        ANDROID_DATA\u003dout/target/product/sailfish/dex_bootjars/system/framework/arm64/ \\\n        out/host/linux-x86/bin/patchoat \\\n        --input-image-location\u003d\u003cfull path to\u003e/out/target/product/sailfish/dex_bootjars/system/framework/boot.art \\\n        --output-image-relocation-file\u003dout/target/product/sailfish/dex_bootjars/system/framework/arm64/boot.art.rel \\\n        --instruction-set\u003darm64 --base-offset-delta\u003d0x10000000\n        produces no boot*.art files, but produces expected boot.art.rel files\nBug: 66697305\nChange-Id: If18814f03dba3d72ae15981625473f4da303b1d6\n"
    },
    {
      "commit": "a46e50b87508a87264b04bf526f86fa93e2d8c30",
      "tree": "c099a68fe9d8c175f1d1393ceec1313c90d10a58",
      "parents": [
        "35e9c147cb1a45f36a63964d677f26c44f02990f"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Tue Dec 19 12:16:11 2017 -0800"
      },
      "committer": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Tue Dec 19 14:26:51 2017 -0800"
      },
      "message": "Test all .art files in patchoat test\n\nThis augments the patchoat test to check all .art files produced by\ndex2oat and patchoat, rather than just the main one -- boot.art.\nFor context, the test currently produces two .art files: boot.art and\nboot-core-libart-hostdex.art.\n\nTest: ./art/test/testrunner/run_build_test_target.py art-gtest-debug-gc\nTest: make test-art-host-gtest-patchoat_test\nTest: make test-art-target-gtest-patchoat_test\nBug: 66697305\nChange-Id: I8a90e70811ac8b98a7c2de5bfe6a388ca884e259\n"
    },
    {
      "commit": "d1d5c95f5ae38ca194c251914da82371e0192b60",
      "tree": "1076af939f9be74665adfc244e7208b8a8fb06ba",
      "parents": [
        "bee510c94560703102ca553a08ec47119959c204"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Fri Dec 15 12:57:33 2017 -0800"
      },
      "committer": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Fri Dec 15 22:18:17 2017 +0000"
      },
      "message": "Revert^4 \"Add patchoat test\"\n\nThis reverts commit 1fb8d5ee6c7f03269cf08b18a0af5b4e25924a27.\n\nSkip the patchoat test on the build server where the build is not\nusing read barriers. Read barriers (or CMS/MS garbage collector) are\nrequired for the --force-determinism feature used by the test.\n\nTest: ./art/test/testrunner/run_build_test_target.py art-gtest-debug-gc\nTest: make test-art-host-gtest-patchoat_test\nTest: make test-art-target-gtest-patchoat_test\nBug: 66697305\nChange-Id: I99da0111ca0e34d32473dfe721b7a2f49289e850\n"
    },
    {
      "commit": "1fb8d5ee6c7f03269cf08b18a0af5b4e25924a27",
      "tree": "84e1e493074878447cf1fe01ece97b9eff8b5f52",
      "parents": [
        "203010a86542b16991ede122085b07eea6c55bec"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Thu Dec 14 21:32:44 2017 +0000"
      },
      "committer": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Thu Dec 14 21:32:44 2017 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Add patchoat test\"\"\"\n\nThis reverts commit 203010a86542b16991ede122085b07eea6c55bec.\n\nReason for revert: This test is breaking on a build server -- no idea why as no output can be seen.\n\nChange-Id: Ibb93d84e673c45e13ba81b1f045eb7c8d31494fd\n"
    },
    {
      "commit": "203010a86542b16991ede122085b07eea6c55bec",
      "tree": "c96b76218bae69b9c94810b3b96916979d2dc7d9",
      "parents": [
        "702f6f276d2b81ae27bce51c2e78b04aa45a5796"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Wed Dec 13 12:53:28 2017 -0800"
      },
      "committer": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Wed Dec 13 12:58:56 2017 -0800"
      },
      "message": "Revert \"Revert \"Add patchoat test\"\"\n\nThis reverts commit 5dd08acd0b568bb05e2e75fc02d8a6d3d7aa6f8e.\n\nThis attempt removes any remaining non-determinism, by passing in\n--force-determinism to dex2oat in the test. As a result, the test\nnow passes both host-side and device-side.\n\nTest: make test-art-host-gtest-patchoat_test\nTest: make test-art-target-gtest-patchoat_test\nBug: 66697305\nChange-Id: I8192ced68cec9f270b004488eb264f429bf7ab60\n"
    },
    {
      "commit": "5dd08acd0b568bb05e2e75fc02d8a6d3d7aa6f8e",
      "tree": "32e76364a018293f8217da8ea11b4dd15f3e3075",
      "parents": [
        "14e895ed419fcb67c16be1387d248a4e973cf940"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 12 08:54:59 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 12 08:54:59 2017 +0000"
      },
      "message": "Revert \"Add patchoat test\"\n\nBug: 66697305\n\nFails on device\n\nThis reverts commit 14e895ed419fcb67c16be1387d248a4e973cf940.\n\nChange-Id: Id817d738be32f44c5dfc97d2646b0090824dc404\n"
    },
    {
      "commit": "14e895ed419fcb67c16be1387d248a4e973cf940",
      "tree": "4429e2c19724c20e2ac2119179e2fadaed1001fe",
      "parents": [
        "92ab698e46dba3b6cff1457f47bfc344cb03f7ec"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Wed Nov 22 12:29:03 2017 -0800"
      },
      "committer": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Mon Dec 11 15:01:52 2017 -0800"
      },
      "message": "Add patchoat test\n\nThe test checks that relocating an image using dex2oat and patchoat\nyields the same ART file, except for OAT checksum and patch offset\ndelta.\n\nTest: make test-art-host-gtest-patchoat_test\nBug: 66697305\nChange-Id: I80f8b996bc8fc88ef798dceac9fd9ecd629045a3\n"
    }
  ]
}
