)]}'
{
  "log": [
    {
      "commit": "f3c52b42a035902245d00a619fed0275afb063d2",
      "tree": "c46dab07826be55e9ca92ab301eed586c2f307ca",
      "parents": [
        "b360bff818ad0bf59668cd2bebaaeeaa8a3b5dfe"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 17 17:32:12 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 21 17:09:44 2017 +0000"
      },
      "message": "Fill Class and String .bss slots in runtime.\n\nShift the responsibility for filling Class and String .bss\nslots from compiled code to runtime. This reduces the size\nof the compiled code.\n\nMake oatdump list .bss slot mappings (ArtMethod, Class and\nString) for each dex file.\n\naosp_taimen-userdebug boot image size:\n  - before:\n    arm boot*.oat: 36534524\n    arm64 boot*.oat: 42723256\n  - after:\n    arm boot*.oat: 36431448 (-101KiB, -0.3%)\n    arm64 boot*.oat: 42645016 (-76KiB, -0.2%)\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --optimizing\nTest: m dump-oat, manually inspect output.\nBug: 65737953\nChange-Id: I1330d070307410107e12c309d4c7f8121baba83c\n"
    },
    {
      "commit": "238e8fcd1d37ef75b85b0a84303d70776fe64495",
      "tree": "ae9e770a0db2fd09a6914f4f2dcf4e98bd3041e6",
      "parents": [
        "f24dfb082abc4715024fe7d5e80fdba6b4e08ba2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 01 17:10:10 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 01 21:08:29 2017 -0700"
      },
      "message": "ART: Clean up global includes - zlib\n\nRemove zlib from the ART-global includes.\n\nTest: mmma art\nChange-Id: Ib5c12d46aae9cc1288c7a4f2f7e0f60444f2c6e0\n"
    },
    {
      "commit": "f24dfb082abc4715024fe7d5e80fdba6b4e08ba2",
      "tree": "85536b9259695ac4360261a0b03a4c7c1ea589c0",
      "parents": [
        "fdb7a61597bd3e836d43d78dd744719bf92b17a1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 01 15:41:25 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 01 21:07:27 2017 -0700"
      },
      "message": "ART: Clean up global includes - lz4\n\nRemove lz4 from the ART-global includes.\n\nTest: mmma art\nChange-Id: Ieb28085e9763631a723799428a77d02df0ba3c78\n"
    },
    {
      "commit": "097f34cc09caf46945ec17e198f57ac9c156e904",
      "tree": "2f478bcc58ac21017431505ca87e83f4606355b4",
      "parents": [
        "42e482f0615bd935d1426a749a413be2c3f79114"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 23 08:57:51 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 06 13:22:08 2017 -0700"
      },
      "message": "ART: Use CmdlineParser in dex2oat\n\nRefactor dex2oat and the compiler to use the cmdline parser. In\nan effort to standardize command-line parsing and make it easier\nto add new properties in a principled manner.\n\nTest: m test-art-host\nChange-Id: Ia077a56234dbf579d7ca3430fef325b57aa06333\n"
    },
    {
      "commit": "2ca278036432eefbdbf39502dfcfb7e38a54332c",
      "tree": "8aa7ab585414f2b54186ee4285f2435be90de335",
      "parents": [
        "9389ae7309180f4dccc3c34e26798ed428f0d054"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Sep 27 14:57:43 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Sep 27 15:11:33 2017 -0700"
      },
      "message": "Run bpfmt\n\ncd art; find . -name \u0027*.bp\u0027 | xargs bpfmt -w\n\nTest: mmma art\nChange-Id: Iec406b734180313b98a58b99a776738772e63cc1\n"
    },
    {
      "commit": "9389ae7309180f4dccc3c34e26798ed428f0d054",
      "tree": "d8ff0d871506ad2559c505b92495b1f5125fc4f6",
      "parents": [
        "350546494d6964daee2b9236820b7f85b88dfd59"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Sep 27 11:58:43 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Sep 27 15:11:33 2017 -0700"
      },
      "message": "Simplify Android.bp files\n\nRemove clang: true, it\u0027s the default.\n\nRemove target.android.shared_libs \"libdl\", since it\u0027s already part of\nthe system_shared_libs list.\n\nRemove host_ldlibs, since -ldl and -lpthread are automatically added on\nDarwin and Linux. -lrt is automatically added on Linux.\n\nTest: mmma art\nChange-Id: I18aa6aa5b49cad31caf6820b1974057ad14a2798\n"
    },
    {
      "commit": "7452797678c4345d4a9e65b03e00af703c2c5fe0",
      "tree": "fd23d118a6317737a692402a648217418c3d7b99",
      "parents": [
        "3c683150bcf2f1cabbe2e5f9d10d8c670b67fb7e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 29 15:57:32 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Sep 20 10:58:42 2017 +0100"
      },
      "message": "Refactor linker files from compiler/ to dex2oat/.\n\nThis shifts some code from the libart-compiler.so to dex2oat\nand reduces memory needed for JIT. We also avoid loading the\nlibart-dexlayout.so for JIT but the memory savings are\nminimal (one shared clean page, two shared dirty pages and\nsome per-app kernel mmap data) as the code has never been\nneeded in memory by JIT.\n\naosp_angler-userdebug file sizes (stripped):\n  lib64/libart-compiler.so: 2989112 -\u003e 2671888 (-310KiB)\n  lib/libart-compiler.so: 2160816 -\u003e 1939276 (-216KiB)\n  bin/dex2oat: 141868 -\u003e 368808 (+222KiB)\nLOAD/executable elf mapping sizes:\n  lib64/libart-compiler.so: 2866308 -\u003e 2555500 (-304KiB)\n  lib/libart-compiler.so: 2050960 -\u003e 1834836 (-211KiB)\n  bin/dex2oat: 129316 -\u003e 345916 (+212KiB)\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nTest: cd art/; mma; cd -\nChange-Id: If62f02847a6cbb208eaf7e1f3e91af4663fa4a5f\n"
    },
    {
      "commit": "3157fc26d96951ff4acfb4feb4597e74a92da2a7",
      "tree": "93c3a03a8eae4fc9f430531f25d8be3d4d8b5af7",
      "parents": [
        "27bd4dd81962b0e59df9318ae8efc83df99ebe0a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 23 09:43:46 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 23 16:06:00 2017 -0700"
      },
      "message": "ART: Move cmdline parser to header library\n\nExpress the cmdline parser as a header library.\n\nTODO: Express the libart dependency correctly.\n\nTest: m\nChange-Id: I9e90029d047ab0d75a455a2361d5213a8fa6f361\n"
    },
    {
      "commit": "a46d0ab465ae854cb00be61bf7ded7c44e3bdfa3",
      "tree": "4e9679c24748b1870be689dbac2ea59e192d6a2e",
      "parents": [
        "194cf5f7db9762c17a0f2c91308cb060db08f571"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 24 11:35:21 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 25 09:06:01 2017 -0700"
      },
      "message": "ART: Allow dex2oat sanitization\n\nReverts commit c2f0474b90ee62fce1e538bfbfde4a609885b258.\nReverts commit 07407cd082033b72c953cbef37feb98cbd8a1b61.\n\nThe original commit was made when builds were not preopted by\ndefault, so that dex2oat was speed-compiling everything on first\nboot.\n\nBug: 22233158\nBug: 29188876\nTest: m\nTest: SANITIZE_TARGET\u003daddress m\nTest: First boot is acceptable (tested on Pixel)\nChange-Id: I52a334c7fe927f78bf8049208e5654e0aa86dbc9\n"
    },
    {
      "commit": "f70fe3d0b0b29c955a4f7310beae1cfb926ca5c7",
      "tree": "d69a44ce49c1745c2c2e08680915c7a1ce587693",
      "parents": [
        "7888b59b4542e15dd061047e4cb34f795cc2354c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 21 15:24:02 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 22 11:11:50 2017 -0700"
      },
      "message": "Add dex2oat support for profile based image creation\n\nAllow creating a boot image with only a profile without requiring\nany of --compiled-classes, --compiled-methods, or --image-classes.\n\nTo do so, you need to pass --profile-file and\n--compiler-filter\u003dspeed-profile.\n\nAdded a test dex2oat_image_test to verify behavior. This test covers:\n--compiled-classes\n--compiled-methods\n--image-classes\n--profile-file\n\nTest: test-art-host-gtest-dex2oat_image_test\n\nBug: 37966211\n\nChange-Id: I36d41b1c6e6560e6b3494b1df7024a4450ed0c0e\n"
    },
    {
      "commit": "f788297b28e0c91945ae5f4d41f987514ce45e6f",
      "tree": "16ffe0e331e6ffe40d28a9213cd6a794bcf11133",
      "parents": [
        "7b5659113309e8db2558ae72870b67ebdeb7233c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 20 16:35:24 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 20 16:35:24 2017 -0700"
      },
      "message": "ART: Add dex2oat return code for runtime failure\n\nAdd a return code for failure to create a runtime. Add a test.\n\nBug: 36336122\nTest: m test-art-host-gtest-dex2oat_test\nChange-Id: I17d48a6052ead7a138d77c87832968a7294c3593\n"
    },
    {
      "commit": "7b5659113309e8db2558ae72870b67ebdeb7233c",
      "tree": "e984d03b5ee4aa60df0880b4982c2f4e71f50a96",
      "parents": [
        "46ef4a6f7f59f65c77ef99d4a8d9fcd6d6d3ef0b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 20 15:48:52 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 20 15:48:52 2017 -0700"
      },
      "message": "ART: Add dex2oat return codes\n\nRefactor exit codes for dex2oat and export them. In preparation for\ninstalld usage.\n\nBug: 36336122\nTest: m test-art-host\nChange-Id: I90bc49128886719f7595105ecc40405ddf821850\n"
    },
    {
      "commit": "608f2ce4b9870354079b9d63d40363914889f01a",
      "tree": "8b09e660646a63296b76d83877b725fdce7e3b56",
      "parents": [
        "ea7c62983beec6a5a2a6676cc910a436b20ae92c"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Oct 19 11:17:11 2016 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Nov 22 09:12:14 2016 -0800"
      },
      "message": "Add new --layout-profile compiler-filter for dex2oat.\n\nNew compiler filter makes dex2oat call into dexlayout.\nAdded basic test for --layout-profile filter to make sure dex2oat runs\nto completion and file is valid. Contests of file are not checked.\n\nTest: mm test-art-host-gtest-dexlayout_test\nBug: 29921113\nChange-Id: I4bd0dea3d3f1284c155d1d9dea80a48062e67770\n"
    },
    {
      "commit": "07407cd082033b72c953cbef37feb98cbd8a1b61",
      "tree": "16e3d89b4bc368db9cd840d715695f7fe1961bf1",
      "parents": [
        "d1224dce59eb0019507e41da5e10f12dda66bee4"
      ],
      "author": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Thu Sep 29 15:05:51 2016 -0700"
      },
      "committer": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Thu Sep 29 15:17:26 2016 -0700"
      },
      "message": "Set coverage to false for dex2oat.\n\ndex2oat explicitly sets address to false when SANITIZE_TARGET is\nnon-empty, in order to prevent it being compiled with ASAN. This CL also\nsets coverage to false to prevent build errors when\nSANITIZE_TARGET\u003d\"address coverage\" (because coverage currently does not\nwork without address).\n\nBug: 29188876\nTest: SANITIZE_TARGET\u003d\"address coverage\" builds without error\nChange-Id: I0faeb7fab76678b923af732235188e19e08ea90c\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": "afd3c9ea7f238afebd5073c1143d3c832ab10a71",
      "tree": "ea95e66ac119b6f86f637ebbeba22e956d3a4c4e",
      "parents": [
        "be3a3ee02f148345ba6e1a0361532a3f7e8c0002"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Sep 16 13:47:21 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 19 10:10:42 2016 -0700"
      },
      "message": "Convert art runtests to Android.bp\n\nBuild the art runtest libraries with Android.bp.  The host test\nlibraries move from out/host/linux-x86/lib[64] to\nout/host/linux-x86/nativetest[64], and the device test libraires from\n/data/artest/${TARGET_ARCH} to /data/nativetest[64]/art/${TARGET_ARCH},\nwhich requires adding nativetest to the library search path, and fixing\nsome tests to support multiple entries in library search paths.\n\nTest: m -j test-art-host\nTest: m -j test-art-target\nChange-Id: I2118a3292f22f275954ddd7cdd4e12287fe47808\n"
    },
    {
      "commit": "6e95dd56e43b3a29fb8360bd94e31cd2eaab1d3d",
      "tree": "c536c5588f8a96f4559ca00921c7852a82558ea5",
      "parents": [
        "6b22aa5106e60545119b9eeaceaa9f87ee597305"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 12 15:37:10 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Sep 15 12:27:06 2016 -0700"
      },
      "message": "Convert art gtests to Android.bp\n\nThis splits the compilation and running of the art gtests into two\nseparate locations.  The tests are now compiled in multiple Android.bp\nmodules in each directory.  art.go collects the installed locations of\neach test and exports it as make variables.  art/build/Android.gtest.mk\nconverts the list into the rules to run the tests.\n\nThis has a few changes in behavior:\n  - The rules to build tests are now always defined, and will build as\n    part of mmma art or make checkbuild.\n  - Host tests are no longer installed into out/host/linux-x86/bin, they\n    are in out/host/linux-x86/nativetest[64]/\u003cmodule name\u003e/\u003ctest name\u003e\n  - Target tests are now in\n    /data/nativetest[64]/art/\u003carch\u003e/\u003cmodule name\u003e/\u003ctest name\u003e\n\nTest: mmma -j art\nTest: m -j test-art-host\nTest: m -j test-art-target\nChange-Id: Iabcd99d43890e6b693688422b07a283c3226a496\n"
    },
    {
      "commit": "afa7e456388994ebbb9debd9dd89af3fbe964826",
      "tree": "69c31579f4440d9e8cffbe63b9975bff8a8c8ea2",
      "parents": [
        "b180b893b5acb5c55251522465f9d20ed45c3b5a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 14 10:26:56 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 14 10:29:40 2016 +0100"
      },
      "message": "Make dex2oat art_cc_binary instead of just cc_binary.\n\nThis to get customized properties like CUSTOM_TARGET_LINKER.\n\nChange-Id: Ifa25c52faa40fa6da40b614f664ab24ac1b7356a\n"
    },
    {
      "commit": "2cfc4ba357f227c81ed8c091212e7e083a72c2dc",
      "tree": "bd5cc608b4a19b72ea20ebc04fab169821a7b2d5",
      "parents": [
        "aa63aa2a2159236cdd4199161a1644b993a81a11"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 13 16:55:55 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 13 16:58:02 2016 -0700"
      },
      "message": "Fix mac build\n\n-z muldefs doesn\u0027t exist on mac.  It is only necessary for dex2oats,\nwhich doesn\u0027t build on mac, move it from the defaults to the dex2oats\ntargets.\n\nChange-Id: I47f35d159fc0602f54412e12ef44798ca4afa4de\n"
    },
    {
      "commit": "aa63aa2a2159236cdd4199161a1644b993a81a11",
      "tree": "58e8c69661f5b7b98c8aae73973c2ad59e8107a7",
      "parents": [
        "54ec35e4295b83939d7213d8fc73b065c6a2c1d1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 13 14:07:00 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 13 14:07:00 2016 -0700"
      },
      "message": "Fix mac build\n\nChange-Id: Ic3e74f96645384c0cec3aa5156f4ead8912f3be2\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"
    }
  ]
}
