)]}'
{
  "log": [
    {
      "commit": "bc5a795c0d486c84913d987cad5846ded840cea6",
      "tree": "90db29a97a21fa15f4cbc5ffbc1f6dd191add49c",
      "parents": [
        "38a4223fcc0493553d9ad324a1dc145869eb663a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 17 15:46:31 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 17 16:16:50 2016 -0700"
      },
      "message": "Move art/native to ObjPtr\n\nBug: 31113334\n\nTest: test-art-host\n\nChange-Id: I67eb89cf042c762c6dcd5eb8b008b9a28e9b3319\n"
    },
    {
      "commit": "0795f23920ee9aabf28e45c63cd592dcccf00216",
      "tree": "ff3f880c5e84f3316532b47d0e9a7729ade848ac",
      "parents": [
        "d1224dce59eb0019507e41da5e10f12dda66bee4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 27 18:43:30 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Sep 29 17:31:09 2016 -0700"
      },
      "message": "Clean up ScopedThreadStateChange to use ObjPtr\n\nAlso fixed inclusion of -inl.h files in .h files by adding\nscoped_object_access-inl.h and scoped_fast_natvie_object_access-inl.h\n\nChanged AddLocalReference / Decode to use ObjPtr.\n\nChanged libartbenchmark to be debug to avoid linkage errors.\n\nBug: 31113334\n\nTest: test-art-host\n\nChange-Id: I4d2e160483a29d21e1e0e440585ed328b9811483\n"
    },
    {
      "commit": "bdf7f1c3ab65ccb70f62db5ab31dba060632d458",
      "tree": "25cc77adfeb05232d0ab00aa561a693f1d71745c",
      "parents": [
        "d7eabc2cc1a88c1f7f927da61246ae65aab0626c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 30 16:38:47 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 30 17:02:53 2016 -0700"
      },
      "message": "ART: SHARED_REQUIRES to REQUIRES_SHARED\n\nThis coincides with the actual attribute name and upstream usage.\nPreparation for deferring to libbase.\n\nTest: m\nTest: m test-art-host\nChange-Id: Ia8986b5dfd926ba772bf00b0a35eaf83596d8518\n"
    },
    {
      "commit": "3aaa37bba53d6df0265793de48b4b0b57327e57a",
      "tree": "ce795803f0f10003eb3d96d9348da620937675b3",
      "parents": [
        "792c98bb773c8c2390f9cbf774f85be9d9a75332"
      ],
      "author": {
        "name": "jessicahandojo",
        "email": "jessicahandojo@google.com",
        "time": "Fri Jul 29 14:46:37 2016 -0700"
      },
      "committer": {
        "name": "jessicahandojo",
        "email": "jessicahandojo@google.com",
        "time": "Tue Aug 23 15:12:26 2016 -0700"
      },
      "message": "creating workflow for mirror::String compression\n\nAll-ASCII String characters are stored in 8-bit blocks\ninstead of 16-bit. The compression has not taken place, but all\nworkflow are in the code already (changing kUseStringCompression in\nstring.h file to TRUE will enable the feature)\n\nNotes: Feature works on interpreter only without optimizing\n\nTest art: m ART_TEST_INTERPRETER\u003dtrue ART_TEST_OPTIMIZING\u003dfalse\n          test-art-host\n\nAlso tested with String tests from libcore/:\n1. libcore.java.lang.StringTest\n2. libcore.java.lang.StringBufferTest\n3. libcore.java.lang.StringBuilderTest\n4. libcore.java.lang.OldStringTest\n5. libcore.java.lang.OldStringBufferTest\n\nMemory improvement is 33% (from 6.03% to 4.03%, total String memory\nfrom all apps per total memory of all apps) measured on Angler\nwith Hprof tools\n\nBug: 31040547\nChange-Id: I9cc92c265ebf1305fc06b5fc33efd83797660cce\n"
    },
    {
      "commit": "542451cc546779f5c67840e105c51205a1b0a8fd",
      "tree": "11e09bb5abaee12dddffefbe7e425291076dfa7a",
      "parents": [
        "85c4a4b8c9eabfe16e4e49f9b4aa78c1bf4be023"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 26 09:02:02 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 01 18:54:48 2016 -0700"
      },
      "message": "ART: Convert pointer size to enum\n\nMove away from size_t to dedicated enum (class).\n\nBug: 30373134\nBug: 30419309\nTest: m test-art-host\nChange-Id: Id453c330f1065012e7d4f9fc24ac477cc9bb9269\n"
    },
    {
      "commit": "b6795157fd010375ca646ea95e972b616b4aeeaf",
      "tree": "7a7cd4a92b448bca9b3d8aea26454706ddc80d6e",
      "parents": [
        "121c8a6494f2224830ed0ca33df5af0d8c077647"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 21 17:23:31 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 21 17:23:31 2016 -0700"
      },
      "message": "ART: Disable unstarted runtime pow test for valgrind\n\nValgrind seems to give the wrong result. Disable test for now.\n\nChange-Id: I2b136abc107b53d89b70ccb20dd378a7b704d077\n"
    },
    {
      "commit": "b8a00f95e93eb0225e86dad582387f1cc69e7df6",
      "tree": "f01b6ca61a0f833b8275f480b06ba00bbb920756",
      "parents": [
        "715fdc2c99f688f97c684978632f311a284ba43c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 18 20:51:13 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Apr 20 10:21:11 2016 -0700"
      },
      "message": "ART: Add Math cutouts\n\nAdd sin, cos and pow to unstarted runtime. Add tests for some\nvery specific values that are seen.\n\nAllows to compile-time initialize:\n* android.graphics.drawable.RippleForeground\n* android.widget.EdgeEffect\n\nBug: 27265238\n\n(cherry picked from commit 8c5889a3bdefd7dc84494ec824d495913f2362a9)\n\nChange-Id: I0360a078e7dc9d2a176ec1cf2d8dbb242da1c83e\n"
    },
    {
      "commit": "8ce9c30f5d7328579619eb7e26c5f041837984af",
      "tree": "3b2237a353513e3b23679a32bb60eded2b0a9a23",
      "parents": [
        "eb8b0ae50e8ec2e61e8f4d870c7532cbebb88a21"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 15 21:24:28 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 18 17:19:58 2016 -0700"
      },
      "message": "ART: Add cutout for Character.toLower/UpperCase\n\nAdd support for ASCII codepoint toLowerCase/toUpperCase. Those\ninputs are easy, and generally sufficient.\n\nAllows to compile-time initialize:\n* android.text.Html$HtmlParser\n* java.util.UUID$Holder\n* sun.security.ec.ECKeyFactory\n\nBug: 27265238\n\n(cherry picked from commit 0bdce99fcecdadcbafc8e7a9bb92f491a4f37b2a)\n\nChange-Id: I0f164a7df4f26c0b266cef230e36f6ca3af20bde\n"
    },
    {
      "commit": "89e3b486167c58a3268cf963c56183cd7f478b3c",
      "tree": "14c0bd2f7e346209b22c9512a21e7bd52dda9b21",
      "parents": [
        "e3ccf744a6f7e4946d1d813d45d5dab20f0759d3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 12 18:07:36 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 12 21:20:33 2016 -0700"
      },
      "message": "ART: Simplify unstarted-runtime ceil and floor\n\nJust use the C functions like libcore does. Add tests.\n\nBug: 28132336\nChange-Id: Ic5f469e8504c9f2b7756280558fd1610ed8015ba\n"
    },
    {
      "commit": "13fc1be0b92b48ebc8fa79e4aac66f01a59181d8",
      "tree": "733c6dc1c789b1aeb452941e2c4a159c218cdada",
      "parents": [
        "6039e5662507e42896084e561fa546b432698ee6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 05 20:14:30 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Apr 06 13:44:11 2016 -0700"
      },
      "message": "ART: Add integer \u0026 long parsing cutout to unstarted runtime\n\nAdd a cutout for Integer.parseInt and Long.parseLong. Only handle\n(some) successful cases, and abort the transaction in the rest.\nAdd tests.\n\nAllows to compile-time initialize:\n* com.android.org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers\n* com.android.org.bouncycastle.asn1.x509.X509ObjectIdentifiers\n* sun.security.x509.InhibitAnyPolicyExtension\n\nBug: 27265238\n\n(cherry picked from commit 9c62dab16e4be0c19a2e6c6c0cc2b24c2814c6f2)\n\nChange-Id: I14c0836fd9ec7c9bf49d8186ff14a3c6830ff711\n"
    },
    {
      "commit": "85a098af5fc8d2dd0e39d61c9f93fc6257d631c5",
      "tree": "20e81103cbc6043aa99b876fc358b7bab95ce4dc",
      "parents": [
        "19a4784ce1b9c6a0b3d3cdb91a182baa7adbb946"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 31 13:30:53 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 01 09:37:05 2016 -0700"
      },
      "message": "ART: Better support for arraycopy in unstarted runtime\n\nExtend the System.arraycopy() cutout in the unstarted runtime\nto support arrays with differing component types.\n\nAdd tests.\n\nBug: 27805718\nChange-Id: Iaacd95a372e9bfa26e9055a06b0d8f0335b8d6d1\n"
    },
    {
      "commit": "90443477f9a0061581c420775ce3b7eeae7468bc",
      "tree": "8c74b81dfae162e0fd0ccf8d5ac50827ba815174",
      "parents": [
        "6078aec213dfaf111c29969706e8e5967cfc9bea"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 16 20:32:27 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 22 15:13:56 2015 -0700"
      },
      "message": "Move to newer clang annotations\n\nAlso enable -Wthread-safety-negative.\n\nChanges:\nSwitch to capabilities and negative capabilities.\n\nFuture work:\nUse capabilities to implement uninterruptible annotations to work\nwith AssertNoThreadSuspension.\n\nBug: 20072211\n\nChange-Id: I42fcbe0300d98a831c89d1eff3ecd5a7e99ebf33\n"
    },
    {
      "commit": "e401d146407d61eeb99f8d6176b2ac13c4df1e33",
      "tree": "17927f9bfe7d2041b5942c89832d55f9dedb24c5",
      "parents": [
        "2006b7b9b8e32722bd0d640c62549d8a0ac624b6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 22 13:56:20 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 29 18:45:49 2015 -0700"
      },
      "message": "Move mirror::ArtMethod to native\n\nOptimizing + quick tests are passing, devices boot.\n\nTODO: Test and fix bugs in mips64.\n\nSaves 16 bytes per most ArtMethod, 7.5MB reduction in system PSS.\nSome of the savings are from removal of virtual methods and direct\nmethods object arrays.\n\nBug: 19264997\nChange-Id: I622469a0cfa0e7082a2119f3d6a9491eb61e3f3d\n"
    },
    {
      "commit": "400ce0087ed0a41f385b55d555afc4616166965a",
      "tree": "338d673ee59a3c850333465c9ca4c617acc42af4",
      "parents": [
        "0366344363c66138e5cfbac6de12cdbb3ac5c76e"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri May 29 10:53:17 2015 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri May 29 15:37:36 2015 -0700"
      },
      "message": "Add unstarted runtime test for String.\u003cinit\u003e.\n\nBug: 21173514\n\n(cherry picked from commit 73a937740841154eb32a0aa15f938f1c06f26091)\n\nChange-Id: If7bd360c396e2594f34efe3a6237f77c7129112b\n"
    },
    {
      "commit": "799681b176ad25437ce2849639f54f610dcbf684",
      "tree": "4bbb5ea4c6a2dd7e1c20a23f3adbb81a3b86fe0d",
      "parents": [
        "9ba4e65148feec589fece0c991695ba1049785bf"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 15 19:24:12 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 20 19:41:36 2015 +0000"
      },
      "message": "ART: Refactor UnstartedRuntime for testing\n\nExpose the UnstartedRuntime implementation functions as private static\nmethods of a class. Add a gtest that can invoke these functions. Add\nsample tests for String and Memory.\n\nBug: 21173514\nChange-Id: Ib5bde6347fafaf7607c642542ea7d5938ff4b1df\n"
    }
  ]
}
