)]}'
{
  "log": [
    {
      "commit": "767c752fddc64e280dba507457e4f06002b5f678",
      "tree": "3c7ee2333290b6d634e3cb5e0ab49d6cbee9c096",
      "parents": [
        "0b40ecf156e309aa17c72a28cd1b0237dbfb8746"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 20 12:47:30 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 20 21:58:07 2015 +0000"
      },
      "message": "Quick: Create GC map based on compiler data.\n\nThe Quick compiler and verifier sometimes disagree on dalvik\nregister types (fp/core/ref) for 0/null constants and merged\nregisters involving 0/null constants. Since the verifier is\nmore lenient it can mark a register as a reference for GC\nwhere Quick considers it a floating point register or a dead\nregister (which would have a ref/fp conflict if not dead).\nIf the compiler used an fp register to hold the zero value,\nthe core register or stack location used by GC based on the\nverifier data can hold an invalid value.\n\nPreviously, as a workaround we stored the fp zero value also\nin the stack location or core register where GC would look\nfor it. This wasn\u0027t precise and may have missed some cases.\n\nTo fix this properly, we now generate GC maps based on the\ncompiler\u0027s notion of references if register promotion is\nenabled.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d147187\nChange-Id: Id3a2f863b16bdb8969df7004c868773084aec421\n"
    },
    {
      "commit": "8b858e16563ebf8e522df026a6ab409f1bd9b3de",
      "tree": "910900d8eefd5bed3f3c144894c970bb1973c71e",
      "parents": [
        "f7ebda43cb185b6414a2e86eef95eaf10b74db2c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 27 14:52:37 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 09 10:07:30 2014 +0000"
      },
      "message": "Quick: Redefine the notion of back-egdes.\n\nRedefine a back-edge to really mean an edge to a loop head\ninstead of comparing instruction offsets. Generate suspend\nchecks also on fall-through to a loop head; insert an extra\nGOTO for these edges.\n\nAdd suspend checks to fused cmp instructions.\n\nRewrite suspend check elimination to track whether there is\nan invoke on each path from the loop head to a given back\nedge, instead of using domination info to look for a basic\nblock with invoke that must be on each path. Ignore invokes\nto intrinsics and move the optimization to a its own pass.\n\nThe new loops in 109-suspend-check should prevent intrinsics\nand fused cmp-related regressions.\n\nBug: 18522004\nChange-Id: I96ac818f76ccf9419a6e70e9ec00555f9d487a9e\n"
    },
    {
      "commit": "de58ab2c03ff8112b07ab827c8fa38f670dfc656",
      "tree": "c872bfbcad1e90845008140bbddcc43e56dc19d2",
      "parents": [
        "3ed86e4e98dfe1b05c9a03aa2aee42c145a018c3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 05 12:46:03 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 06 16:49:52 2014 +0000"
      },
      "message": "Implement try/catch/throw in optimizing.\n\n- We currently don\u0027t run optimizations in the presence of a try/catch.\n- We therefore implement Quick\u0027s mapping table.\n- Also fix a missing null check on array-length.\n\nChange-Id: I6917dfcb868e75c1cf6eff32b7cbb60b6cfbd68f\n"
    },
    {
      "commit": "6f3dbbadf4ce66982eb3d400e0a74cb73eb034f3",
      "tree": "f7a20779e4d665f948c5fbcd26dac0071dafb8d4",
      "parents": [
        "2df6840f68dd18d7dd8dbf53f8b6181bbfdc4fc4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 14 17:41:57 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 16 19:27:28 2014 -0700"
      },
      "message": "Make ART compile with GCC -O0 again.\n\nTidy up InstructionSetFeatures so that it has a type hierarchy dependent on\narchitecture.\nAdd to instruction_set_test to warn when InstructionSetFeatures don\u0027t agree\nwith ones from system properties, AT_HWCAP and /proc/cpuinfo.\nClean-up class linker entry point logic to not return entry points but to\ntest whether the passed code is the particular entrypoint. This works around\nimage trampolines that replicate entrypoints.\nBug: 17993736\n\nChange-Id: I5f4b49e88c3b02a79f9bee04f83395146ed7be23\n"
    },
    {
      "commit": "e982f0b8e809cece6f460fa2d8df25873aa69de4",
      "tree": "df729d47439f7243b498dd4503a5f7aa41a4818b",
      "parents": [
        "f031724abf4f215e1627ff837f87cad5d7a25165"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 13 02:11:24 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 17 09:53:50 2014 +0100"
      },
      "message": "Implement invoke virtual in optimizing compiler.\n\nAlso refactor 004 tests to make them work with both Quick and\nOptimizing.\n\nChange-Id: I87e275cb0ae0258fc3bb32b612140000b1d2adf8\n"
    },
    {
      "commit": "1c83cbc4a817acbd7f9abb5b29a2d418a958e6a1",
      "tree": "aae7ea1d5559718d6e264175aa1cb2ae1fc1e9ed",
      "parents": [
        "7dfc30b591aee167f0a38ab61a90894cc76f2066"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 22 18:52:29 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 23 10:03:00 2014 -0700"
      },
      "message": "ART: Make run tests out of oat tests\n\nTransforms all former oat tests into run tests.\n\nChange-Id: I190dd39456454c36e5538a2c044d993965a67533\n"
    }
  ]
}
