)]}'
{
  "log": [
    {
      "commit": "5bc561c31d119a964e54cf73b475f8eac044d905",
      "tree": "d8a7ad92f49cf2af6e5569ae2da99b709be612a9",
      "parents": [
        "7587082c370ef1a90797baf2371ee8e472b2adb8"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 16 17:41:59 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 18 14:03:05 2014 +0000"
      },
      "message": "Fix Thumb2 assembler to emit 16-bit add/sub SP, #imm.\n\nAlso allow 16-bit add rN, SP, #imm.\n\nChange-Id: I50100ad0b0e19a1c855a2319615e86d7a2b66a69\n"
    },
    {
      "commit": "3c7bb98698f77af10372cf31824d3bb115d9bf0f",
      "tree": "1cd4cc18babfbb16ab908f23929fa88d7678f06b",
      "parents": [
        "98cc1e552c2ccbe5d51bc81d49e79119280f5416"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 23 16:04:16 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 28 15:44:28 2014 +0100"
      },
      "message": "Implement array get and array put in optimizing.\n\nAlso fix a couple of assembler/disassembler issues.\n\nChange-Id: I705c8572988c1a9c4df3172b304678529636d5f6\n"
    },
    {
      "commit": "96f89a290eb67d7bf4b1636798fa28df14309cc7",
      "tree": "ca2b484a18107f8253aa7774cde304586a31bc60",
      "parents": [
        "4436e926aa8e64ac7e4c4afb81f2a59b2477045a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 11 10:57:49 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 21 09:54:20 2014 +0100"
      },
      "message": "Add assembly operations with constants in optimizing compiler.\n\nChange-Id: I5bcc35ab50d4457186effef5592a75d7f4e5b65f\n"
    },
    {
      "commit": "0bb9ade51635559f991259a7ac90d8570ad886aa",
      "tree": "b8fc0e1a304eeefac2b7d8f46c8ff8aee5b0435e",
      "parents": [
        "fee5586dac3bf22a31dbbffe7b4ca7e978e53185"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jun 26 17:57:36 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jun 26 18:14:50 2014 -0700"
      },
      "message": "Fix off-by-one errors in limit checking for ldr/str instructions.\n\nThe LDR/STR encoder in the thumb assembler had an off-by-one\nerror for limit checking for immediates.  This resulted in an\nassertion failure for things like \u0027ldr rx,[ry,#128]\u0027\n\nBug: 15876206\n\nChange-Id: Ic866212e2feae94e0bd4c753724898d84f5cb944\n"
    },
    {
      "commit": "45fdb93f04b981f70f7b6d98949ab3986b7331f8",
      "tree": "8233265f998fdd9d4de38acb5ed56a663b10c26e",
      "parents": [
        "1528b02c4d5241e785bb680f13de70c355e67429"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Jun 25 12:37:10 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jun 26 10:46:19 2014 -0700"
      },
      "message": "Support additional instructions in ARM and thumb assemblers\n\nThis adds the following support for the ARM and thumb assemblers:\n\n1. Shifting by a register.\n2. LDR/STR with a register offset, possibly shifted.\n3. LDR(literal).\n4. STR PC relative.\n\nAlso adds tests for them in the thumb assembler gtest.\n\nChange-Id: Ie467e3c1d06b699cacbdef3482ed9a92e4f1809b\n"
    },
    {
      "commit": "65fcc2cf3c5cd97b84330c094908f3a6a7a8d4e7",
      "tree": "fc0ce77d446477be37f0ec8c86d67df4941cac9b",
      "parents": [
        "e3b5cb502371aff7e7b7291facfc27b092e7803e"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Mon Apr 28 13:45:27 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jun 05 12:45:20 2014 -0700"
      },
      "message": "Thumb2 assembler for JNI compiler and optimizing compiler\n\nThis provides a programmatic assembler for the thumb2 instruction set for\nARM.  The interface is the same as the ARM assembler and the ARM assembler has\nbeen moved into Arm32Assembler.  The assembler handles most 16 and 32 bit instructions\nand also allows relocations due to branch expansion.  It will also rewrite cbz/cbnz\ninstructions if they go out of range.\n\nIt also changes the JNI compiler to use the thumb2 assembler as opposed\nto forcing it to use ARM32.  The trampoline compiler still uses ARM due to the\nway it returns the address of its generated code.  A trampoline in thumb2 is the\nsame size as that in ARM anyway (8 bytes).\n\nProvides gtest for testing the thumb2 instruction output.  This gtest only runs\non the host as it uses arm-eabi-objdump to disassemble the generated code.  On the\ntarget the output is not checked but the assembler will still be run to perform\nall its checks.\n\nChange-Id: Icd9742b6f13541bec5b23097896727392e3a6fb6\n"
    }
  ]
}
