)]}'
{
  "log": [
    {
      "commit": "3fae12960c2d411dff450fce95c096af0e8d74de",
      "tree": "5cc26dc33db8f391b3c7ab1fe24546b17f33d389",
      "parents": [
        "b7c640d364d32b79cb52d04750b063667a9a0c86"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 07 11:26:25 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jun 11 08:58:34 2019 +0000"
      },
      "message": "Move IntrusiveForwardList\u003c\u003e to libartbase.\n\nIt\u0027s generally useful, not just for the compiler.\n\nTest: m test-art-host-gtest\nChange-Id: I3ca742d93a0bca961d1b8b8209356747d2de08a0\n"
    },
    {
      "commit": "0dc93b1ba94460b0ae126dd4db335261165c74b7",
      "tree": "78b3afa099dce52a1eb39d6a9788d610b14a1f6b",
      "parents": [
        "9b81ac36e161fd993eab17b43b93a96e8c63b5cc"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 15 10:30:22 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 17 20:40:21 2019 +0000"
      },
      "message": "ART: Run bpfmt over ART\u0027s blueprint files\n\nTest: mmma art\nChange-Id: Ic85df4770c12ec02836c877b243d4aec234aaada\n"
    },
    {
      "commit": "077872d54347bccc93e44d8c26192457b19ce0c7",
      "tree": "f3256aa22fac418b73f9633a753d128939c8a017",
      "parents": [
        "2180d8e8d82874576017348a6d865ed629c77747"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Mar 06 11:00:52 2019 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon May 13 14:20:35 2019 +0000"
      },
      "message": "Allow APEX binaries to access fields and methods via JNI\n\nAdds a native stack check for method and field resolutions via JNI.\nThis is part of checking the Core Platform API surface. Code outside\nof APEXes shouldn\u0027t be accessing internals as those may change.\n\nThe native stack walk determines first caller outside of libart and\nchecks whether it\u0027s from an APEX module or other code. The caller\nlookup employs a cache of executable pages in shared objects to avoid\ncosts of dladdr when examining program counters.\n\nThe overhead of this additional check is typically 50-400ns on per\nfield/method resolution via JNI as measured on a blueline device (see\nb/124338141 for data).\n\nBug: 124338141\nTest: m art_libartartbase_tests_memory_type_table_test \u0026\u0026 \\\n  out/host/linux-x86/nativetest/art_libartbase_tests/memory_type_table_test\nTest: Boot and observe no core platform api warnings from opengl\n\n(cherry picked from commit 80e9f700c29b1bcaa4535051eda57a5026cc12ed)\n\nChange-Id: Ie2f7217cdcbfb324cd98d65856fa8bc9967dfd19\nMerged-In: Ie2f7217cdcbfb324cd98d65856fa8bc9967dfd19\n"
    },
    {
      "commit": "5515310c7e83f8bd11f575fba7439edbd3bea4d9",
      "tree": "0aba86d671561b2148fb6e83b7767ccc996f1e2c",
      "parents": [
        "cbe6d4aa61b19c24f5c54cc90543b5ae359b67ee"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed May 08 17:03:10 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 09 23:37:03 2019 +0000"
      },
      "message": "Try harder to support gtests with non-standard build config\n\nOne is able to set the location android builds to using the OUT_DIR\nenvironment variable and android supports having this be a symlink.\nOur gtests, however would fall over if you tried to run it using the\n\u0027m test-art-host-gtest\u0027 with anything other than OUT_DIR\u003dout and out\nas a real directory. If you broke this convention many tests would\nfail because they are unable to find ANDROID_HOST_OUT.\n\nThis makes everything a little nicer by making common_art_test try to\nfigure out what ANDROID_HOST_OUT should be using the test binaries\nlocation and commandline.\n\nTest: export OUT_DIR\u003dfast-out\n      ln -s /some/other/path fast-out\n      . build/envsetup.sh\n      lunch aosp_walleye-userdebug\n      m test-art-host-gtest\n\nChange-Id: I67cdba43ef3050afe394cd03b14a43d309d020e2\n"
    },
    {
      "commit": "cbe6d4aa61b19c24f5c54cc90543b5ae359b67ee",
      "tree": "c14927e22aa73c15426877f0967e0ddcefd9e75f",
      "parents": [
        "efdd1b0c818b9040b506c023d739e7ccd0714f47"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu May 09 10:29:52 2019 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu May 09 21:13:46 2019 +0100"
      },
      "message": "Fix double loading check for Darwin\n\nRename globals.cc to globals_unix.cc and fix-up in the blueprint file.\n\nThis fixes the build failure on Mac when running (hiddenapi) due to the\ndouble library loading check.\n\nTest: make -j12 PRODUCT-sdk-sdk sdk_repo (completes on OS X)\nBug: 132163727\n\n(cherry picked from commit 6a3c67e534313e0bc69ff5cd71e7197cefece9fb)\n\nMerged-In: I5b7392ac94398ac00c1e703895c639f0e6469141\nChange-Id: I5b7392ac94398ac00c1e703895c639f0e6469141\n"
    },
    {
      "commit": "7711c35fa603b86d520991c4e97ca297add81881",
      "tree": "ce476e232ecf0176c5c9bed81f1528a1c6801fab",
      "parents": [
        "39239870737e3669ff1f85475458e5f57ed79194"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Apr 10 17:50:12 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Apr 30 08:11:20 2019 +0000"
      },
      "message": "Fix debug/release dependencies on libartbase\n\nWe load both the debug and release build when running tests.\nThe different builds have different layout of some classes,\nwhich can currently result in random native heap corruptions.\n\nFix the build dependencies to avoid the double loading,\nand add runtime check to avoid it in the future again.\n\nTest: test.py -b --host --64\nTest: test.py -r --target -t 001-HelloWorld\nChange-Id: Ie62f91dc06209c91e25ba5f11c9d61243ac7579d\n"
    },
    {
      "commit": "d53f60658fb0d28279919cc856a55e4b6504dabe",
      "tree": "2e152d283254df61f7b18738a67e5fbce453c54b",
      "parents": [
        "fe1d952a9912bf597174dc636d0f87db06a8d925"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 22 14:55:21 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Mar 27 15:11:58 2019 +0000"
      },
      "message": "Partially disable building ART for host on Mac.\n\nBuilding ART for host on Mac is not currently needed.\n\nBuilding ART for target on Mac still works.\n\nThe main motivation is remove the custom elf.h from the code base.\n\nBug: 73344075\nTest: \"m -j40\" on Mac.\nChange-Id: I4b6f7aa7b291dcb6d751374ecf8d15f35877bd2e\n"
    },
    {
      "commit": "119733d87242414100df7b9eedb6d1672a03ead6",
      "tree": "19ba75bd42d3c94a4de0684ae66f4078da1546a6",
      "parents": [
        "8a64e773d4d1221166c6a8206315b450e448705a"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 30 15:14:41 2019 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jan 31 15:39:55 2019 +0000"
      },
      "message": "Revert \"Revert \"ART: introduce PALette abstraction layer\"\"\n\nThis reverts commit e6e01a0a00de80704ccb21c48d5d8bdee4470b77.\n\nBug:  122824298\nTest: art/test/testrunner/run_build_test_target.py -j50 art-test-javac\nTest: m out/target/common/obj/PACKAGING/hiddenapi-stub-flags.txt\nTest: frameworks/rs/build_rs.py\nChange-Id: If7b9ddca3daa80b75b3541abd283bf47d5b81118\n"
    },
    {
      "commit": "e6e01a0a00de80704ccb21c48d5d8bdee4470b77",
      "tree": "8f9cc651764686140accaadcfb8f77bf7572c24b",
      "parents": [
        "4b9d00aca9b025b545c9633b4605334c22fc4d2d"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 30 14:02:30 2019 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 30 14:02:30 2019 +0000"
      },
      "message": "Revert \"ART: introduce PALette abstraction layer\"\n\nThis reverts commit 4b9d00aca9b025b545c9633b4605334c22fc4d2d.\n\nReason for revert: breaks renderscript mac and run_host_tests in master.\n\nChange-Id: I6024894a384c65f3e7d81b9c5bba8ebe8ce1b420\n"
    },
    {
      "commit": "4b9d00aca9b025b545c9633b4605334c22fc4d2d",
      "tree": "7984bf247f908d145b7c6b48df99f3f0a80ae148",
      "parents": [
        "4ee4561f2153f3b0bc3be2e781488a97c73ca58e"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jan 03 17:04:02 2019 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 30 09:00:27 2019 +0000"
      },
      "message": "ART: introduce PALette abstraction layer\n\nThis change decouples direct dependencies on system libraries.\n\nBug: 122824298\nTest: art/test.py --host --64\nTest: art/test.py --target -j8\nTest: m -j100 \u0026 flashall -w \u0026 device boots\nTest: art/build/apex/runtests.sh\nChange-Id: Iae927ed9aaa228a941cd444cef04e6ec53955299\n"
    },
    {
      "commit": "8764dc3b3eda7f6f13ed7b584475503fe5bedd59",
      "tree": "e8f6e3a4a2596595ffdc8a517daaf37030482eae",
      "parents": [
        "49b74a8c685acfe43dd33e3f51a24c486388bee1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jan 07 15:20:12 2019 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 09 12:38:30 2019 -0800"
      },
      "message": "ART: Use iosfwd more\n\nUse iosfwd where an include of ostream is unnecessary. Also move\ncallee_save_type.h to runtime.\n\nBug: 119869270\nTest: mmma art\nChange-Id: Id8995d6f524e4c491eb6f57fdffb940cf35d291f\n"
    },
    {
      "commit": "9d9227ae2d8806446fa3e60870d0e8df5e5c9377",
      "tree": "adb174eac909e16705e95bb6e8b23759ebe96249",
      "parents": [
        "163a37ad5f2d0b16bdd32fb8964580991900049a"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Dec 19 12:32:50 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Jan 07 21:41:30 2019 +0000"
      },
      "message": "Build dexlist, dexlayout, and profman for Windows\n\nBug: 22322814\nTest: wine on linux on a large dex file.\nChange-Id: I93a89253799715de54e1c52213595b0749a5f47f\n"
    },
    {
      "commit": "10db8feb19c0d9e0383142b3d1a3c793de1c9453",
      "tree": "8b59078f2742c60f369b2f20a198aad2fad54566",
      "parents": [
        "5c030d3c25b958b8d3157d4cc7d807fa89786fec"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Jul 18 11:01:20 2018 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue Dec 18 21:27:49 2018 -0800"
      },
      "message": "Support Windows builds for libartbase/libdexfile\n\nEnable building key libraries for windows tools in the SDK.\n\nBug: 22322814\nTest: run dexdumps on a large APK under wine on Linux\nChange-Id: Ib7180f8385300244bf914e9ae1f993e869f71109\n"
    },
    {
      "commit": "18642a3970d57b91865234048329f9a2252e0cbc",
      "tree": "f4cdcdc5b5cbf5c0a65a9b716f4b9ad2d94a914d",
      "parents": [
        "9f27ffa9031431267ae59ee3469c853355811916"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Mon Dec 03 19:28:08 2018 +0000"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Wed Dec 05 00:15:09 2018 +0000"
      },
      "message": "Remove unused ICU4C headers in libartbase-art-gtest and libart-runtime-gtest\n\nBug: 117094880\nTest: m libartbase-art-gtest libart-runtime-gtest\nChange-Id: Iff46ce8ac9f12fb0021ae453624efe84df20a56a\n"
    },
    {
      "commit": "dcfa89bfc06a6c211bbb64fa81313eaf6454ab67",
      "tree": "4aaf6da88861029e387525957bf68796cf95648c",
      "parents": [
        "fd667d4165aefe51010e4fe3bd81b820ed9884ef"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Oct 31 11:04:10 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Nov 22 12:49:26 2018 +0000"
      },
      "message": "Rename and reorganize hiddenapi::ApiList\n\nChange values of ApiList flags to make them easier to extend in the\nfuture and unify naming across all components. Light greylist is now\njust \"Greylist\", dark greylist becomes \"GreylistMaxO\".\n\nNote that the version code in \"GreylistMaxO\" must also include any\nmaintenance releases, i.e. entries on \"GreylistMaxO\" are accessible\nto apps with targetSdkVersion\u003c\u003d27 (O MR1).\n\nTest: m, phone boots\nTest: m test-art\nChange-Id: I9622e0646eb265008a8bb2652270876ae95dac84\n"
    },
    {
      "commit": "435516229e5f511d1ac4498da58372c8fece35b7",
      "tree": "e510804ebf5b8f1786a7c377e1cef9fb5bb11d90",
      "parents": [
        "e5ed5bafc97e65e8d2b60ddaca48754a50ca5692"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Nov 09 15:14:54 2018 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Nov 13 15:15:37 2018 +0000"
      },
      "message": "Revert^2 \"Link lzma and lz4 compression libs statically into libartbase and use that\"\n\nThis reverts commit 9960cbc0ff98978a9b32f14ae77d8ddb3c6908d9.\n\nReason for revert: This is the same as aosp/815019 except version_script is\nexcluded on Darwin. I think it should pass the mac targets, but haven\u0027t\ntested.\n\nTest: art/tools/buildbot-build.sh {--host,--target}\nTest: art/test/testrunner/run_build_test_target.py art-asan (not on Darwin)\nTest: python frameworks/rs/build_rs.py (on Darwin, thanks Orion!)\nBug: 118374951\nChange-Id: I7a362381f6d891c6dc1304e5fcf6f8851aa67d7c\n"
    },
    {
      "commit": "9960cbc0ff98978a9b32f14ae77d8ddb3c6908d9",
      "tree": "46602632efd61e7d1330f52e4ec0c7404ae9bad0",
      "parents": [
        "21579bec04bea8a9a6ca65ad5493016d1fcb9dcc"
      ],
      "author": {
        "name": "Annie Meng",
        "email": "anniemeng@google.com",
        "time": "Thu Nov 08 11:44:19 2018 +0000"
      },
      "committer": {
        "name": "Annie Meng",
        "email": "anniemeng@google.com",
        "time": "Thu Nov 08 11:44:19 2018 +0000"
      },
      "message": "Revert \"Link lzma and lz4 compression libs statically into libartbase and use that\"\n\nThis reverts commit 21579bec04bea8a9a6ca65ad5493016d1fcb9dcc.\n\nReason for revert: Build failure\n\nChange-Id: Ia941425b9462f478be78058b3d63a30106421de6\n"
    },
    {
      "commit": "21579bec04bea8a9a6ca65ad5493016d1fcb9dcc",
      "tree": "b33204570077025d4af6d2cb82dc8fa84e67b0b9",
      "parents": [
        "bf983214f7488a7923788356d1a441f518073b23"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Nov 06 13:56:50 2018 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 07 20:44:24 2018 +0000"
      },
      "message": "Link lzma and lz4 compression libs statically into libartbase and use that\ninstead.\n\nAll targets using these compression libs already use libartbase. This grows\nlibartbase VM size by 240K (219%) on 64 bit, but only these targets pack on\nextra bloat: dexanalyze, dexdump2, dexlayout(d), dexlist.\n\nTest: art/tools/buildbot-build.sh {--host,--target}\nTest: art/test/testrunner/run_build_test_target.py art-asan\nBug: 118374951\nChange-Id: I16d67d99897ec0a35e1467ab561bb82ee2449983\n"
    },
    {
      "commit": "123333a65e8d2593232c20c6933b60fbb7737ddd",
      "tree": "0714a05eea12a18f0267875d02e4e5aa7c24227a",
      "parents": [
        "eead626e0567d11ed0402e9586a99ca4a1d023eb"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Oct 30 14:19:58 2018 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Oct 30 16:03:04 2018 +0000"
      },
      "message": "Remove dependencies on libutils.\n\nThe libutils dependency of libziparchive was removed in aosp/796795.\n\nTest: art/test.py --host --64 --optimizing\nTest: env ART_TEST_NO_SYNC\u003dtrue make -j4 test-art-target-gtest\nTest: art/test/testrunner/testrunner.py -j4 --target --64 --optimizing\nTest: art/test/testrunner/run_build_test_target.py art-asan (build only)\nBug: 118374951\nChange-Id: I58cdf7a39558c87e48bdc1274d6c6ddd36301d8d\n"
    },
    {
      "commit": "65ed42a3d3a7bf1a42e759ed53c16b179f54813a",
      "tree": "77930ed648604f50fe6a46059f4cc659b443ddb7",
      "parents": [
        "8a94003e66f337fe84870ff68d3f6f234555cf06"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 30 12:33:04 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 30 12:33:04 2018 +0000"
      },
      "message": "Revert \"Link compression libs statically into libartbase and use those everywhere.\"\n\nThis reverts commit 8a94003e66f337fe84870ff68d3f6f234555cf06.\n\nReason for revert: Breaks asan and dex2oats.\n\nChange-Id: Idea760bbd2b25078ecd1ee5a39da94f6b74432a7\nbug: 118374951\n"
    },
    {
      "commit": "8a94003e66f337fe84870ff68d3f6f234555cf06",
      "tree": "0271729b2571c969238786d21a45ce05120b96e0",
      "parents": [
        "ce2a00daa92670a4fc01ef59fdbc3769a846f69c"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Oct 24 15:02:55 2018 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Oct 29 21:20:43 2018 +0000"
      },
      "message": "Link compression libs statically into libartbase and use those everywhere.\n\nAll targets using these compression libs already use libartbase. This grows\nlibartbase VM size by 314K on 64 bit, but only these targets pack on the\nextra the bloat of liblz4 (84K) and liblzma (174K): dexanalyze, dexdump2,\ndexlayout(d), dexlist. libbacktrace and libunwindstack gain liblz4 only.\n\nOn the other hand this gets rid of static instances in several shared libs.\n\nTest: mmma art\nTest: art/test.py --host --64 --optimizing\nTest: env ART_TEST_NO_SYNC\u003dtrue make -j4 test-art-target-gtest\nTest: art/test/testrunner/testrunner.py -j4 --target --64 --optimizing\nBug: 118374951\nChange-Id: Ida103546d2d16ef892d09e9ca3a0ae5e3b42a541\n"
    },
    {
      "commit": "c2efd4da88c1eeeb51af1ebc4a1321918c3243e5",
      "tree": "211521ea526432bb4da3c5f83efafae1d3f1ec27",
      "parents": [
        "f4fd65e393fe60f17e22ee7823f8dce4594c053d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 13:14:55 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 13:15:33 2018 -0700"
      },
      "message": "Remove libcutils socket_peer_is_trusted dependency.\n\nART is the only caller of this code, and it\u0027s trivially rewritten to\njust use NDK API.\n\nBug: N/A\nTest: boots\nChange-Id: I679a0f7e7ba48c6660c69629af180f04c4532c62\n"
    },
    {
      "commit": "563ada2e5570d947ee2b96e3651ded3692be33be",
      "tree": "649679d2e1249053a98237130a9b944181aa21ef",
      "parents": [
        "a93364cbd4ebf4b8c309c4c18f30e16c8f9a8997"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Sep 04 11:28:31 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Sep 19 16:58:49 2018 +0100"
      },
      "message": "ART: Add wrappers for membarrier and memfd_create()\n\nAdds art::membarrer() and art::memfd_create() as wrappers around the\nsimilarly named linux syscalls. These wrappers can fail due to missing\nOS support so code that uses them needs to deal with this.\n\nUpdates the JIT code cache to use art::membarrer().\n\nBug: 111199492\nTest: art/test.py --host\nChange-Id: I122746e6293e7201077e834d8a5ed7bbba45e283\n"
    },
    {
      "commit": "ec5ed06b59a3b85e7f98ffc50e0539e5a77d1ba1",
      "tree": "c09b7debef2c19d2ea79488d9d3357b49020da26",
      "parents": [
        "9c568f10f68cdbeb285e41cb4538c06f5e90c1b2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jan 26 16:20:02 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Sep 06 14:00:25 2018 -0700"
      },
      "message": "ART: Refactor static include list\n\nCreate default objects. This allows chaining the sets, and also\ncan separate between host and target.\n\nTest: mmma art\nChange-Id: I68a80068d442b20c6430e9e576df7f74375e7e49\n"
    },
    {
      "commit": "882ed6bcccf60e55b61aa1860d9a15a7e92af959",
      "tree": "98df8864025233a5ab2de61e27789308aadd969d",
      "parents": [
        "2b40dd35c65ad644d448611750f5b577e97594a1"
      ],
      "author": {
        "name": "Steve Austin",
        "email": "steveaustin@google.com",
        "time": "Fri Jun 08 11:40:38 2018 -0700"
      },
      "committer": {
        "name": "Steve Austin",
        "email": "steveaustin@google.com",
        "time": "Thu Jun 21 16:22:12 2018 -0700"
      },
      "message": "Add low_4gb MemMap and remove ashmem support for Fuchsia\n\nTest: Tested with Fuchsia build system go/fuchsia-android\nChange-Id: I61b09614d6f4d24bf9c975baa1f34c6b5735ca3d\n"
    },
    {
      "commit": "052f8ca1776ed7deb4f036498edd69eb6a1b942f",
      "tree": "ae993f1a634b258e124df12663a1d24859917b05",
      "parents": [
        "1c515f0b9d621869a2e67ce5e0f5532d0f2f323a"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Apr 26 15:42:54 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon May 21 20:28:41 2018 +0100"
      },
      "message": "Rewrite stackmap encoding code.\n\nRemove most of the code related to handling of bit encodings.\nThe design is still same; the encodings are just more implicit.\nMost of the complexity is replaced with a single BitTable class,\nwhich is a generic purpose table of tightly bit-packed integers.\nIt has its own header which stores the bit-encoding of columns,\nand that removes the need to handle the encodings explicitly.\n\nOther classes, like StackMap, are accessors into the BitTable,\nwith named getter methods for the individual columns.\n\nThis CL saves ~1% of .oat file size (~4% of stackmap size).\n\nTest: test-art-host-gtest\nChange-Id: I7e92683753b0cc376300e3b23d892feac3670890\n"
    },
    {
      "commit": "68fefacc54b9d918a5b17b99ac7e72421d1b1f94",
      "tree": "39cccda109a63153ca363e592b5570b46e6dece9",
      "parents": [
        "b2683cb0ae69c9a8a0ba654f50fa743a9117171c"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu May 10 17:49:33 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon May 21 09:28:22 2018 +0000"
      },
      "message": "Move and rewrite bit loading/storing methods.\n\nMove bit loading/storing methods to BitMemoryRegion and rewrite them.\n\nEnforce natural alignment of the data pointer in BitMemoryRegion.\nThis probably would not be reasonable in MemoryRegion, but it is\nfine here since the BitMemoryRegion already has extra bit offset.\nThe alignment makes it possible to simplify and optimize the methods.\n\nThis makes the stackmap reading code 33% faster.\n(measured by the time needed to verify all stackmap fields on ARM).\n\nTest: m -j40 test-art-host-gtest\nChange-Id: I00be8052969a6056b262df4cd2066ffd86043196\n"
    },
    {
      "commit": "933d6e72ed48d1e5521cd8307678e604a7541622",
      "tree": "7057a24c9ebe51d3af43c4e6b4154d85e3039cc1",
      "parents": [
        "04d81ff75ae339c082b1ecbea38ba34f873059cb",
        "c3e1895e7443c61b77f5c51cd2d18819cade57c1"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon May 14 22:26:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 14 22:26:33 2018 +0000"
      },
      "message": "Merge \"Prepare to move ArtDexFileLoader to libdexfile\""
    },
    {
      "commit": "c3e1895e7443c61b77f5c51cd2d18819cade57c1",
      "tree": "bc2705ee47091e37d683cafa020f53190708b089",
      "parents": [
        "6623bc389c43efc87668ce7465e19b195e765e22"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri May 11 16:59:31 2018 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri May 11 17:40:56 2018 -0700"
      },
      "message": "Prepare to move ArtDexFileLoader to libdexfile\n\nMove file_utils and friends to libartbase so that ArtDexFileLoader can\nbe moved to libdexfile.  This will clean up duplication and complexity\nwith zip file handling.\n\nBug: 78652467\nTest: make -j 40 test-art-host-gtest\nChange-Id: Ia5eac1f93caf3fa918b4b48803cbfd842035e29e\n"
    },
    {
      "commit": "2300b2d45aba525a163688e5e8faa7448dbfcaef",
      "tree": "734e02b52a162b28f17e637320ffa08a555a8115",
      "parents": [
        "42805fa0afeefbc4fd4e3339940582bdda9c77bd"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu May 10 14:20:10 2018 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri May 11 16:48:36 2018 -0700"
      },
      "message": "Remove MemMap dependency on libbacktrace\n\nRemove the dependency on BacktraceMap/libbacktrace for MemMap.\nThe removed code was entirely debug, but we may want to add back\nsome of it to facilitate test debugging.\n\nThis removes the dependency from libartbase on libbacktrace and\nmakes it possible to use libartbase from libdexflie without\ncausing a cyclic dependency.  This facilitates moving\nArtDexFileLoader and some other code into libartbase, and gets\nrid of some debt accumulated during all these refactorings.\n\nBug: 78652467\nTest: make -j 50 checkbuild\nChange-Id: Ic575a764817ba660b851f7d5b5c60e43f8356fea\n"
    },
    {
      "commit": "d5f8de8bc61160bb2cecdcc0f5aa54d151b6176a",
      "tree": "efecd6d3dffd3a1d768b87a111d9e60335d9108c",
      "parents": [
        "9417b6b81393253a56b1b9bb4c7d8a2a2966707e"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Apr 27 14:12:03 2018 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue May 01 16:23:42 2018 -0700"
      },
      "message": "Add CommonArtTest\n\nAdd a test framework that does not start up a Runtime object.\n\nBug: 78651010\nTest: make -j 40 test-art-host\nChange-Id: I6c8af384af5fe1289c6cf137635e94934ac3795d\n"
    },
    {
      "commit": "74b9994598f497ee3c6a72bbacad9926527f67f5",
      "tree": "b876a06735c5e729da62a42e3aa5bd4d79a6ff32",
      "parents": [
        "8a78f81a16a7c8225b48bf634b67f5697f72e15f",
        "79e2607ab50163bfdc283f4a49decec26a216df5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 13 17:02:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 13 17:02:21 2018 +0000"
      },
      "message": "Merge \"Move profile dependent modules to libartbase\""
    },
    {
      "commit": "79e2607ab50163bfdc283f4a49decec26a216df5",
      "tree": "0cdb2c65412b64a55ddf1a486ab3d961a0301a3e",
      "parents": [
        "b4b91460b2d01d36ddcb7d55111ccd8faf390c2a"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Apr 06 17:58:50 2018 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Apr 13 08:29:30 2018 -0700"
      },
      "message": "Move profile dependent modules to libartbase\n\nMove mem_map and zip_archive to libartbase.  This should be the last two\nremaining modules that profile_compilation_info is dependent upon.\n\nBug: 22322814\nTest: make -j 50 checkbuild\n      make and boot a device\n\nChange-Id: I136ee23e426aa8ec7441e3d3f1978f1bebf4b562\n"
    },
    {
      "commit": "9c4a015cf01989597fd899011dba310b704dacaa",
      "tree": "17101dd177beb28c1d28c8eddab645bc7d1af984",
      "parents": [
        "6485701497edf2fd4e5296c3715929ad44ea9752"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Apr 05 12:23:54 2018 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Apr 09 23:30:08 2018 +0000"
      },
      "message": "Move more runtime code to libartbase, libdexfile\n\nMove some code that logically belongs to libartbase or libdexfile to\nthose places respectively.\n\nBug: 22322814\nTest: make -j 50 checkbuild\nChange-Id: Idfded5d24b40d8587011681e6235b6672846da19\n"
    },
    {
      "commit": "1ce2b3b76d121a765212d69399241843951973ae",
      "tree": "6f2bb0191c869e79891df3151d6faba3a297b9a8",
      "parents": [
        "281c99864f635ef4fd005dba4ba0c750cb9a6143"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Apr 05 11:02:03 2018 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Apr 05 11:07:59 2018 -0700"
      },
      "message": "Move remaining runtime/base stuff to libartbase\n\nMove the remainder of the Arena stuff, plus dumpable and\nruntime/*memory_region* to libartbase.  More preparation to build\nprofiling library.\n\nBug: 22322814\nTest: make -j 50 checkbuild\nChange-Id: Iaf26d310c89bc58846553281576c18102f5e4122\n"
    },
    {
      "commit": "c431b9dc4b23cc950eb313695258df5d89f53b22",
      "tree": "422273559c3ae52caff0c6b1cf1a62a8312f0e26",
      "parents": [
        "f46f46cf5bd32788d5252b7107628a66594a5e98"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Mar 02 12:01:51 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Mar 05 13:58:20 2018 -0800"
      },
      "message": "Move most of runtime/base to libartbase/base\n\nEnforce the layering that code in runtime/base should not depend on\nruntime by separating it into libartbase.  Some of the code in\nruntime/base depends on the Runtime class, so it cannot be moved yet.\nAlso, some of the tests depend on CommonRuntimeTest, which itself needs\nto be factored (in a subsequent CL).\n\nBug: 22322814\nTest: make -j 50 checkbuild\n      make -j 50 test-art-host\n\nChange-Id: I8b096c1e2542f829eb456b4b057c71421b77d7e2\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"
    }
  ]
}
