)]}'
{
  "log": [
    {
      "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": "80afd02024d20e60b197d3adfbb43cc303cf29e0",
      "tree": "ef054c7b4f2a739f7cf063e0bc4c501c2c7e41b5",
      "parents": [
        "559b178e34c5d92e7932f92e5d8a981ac334606f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 19 18:08:00 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 26 15:59:02 2015 +0100"
      },
      "message": "ART: Clean up arm64 kNumberOfXRegisters usage.\n\nAvoid undefined behavior for arm64 stemming from 1u \u003c\u003c 32 in\nloops with upper bound kNumberOfXRegisters.\n\nCreate iterators for enumerating bits in an integer either\nfrom high to low or from low to high and use them for\n\u003carch\u003eContext::FillCalleeSaves() on all architectures.\n\nRefactor runtime/utils.{h,cc} by moving all bit-fiddling\nfunctions to runtime/base/bit_utils.{h,cc} (together with\nthe new bit iterators) and all time-related functions to\nruntime/base/time_utils.{h,cc}. Improve test coverage and\nfix some corner cases for the bit-fiddling functions.\n\nBug: 13925192\nChange-Id: I704884dab15b41ecf7a1c47d397ab1c3fc7ee0f7\n"
    },
    {
      "commit": "70f7d9870f81db3e9a98c7993c72e69ff4c48202",
      "tree": "926173dbeb3b4f542ad236e15bf8ce69c6caf458",
      "parents": [
        "591d8e4e6a171c2cc7417bec55f48858ffc1e677"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 08 17:05:01 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 08 17:05:01 2015 -0700"
      },
      "message": "Don\u0027t allow JIT to compile native methods\n\nChange-Id: I12722309ba52c430e23ab862b29f7a48383f00d2\n"
    },
    {
      "commit": "0462c4c87c39db6cfcd338f323844738109ac3c9",
      "tree": "30776cd2fadab4100851640976c2b572d228d688",
      "parents": [
        "a6591ef95afa6bc9d89c0c6044635ec7a13d4c55"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Apr 01 16:34:17 2015 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu May 07 18:03:58 2015 +0200"
      },
      "message": "Support multiple instrumentation clients\n\nChanges Instrumentation::ConfigureStubs to support multiple clients\nthat need different levels of instrumenation. A client is identified\nby a string key used to save the desired instrumentation level.\n\nAlso adds regression gtest instrumentation_test and some cleanup.\n\nBug: 19829329\nChange-Id: I1fc24a86fcb7cb46d4be806895376c25cc0a0b3c\n"
    },
    {
      "commit": "3130cdf29eb203be0c38d1107a65d920ec39c106",
      "tree": "0b4093afe3f71d89b22f6ba927ad05946fb33910",
      "parents": [
        "25dcb2594a21a565ef82faa66a79bcf595c3a780"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun May 03 15:20:23 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun May 03 15:20:23 2015 -0700"
      },
      "message": "Add some more DISALLOW_COPY_AND_ASSIGN\n\nMay help prevent bugs maybe.\n\nChange-Id: Ie73d469dfcd078492ecb3aa28682b42707221202\n"
    },
    {
      "commit": "2cebb24bfc3247d3e9be138a3350106737455918",
      "tree": "d04d27d21b3c7733d784e303f01f873bb99e7770",
      "parents": [
        "1f02f1a7b3073b8fef07770a67fbf94afad317f0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 21 16:50:40 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 22 12:44:27 2015 -0700"
      },
      "message": "Replace NULL with nullptr\n\nAlso fixed some lines that were too long, and a few other minor\ndetails.\n\nChange-Id: I6efba5fb6e03eb5d0a300fddb2a75bf8e2f175cb\n"
    },
    {
      "commit": "c785344b87221f5e4e6473e5b762e4e61fe65dcf",
      "tree": "cd32ad2c2604596a18926f04d4c313dab255ecfd",
      "parents": [
        "a29d93b380c9aeb8270e281aefbdd0c77a430d43"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 27 14:35:38 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 10 12:57:27 2015 -0700"
      },
      "message": "Move ArtField to native\n\nAdd linear alloc. Moved ArtField to be native object. Changed image\nwriter to put ArtFields after the mirror section.\n\nSavings:\n2MB on low ram devices\n4MB on normal devices\n\nTotal PSS measurements before (normal N5, 95s after shell start):\nImage size: 7729152 bytes\n23112 kB: .NonMoving\n23212 kB: .NonMoving\n22868 kB: .NonMoving\n23072 kB: .NonMoving\n22836 kB: .NonMoving\n19618 kB: .Zygote\n19850 kB: .Zygote\n19623 kB: .Zygote\n19924 kB: .Zygote\n19612 kB: .Zygote\nAvg: 42745.4 kB\n\nAfter:\nImage size: 7462912 bytes\n17440 kB: .NonMoving\n16776 kB: .NonMoving\n16804 kB: .NonMoving\n17812 kB: .NonMoving\n16820 kB: .NonMoving\n18788 kB: .Zygote\n18856 kB: .Zygote\n19064 kB: .Zygote\n18841 kB: .Zygote\n18629 kB: .Zygote\n3499 kB: .LinearAlloc\n3408 kB: .LinearAlloc\n3424 kB: .LinearAlloc\n3600 kB: .LinearAlloc\n3436 kB: .LinearAlloc\nAvg: 39439.4 kB\n\nNo reflection performance changes.\n\nBug: 19264997\nBug: 17643507\n\nChange-Id: I10c73a37913332080aeb978c7c94713bdfe4fe1c\n"
    },
    {
      "commit": "d8565456d29f4ad05f11cf84d2d2dac488508e06",
      "tree": "8c5eca4c2604e0edc1606ea151d78538098dc040",
      "parents": [
        "81adb4f8fd261be11d399d210029189e94888a9e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 26 09:41:50 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 26 13:34:27 2015 -0700"
      },
      "message": "Fix ClassLinker::MayBeCalledWithDirectCodePointer for JIT\n\nCurrently, we don\u0027t know if another method has a direct code\npointer or not. This should fix the case where breakpoints\noccasionally don\u0027t work with JIT.\n\nThe JIT now also checks that a method doesn\u0027t have any breakpoints\nbefore starting to compile it.\n\nBug: 17950037\n\nChange-Id: I17cfe874fe4825beba23903a5053d5cb27e106cb\n"
    },
    {
      "commit": "bce416f7f22f1e73250f020be1178a1c7db72330",
      "tree": "cb9503e1ca6457468924cf4d50210f894af2b2c3",
      "parents": [
        "fc06816cc25f80cc6c4c5d002e5d3bced242a9ee"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 23 12:37:35 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 23 13:00:14 2015 -0700"
      },
      "message": "Add code cache test\n\nBug: 17950037\nChange-Id: I13913667517db5bb9b7224f0639c2b39cf3a1973\n"
    },
    {
      "commit": "455f67c4cf0b4f04e117db3024fd189fa1c7dab9",
      "tree": "3f89fdc8ba9b31cc0205945410a75d63e2f25000",
      "parents": [
        "5747266d57445ecdd026a4705d62768faad09b01"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Mar 17 13:48:29 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 18 18:49:28 2015 -0700"
      },
      "message": "Fix JIT options with late init\n\nPreviously we couldn\u0027t create the JIT since we didn\u0027t have any\nJITOptions.\n\nBug: 19735273\n\nChange-Id: I24b8ed131ed8b18f75ec94291e135d8a1c089ebd\n"
    },
    {
      "commit": "6c77292f55ab3220f711407ac9015f01a7f58ad5",
      "tree": "9dbdf2cbc74d3912a5b5fdf8697eebe74a77a7f4",
      "parents": [
        "98759d28dc68ea1a799e1af2beb7c7d4535bb75c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 13 19:21:08 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 13 19:29:08 2015 -0700"
      },
      "message": "Revert \"Disable jit for ARM 64 bit\"\n\nBug: 17950037\n\nThis reverts commit bf9026d3e09b5b92b1d94a8e1e3953bf13127bef.\n"
    },
    {
      "commit": "bf9fc581e8870faddbd320a935f9a627da724c48",
      "tree": "0a4a6c21fbd4c771b06fac186d32efa6722605b2",
      "parents": [
        "3d96846b6adedf57be64eb3873de0ca58ec4b827"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 13 17:21:25 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 13 17:32:48 2015 -0700"
      },
      "message": "Add more info to who called SuspendAll\n\nHelps diagnose related jank.\n\nChange-Id: I38191cdda723c6f0355d0197c494a3dff2b6653c\n"
    },
    {
      "commit": "bf9026d3e09b5b92b1d94a8e1e3953bf13127bef",
      "tree": "ba0e893fbdbc2b86f5c491ee2d61d755f7adedeb",
      "parents": [
        "b871a15f1f662c8efe10d41199180bd00b6decd1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 13 11:34:02 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 13 11:41:42 2015 -0700"
      },
      "message": "Disable jit for ARM 64 bit\n\nUntil issues are fixed.\n\nBug: 17950037\nChange-Id: I4517a1e188adf0a087576423066c348eb6ae81be\n"
    },
    {
      "commit": "39d9fe2eb3552a002c53ed41701c6faffe3cd75a",
      "tree": "e21e955eac1fecd0e8f1f5fbe1ae5713e19f4c34",
      "parents": [
        "cb85ad6673a0b0815fe40100a14984fd187a5f89",
        "a4885cbaafd35fe9c60eb6cd95e41e2c86f54f66"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Mar 10 17:40:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 10 17:40:08 2015 +0000"
      },
      "message": "Merge \"Add way to print JIT related info at shutdown\""
    },
    {
      "commit": "0aa50ce2fb75bfc2e815a0c33adf9b049561923b",
      "tree": "9a3f9603ab30d5cbc7fc21aee0ceb48bbb0dd25a",
      "parents": [
        "e8e42f3548fd894f860912bb1b71ce6fa2d7daf3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 10 11:03:29 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 10 14:51:11 2015 +0000"
      },
      "message": "Remove ThrowLocation.\n\nNote that this is a cleanup change, and has no functionality change.\nThe ThrowLocation had no use anymore.\n\nChange-Id: I3d2126af1dc673cec3a0453ff3d56a172663a5f6\n"
    },
    {
      "commit": "a4885cbaafd35fe9c60eb6cd95e41e2c86f54f66",
      "tree": "6afaa296fc2f6c4c7c1ce35a3d36ef911096764c",
      "parents": [
        "54a8cc689dc23f346c9aac0d5fc6f47e61df8cad"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 09 15:38:54 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 09 15:42:44 2015 -0700"
      },
      "message": "Add way to print JIT related info at shutdown\n\nAdded a runtime option called -XX:DumpJITInfoOnShutdown with prints\nvarious interesting JIT statistics during the shutdown of the runtime\nif enabled.\n\nExample of running EvaluateAndApplyChanges with the option:\nI art     : Code cache size\u003d427KB data cache size\u003d84KB num methods\u003d1598\nI art     : Start Dumping histograms for 1598 iterations for JIT timings\nI art     : Compiling: Sum: 727.850ms 99% C.I. 135us-4402us Avg: 455.475us Max: 15567us\nI art     : Verifying: Sum: 191.074ms 99% C.I. 19us-1450.500us Avg: 119.570us Max: 5142us\nI art     : TrimMaps:  Sum: 62.053ms 99% C.I. 13us-199.374us Avg: 38.831us Max: 10058us\nI art     : MakeExecutable:  Sum: 11.153ms 99% C.I. 4us-47us Avg: 6.979us Max: 47us\nI art     : Initializing:  Sum: 7.991ms 99% C.I. 1us-49.781us Avg: 5us Max: 4852us\nI art     : Done Dumping histograms\n\nBug: 17950037\nChange-Id: I23538b24f947e5f6934f55579b8baa9d806eb3d5\n"
    },
    {
      "commit": "14691c5e786e8c2c5734f687e4c96217340771be",
      "tree": "7c2156671b323c70ffdd1d48d5e2f1d1de79c5fc",
      "parents": [
        "3d7d2af4c6502b771b032ee9bf3ab30e78f9c60d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 05 10:40:17 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 09 10:09:33 2015 +0000"
      },
      "message": "Compute the right catch location for the debugger.\n\nAlso remove tls ThrowLocation, it is not needed anymore.\n\nChange-Id: I78fddf09ce968ca475e39c17fa76d699c589c8d9\n"
    },
    {
      "commit": "5c42c29b89286e5efa4a4613132b09051ce5945b",
      "tree": "5db25a4f62c5583f2f6fc42b9a2ff47362eeed5c",
      "parents": [
        "242026e246a8b9efe098a0cce008fd525e011e5b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 25 12:02:49 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 02 18:07:03 2015 +0000"
      },
      "message": "Add support for .bss section in oat files.\n\nChange-Id: I779b80b8139d9afdc28373f8c68edff5df7726ce\n"
    },
    {
      "commit": "e5f13e57ff8fa36342beb33830b3ec5942a61cca",
      "tree": "02e370ecc4e0d955f28bfc71a41015f94fbb19b7",
      "parents": [
        "354d58ba776866ea7b1c71f0d0848d5aaa013ae3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 24 09:37:21 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 24 10:47:02 2015 -0800"
      },
      "message": "Revert \"Revert \"Add JIT\"\"\n\nAdded missing EntryPointToCodePointer.\n\nThis reverts commit a5ca888d715cd0c6c421313211caa1928be3e399.\n\nChange-Id: Ia74df0ef3a7babbdcb0466fd24da28e304e3f5af\n"
    },
    {
      "commit": "a5ca888d715cd0c6c421313211caa1928be3e399",
      "tree": "bdb08a2cbcf277ab7f02626a23b52a3fdf272ffe",
      "parents": [
        "2535abe7d1fcdd0e6aca782b1f1932a703ed50a4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 24 08:10:57 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 24 08:10:57 2015 +0000"
      },
      "message": "Revert \"Add JIT\"\n\nSorry, run-test crashes on target:\n0-05 12:15:51.633 I/DEBUG   (27995): Abort message: \u0027art/runtime/mirror/art_method.cc:349] Check failed: PcIsWithinQuickCode(reinterpret_cast\u003cuintptr_t\u003e(code), pc) java.lang.Throwable java.lang.Throwable.fillInStackTrace() pc\u003d71e3366b code\u003d0x71e3362d size\u003dad000000\u0027\n10-05 12:15:51.633 I/DEBUG   (27995):     r0 00000000  r1 0000542b  r2 00000006  r3 00000000\n10-05 12:15:51.633 I/DEBUG   (27995):     r4 00000006  r5 b6f9addc  r6 00000002  r7 0000010c\n10-05 12:15:51.633 I/DEBUG   (27995):     r8 b63fe1e8  r9 be8e1418  sl b6427400  fp b63fcce0\n10-05 12:15:51.633 I/DEBUG   (27995):     ip 0000542b  sp be8e1358  lr b6e9a27b  pc b6e9c280  cpsr 40070010\n10-05 12:15:51.633 I/DEBUG   (27995): \n\nBug: 17950037\nThis reverts commit 2535abe7d1fcdd0e6aca782b1f1932a703ed50a4.\n\nChange-Id: I6f88849bc6f2befed0c0aaa0b7b2a08c967a83c3\n"
    },
    {
      "commit": "2535abe7d1fcdd0e6aca782b1f1932a703ed50a4",
      "tree": "140026ff9638ff34050680b6c706b82fa1740b56",
      "parents": [
        "38fee8ef4bc0f4dbe2c6d1f5585895f0c4d16984"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 17 10:38:49 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Feb 23 16:45:49 2015 -0800"
      },
      "message": "Add JIT\n\nCurrently disabled by default unless -Xjit is passed in.\n\nThe proposed JIT is a method JIT which works by utilizing interpreter\ninstrumentation to request compilation of hot methods async during\nruntime.\n\nJIT options:\n-Xjit / -Xnojit\n-Xjitcodecachesize:N\n-Xjitthreshold:integervalue\n\nThe JIT has a shared copy of a compiler driver which is accessed\nby worker threads to compile individual methods.\n\nAdded JIT code cache and data cache, currently sized at 2 MB\ncapacity by default. Most apps will only fill a small fraction of\nthis cache however.\n\nAdded support to the compiler for compiling interpreter quickened\nbyte codes.\n\nAdded test target ART_TEST_JIT\u003dTRUE and --jit for run-test.\n\nTODO:\nClean up code cache.\nDelete compiled methods after they are added to code cache.\nAdd more optimizations related to runtime checks e.g. direct pointers\nfor invokes.\nAdd method recompilation.\nMove instrumentation to DexFile to improve performance and reduce\nmemory usage.\n\nBug: 17950037\n\nChange-Id: Ifa5b2684a2d5059ec5a5210733900aafa3c51bca\n"
    }
  ]
}
