)]}'
{
  "log": [
    {
      "commit": "1979c64214bd505c013d573bc8729ee94f7bdea5",
      "tree": "9b4b2298b8b9d15cd6ca0a1e06e3771f3db2163f",
      "parents": [
        "5a87e19e4bf1b6719c2aad3effde1b38d2c3085c"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Apr 26 14:41:18 2018 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Apr 26 15:08:49 2018 -0700"
      },
      "message": "Clean up include paths\n\nRemove runtime/globals.h and make clients point to the right globals.h\n(libartbase/base/globals.h).  Also make within-libartbase includes\nrelative rather than using base/, etc.\n\nBug: 22322814\nTest: make -j 40 checkbuild\nChange-Id: I99de63fc851d48946ab401e2369de944419041c7\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": "33bff25bcd7a02d35c54f63740eadb1a4833fc92",
      "tree": "553db4f60878acf2a0fa7036a739d406df9a29b7",
      "parents": [
        "321b3ca9a36d769283c64d4bdee0798db80af524"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 01 14:35:42 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 02 10:11:02 2017 +0000"
      },
      "message": "ART: Make InstructionSet an enum class and add kLast.\n\nAdding InstructionSet::kLast shall make it easier to encode\nthe InstructionSet in fewer bits using BitField\u003c\u003e. However,\nintroducing `kLast` into the `art` namespace is not a good\nidea, so we change the InstructionSet to an enum class.\nThis also uncovered a case of InstructionSet::kNone being\nerroneously used instead of vixl32::Condition::None(), so\nit\u0027s good to remove `kNone` from the `art` namespace.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: I6fa6168dfba4ed6da86d021a69c80224f09997a6\n"
    },
    {
      "commit": "e764d2e50c544c2cb98ee61a15d613161ac6bd17",
      "tree": "112aa7ca459d2edb4f800897060a2407fcc622c7",
      "parents": [
        "ca6fff898afcb62491458ae8bcd428bfb3043da1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 05 14:35:55 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 09 10:39:22 2017 +0100"
      },
      "message": "Use ScopedArenaAllocator for register allocation.\n\nMemory needed to compile the two most expensive methods for\naosp_angler-userdebug boot image:\n  BatteryStats.dumpCheckinLocked() : 25.1MiB -\u003e 21.1MiB\n  BatteryStats.dumpLocked(): 49.6MiB -\u003e 42.0MiB\nThis is because all the memory previously used by Scheduler\nis reused by the register allocator; the register allocator\nhas a higher peak usage of the ArenaStack.\n\nAnd continue the \"arena\"-\u003e\"allocator\" renaming.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nBug: 64312607\nChange-Id: Idfd79a9901552b5147ec0bf591cb38120de86b01\n"
    },
    {
      "commit": "27af937fb4356ed34f175b14c4425fc95f5f8a19",
      "tree": "4eda35eeb1e1fe26d3125f0be895de5d2d61d771",
      "parents": [
        "f4546792385ece9dd0ba956a6c9580027cfc8fdd"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Wed Mar 15 15:31:34 2017 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Thu Mar 23 09:44:18 2017 +0100"
      },
      "message": "MIPS64: Check for MSA presence in each MSA instruction\n\nTest: mma test-art-host-gtest\n\nChange-Id: I123fe1e33de13af6a2b2a76f37f7ad23004a81c0\n"
    },
    {
      "commit": "6287c238a56ef32f6614484eb8ec9bcc9b726a8e",
      "tree": "092426b7fd3202eb00e5cbe80b18b96fc5ddf0c7",
      "parents": [
        "8662aaaae4b63b02b2762673873b90b433b2eb2d"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Tue Nov 29 13:31:33 2016 +0000"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 29 10:39:10 2016 -0800"
      },
      "message": "ARM: Fix JNI MacroAssembler after VIXL update.\n\nThis patch fixes an issue found here:\nhttps://android-review.googlesource.com/#/c/307532/\n\nAlso re-enables vixl MacroAssembler for arm.\n\nTest: export ART_USE_READ_BARRIER\u003dtrue; export ART_HEAP_POISONING\u003dtrue; \\\n      m test-art-host\nTest: export ART_USE_READ_BARRIER\u003dtrue; export ART_HEAP_POISONING\u003dtrue; \\\n      m test-art-target\nTest: dump-oat-boot with ART_USE_READ_BARRIER\u003dtrue\n\nChange-Id: I03e3014fb250791db2d24a0ab1a76ca96384c332\n"
    },
    {
      "commit": "67986a15fa94d6740ba35f40a1ffdfef3245d2de",
      "tree": "1975222e22270768c4cd9cfe303b0912d746bbbb",
      "parents": [
        "424c03aac25835febbf5c695b943206bc40ef335"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 28 19:24:08 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 29 09:33:17 2016 -0800"
      },
      "message": "Use non vixl arm macro assembler\n\nThe VIXL one hits an assertion error for CC:\nexternal/vixl/src/aarch32/macro-assembler-aarch32.h:1386:\nvoid vixl::aarch32::MacroAssembler::Cmp(vixl::aarch32::Condition,\nvixl::aarch32::Register, const vixl::aarch32::Operand \u0026):\nAssertion `!AliasesAvailableScratchRegister(rn)\u0027 failed.\n\nFixes dump-oat-boot with CC.\n\nTest: test-art-target, N6P booting\n\nChange-Id: I781fe8c8c2d6cd8b246ee4509281d6c645c89a28\n"
    },
    {
      "commit": "3e93a40f08d67cd4be6b91358281ce8b7a6f6fb2",
      "tree": "0e26531509204a099b0f9eee5c596cfd3c9f9da1",
      "parents": [
        "e7c85ad018185713f8a9baa7fe17619975f76723",
        "f77d156168496b9793d893980123efd0ad38d5ee"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 25 15:12:19 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 25 15:12:20 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Switch JNI compiler to use VIXL Assembler.\""
    },
    {
      "commit": "a75b01a549f0c86669dd24e53c9e3e74f0bf5b40",
      "tree": "fbca55a54871421db00709e6bbb51e48c851069f",
      "parents": [
        "3049b2a54b5b55d094fea603236f492c31b842e1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 18 13:45:24 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Aug 19 10:47:35 2016 -0700"
      },
      "message": "Fix building tests with partial arch codegen support\n\nAdd conditionals around more code that is only used for codegen for\nspecific architectures, and move a few more files into the\narchitecture-specific codegen lists.\n\nTests: ART_HOST_CODEGEN_ARCHS\u003d\"x86_64 mips\" m -j ART_TARGET_CODEGEN_ARCHS\u003dsvelte test-art-host\nBug: 30928847\nChange-Id: I0444d15e1cafe4c9b13ff78718c3b13b544270e7\n"
    },
    {
      "commit": "f77d156168496b9793d893980123efd0ad38d5ee",
      "tree": "9f06af1cf240eb851ee5a707d0688ebfa612b100",
      "parents": [
        "12e097c84cef710fa4f254b1811ff70b876e9e9a"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Mon Aug 08 15:14:18 2016 +0100"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Aug 19 15:53:04 2016 +0100"
      },
      "message": "ARM: VIXL32: Switch JNI compiler to use VIXL Assembler.\n\nChange-Id: I9f9ef1a9c9c9eb796d52980916e56e841aa52a0f\n"
    },
    {
      "commit": "dfdf1e5343ba9c05adff4cefeedd7d7b5fd49f6a",
      "tree": "3e68dfa7106d9e9d56c472dc4cd9590a3281bc28",
      "parents": [
        "c21f1c5b293a2830ef4a06f032cebd98d9596d4a",
        "60b1e1d5e10869cf3f0692a97499e0dfedea3373"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 10 00:20:25 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 10 00:20:26 2016 +0000"
      },
      "message": "Merge \"ART: Extract JNI macro assembler for arm\""
    },
    {
      "commit": "60b1e1d5e10869cf3f0692a97499e0dfedea3373",
      "tree": "2aa73972874af2c5aad9447cfe41f1f7ba608545",
      "parents": [
        "5c6233c00f1f50e8539fdfffd06c31359eac8b89"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 08 17:32:34 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 09 15:24:40 2016 -0700"
      },
      "message": "ART: Extract JNI macro assembler for arm\n\nExtract the JNI assembler parts from the regular assembler.\n\nChange-Id: Ice39ffeb854f8651e93443dd69f4c9e0e802975c\nTest: m test-art-target (N6)\n"
    },
    {
      "commit": "dcf3014718d9542927a4c8dc93701ce892484c84",
      "tree": "94f02d407c062abd836a97b76fd9c4adc99335f4",
      "parents": [
        "5c6233c00f1f50e8539fdfffd06c31359eac8b89"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 08 16:06:34 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 08 20:20:03 2016 -0700"
      },
      "message": "ART: Extract JNI macro assembler for arm64\n\nExtract the JNI assembler parts from the regular assembler.\n\nChange-Id: I0b0ad32e18f585b75e9da0237afe082c25a1d291\nTest: m test-art-target (N9)\n"
    },
    {
      "commit": "c0362b5f93a2d5d34f8a660804920dbb236ad625",
      "tree": "bc093f1e8a85c0d5201cbf541489a0ff5da33026",
      "parents": [
        "af2962caff1a13ef3a9b3deb3f2e1c9bbdc5aed3",
        "9954e3b2fe94bf46100183e39478bc57b3a212a1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 08 19:39:51 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 08 19:39:51 2016 +0000"
      },
      "message": "Merge \"ART: Extract JNI macro assembler for x86\""
    },
    {
      "commit": "1ace16bfe8727430809f1e83745e13c52f9610cd",
      "tree": "02f785b32920a10907753b8154f7b2f2232483de",
      "parents": [
        "95a976a3d1842384ed71bcc6e6449de95ec69961"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 05 09:01:50 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 08 11:44:25 2016 -0700"
      },
      "message": "ART: Extract JNI macro assembler for x86-64\n\nExtract the JNI assembler parts from the regular assembler.\n\nTest: m test-art-host\nChange-Id: I291fb76ad9232123b4c1992488ee81fec3c1db47\n"
    },
    {
      "commit": "9954e3b2fe94bf46100183e39478bc57b3a212a1",
      "tree": "97b4b7a3fb16ee0aa7fe1f1e0e5d7680540063c1",
      "parents": [
        "95a976a3d1842384ed71bcc6e6449de95ec69961"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 05 20:34:39 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 08 11:43:16 2016 -0700"
      },
      "message": "ART: Extract JNI macro assembler for x86\n\nExtract the JNI assembler parts from the regular assembler.\n\nChange-Id: I0b47af03ca12798f58dafec716a529eb0edf9649\nTest: m test-art-host\n"
    },
    {
      "commit": "3b165bc53c2f063e3a9c644d0edc7bc30c634884",
      "tree": "a408bcb65e848d76a22fcd0367a96ed2630a50b8",
      "parents": [
        "11a59a48474caa818ddf344575aa6afc51f45590"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 01 22:07:04 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 05 17:57:26 2016 -0700"
      },
      "message": "ART: Extract macro assembler\n\nExtract macro assembler functionality used by the JNI compiler from\nthe assembler interface. Templatize the new interface so that\ntype safety ensures correct usage.\n\nChange-Id: Idb9f56e5b87e43ee6a7378853d8a9f01abe156b2\nTest: m test-art-host\n"
    }
  ]
}
