)]}'
{
  "log": [
    {
      "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": "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"
    },
    {
      "commit": "5115efb3369d522ad34b919114de2797bcd81642",
      "tree": "2cba2a6038f13e52f8d416a91ef0021d83c03017",
      "parents": [
        "7dd1e683ea61341323ba8b138684f4c4fbddb3ab"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 24 16:55:54 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 24 16:55:54 2017 -0700"
      },
      "message": "ART: Fix soong defaults order\n\nDefaults are prepended in order of their appearance. Move debug\ndefaults first.\n\nBug: 31098551\nTest: m test-art-host\nChange-Id: I9a64db34d0e398d336dac080c7234cad77b719ee\n"
    },
    {
      "commit": "3fec9ac0d5af1358d216eb2fdc2000ec0205f3f0",
      "tree": "f38d8d8aae51f53e7ee6b474f47597b784fc2316",
      "parents": [
        "0cfe19af3b7395658210ea6044a65c9811962a7a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 13 10:47:28 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 26 10:59:22 2016 -0700"
      },
      "message": "ART: Use libbase logging\n\nMove most of our logging infrastructure over to system/core/base.\nRetain VLOG.\n\nUsing unified Android infrastructure has two main advantages. First,\nit reduces the complexity/maintenance burden in ART. Second, it\nallows to detach logging for the cases where we do not want or need\na runtime, e.g., dexdump, the disassembler, etc. As a part of the\nlatter, libbase is also supported for all hosts (including Windows).\n\nFrom a developer viewpoint, there are minor behavior changes for the\nLOG statements (see above), but otherwise usage is the same. Explicit\nseverity enum items are in the android::base namespace now.\n\nBug: 31338270\nTest: m test-art-host\nChange-Id: I5abcb2f45f5b03d49951874c48544f72a283a91b\n"
    },
    {
      "commit": "c7376e0f8002d7838c3d69569028fbc9b91a38f3",
      "tree": "c325af4f653255d5957cd16463afbe880d5cdb0d",
      "parents": [
        "47b451546d1a5c0fbb5e3816373395762a736515"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Sep 08 12:52:18 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 12 16:29:02 2016 -0700"
      },
      "message": "Convert more of art to Android.bp\n\nConvert dex2oat, imgdiag, patchoat, and profman to Android.bp.\n\nTest: m -j test-art-host\nTest: mmma -j art\nChange-Id: If2acd47189e5a944732c2c00c2bf31265f887161\n"
    }
  ]
}
