)]}'
{
  "log": [
    {
      "commit": "d28b969c273ab777ca9b147b87fcef671b4f695f",
      "tree": "ca66ecfd809afdcd31443bbe50bf38a836302cc5",
      "parents": [
        "6bf6e438cd4746effce0b26d504c54100191c988"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 04 14:36:55 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 05 10:37:48 2015 +0000"
      },
      "message": "Code cleanup to avoid CompilerDriver abstractions in JIT.\n\nAvoids allocating a CompiledMethod.\n\nChange-Id: I35b4aa0d7c74daba68e827a01e71c300fce3b3bf\n"
    },
    {
      "commit": "5a23d2ea6e0d89112ff11ec765e676c03818b7c2",
      "tree": "9203582b6c0995da6642c7001332ee59eefab880",
      "parents": [
        "df6dc42ba2ca0fa43ba970ba2e60977422105f7e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 03 18:58:57 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 04 09:27:28 2015 +0000"
      },
      "message": "Fix TODO on instrumentation and add some more DCHECKs.\n\nbug:25343683\nbug:25438583\n\nChange-Id: I232deb1b6761466b514c687ce304f61928755cdc\n"
    },
    {
      "commit": "62623401fe994ff2f2719faf3cdb3c23b92ccd96",
      "tree": "7ecf11ececadb2b541f06620af2db01b9a90f2f0",
      "parents": [
        "43c6d31c43c05d97511bb9658964fd3d2f32b915"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 28 19:15:05 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 03 10:26:03 2015 +0000"
      },
      "message": "Fix deadlock with the JIT code cache.\n\nAlso remove hack done for ThreadStress.\n\nChange-Id: Ie25c3bca08d9f2b8919706fa3fc26c5ab213f4a3\n"
    },
    {
      "commit": "10d2508b105427ef1bcaf0c222873bae7acc66d3",
      "tree": "8aa018dd07a1d84daf9f44ea7bb1c02442c44097",
      "parents": [
        "5f2e628b280dfc5f8385e489d44cc0960fcea484"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 28 18:36:09 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 28 19:24:54 2015 -0700"
      },
      "message": "Change Checkpoint API to return total number of checkpoints\n\nFixes a race condition with SetStateUnsafe that caused some\nwarnings in the Barrier::~Barrier.\n\nThe race was:\nRunCheckpoint sees suspended thread, runs the checkpoint. Inside the\ncheckpoint, the thread state had changed to runnable by\nSetStateUnsafe. This occasionally caused more Barrier::Pass than\nexpected.\n\nThe fix is to return the total number of checkpoints instead of just\nthe runnable ones.\n\nBug: 24191051\nChange-Id: If15a933ed4c8efa66a5f27cd5feaa2e5957ae804\n"
    },
    {
      "commit": "4e915fbc2be5fc43c782389bbbb7306cd76a523a",
      "tree": "c85e0ab3b80393a46dbc98e217678337567e26ce",
      "parents": [
        "28b48026f0686f93b31b9cad47671c18837acc56"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 28 17:39:47 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 28 17:51:53 2015 +0000"
      },
      "message": "Tune heuristics a bit.\n\nFirst version. Seems to be more in line with what we\u0027re seeing.\n\nChange-Id: I5117352c13cb2e95d16f0c9b05b1faf37c05d710\n"
    },
    {
      "commit": "26705e2b1245b65989a0341b24c5dbf2658d4bb6",
      "tree": "11f73cfb6f1f484f2f27227d4d3ef0e85ab22ad7",
      "parents": [
        "903ef50ed03444b28899088f977d5c2d0ff67d49"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 28 12:50:11 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 28 15:03:13 2015 +0000"
      },
      "message": "Add support for collection ProfilingInfo objects.\n\nChange-Id: I8bb6069530253a7372acdf2b5aee71e1de644822\n"
    },
    {
      "commit": "1dad3f68b7f5a4a4cb2b281413357adc2309a8fd",
      "tree": "df482d1f65e55a9a228c925e96532942fb25eb47",
      "parents": [
        "fe97bfeabcf99d470e7d974a68ec6b6641648396"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 23 14:59:54 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 26 19:10:55 2015 +0000"
      },
      "message": "Support garbage collection of JITted code.\n\nChange-Id: I9afc544460ae4fb31149644b6196ac7f5182c784\n"
    },
    {
      "commit": "1e7de6cfcabc87ebd36bf6f2c9ed466152d21d4e",
      "tree": "24626b6d76bfd3591501932b07b6462c6a2b0733",
      "parents": [
        "9926d886573d13ab3f97befae4c526b936de8a53"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 21 12:07:31 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 21 12:07:31 2015 +0100"
      },
      "message": "Remove the magic 32 constant and ensure alignment.\n\nChange-Id: I383315bf3cd5f0b8634e2982da55d5d864009a91\n"
    },
    {
      "commit": "0c3c2668ef44fdbd18d97f9134a85d1a7d561aa4",
      "tree": "92e8e49ed1b4d5442f20721858c476ed5769d0ea",
      "parents": [
        "7edef7441d28db1403fbc5641b56a26ecf355879"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 15 13:53:04 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 21 10:59:27 2015 +0100"
      },
      "message": "Use DlMallocSpace for the JIT code cache.\n\n- Also tidy up some code in the JIT compiler.\n- And mprotect code space to be writable only when allocating.\n\nChange-Id: I46ea5c029aec489f2af63452de31db3736aebc20\n"
    },
    {
      "commit": "5550ca8bcc742b109d77e62f3a0877c667d894d3",
      "tree": "522c873c59b56fff0244e754dd869f18ccf485f4",
      "parents": [
        "dbd357086fdb7fce619d745fda4efd52377becdd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 21 18:38:30 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Sep 11 15:08:37 2015 +0100"
      },
      "message": "Record profiling information before Jitting.\n\n- Add a new instrumentation kind to record dynamic invokes.\n- Use the JNI entry point field to store the profiling data.\n- Record seen receivers for every dynamic invoke.\n\nChange-Id: I2c1738ab2a72052d45964d055dc16b44b906e54c\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": "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": "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"
    }
  ]
}
