)]}'
{
  "log": [
    {
      "commit": "55d7c18a1d76eea6d038205ccb9f2d385247f6ac",
      "tree": "58d55810040aaadad98717c12cae6505cf92dede",
      "parents": [
        "3d5872eb090a04a9444b5621d381eec3846f47a3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jan 05 15:17:01 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jan 06 10:59:56 2015 +0000"
      },
      "message": "Improve Thumb disassembler for LDR/STR/PUSH/POP/BKPT.\n\nDisassemble 16-bit Thumb PUSH, POP, BKPT.\n\nClean up 32-bit load/store to handle all cases (including\npreviously unrecognized indexed load/store) in one place;\nthis also fixes LDRSH erroneously disassembled as LDRSB.\n\nRecognize more UNDEFINED instructions and other minor\ncleanup.\n\nChange-Id: Ifdd177745b70e3f774cc0469deb81191b035f51b\n"
    },
    {
      "commit": "a262f7707330dccfb50af6345813083182b61043",
      "tree": "a8ab4e42654f47c9deea517f6c4e2020c62d5724",
      "parents": [
        "3e465bec65067ebfdf662469cf85dd82cd077bdd"
      ],
      "author": {
        "name": "Ningsheng Jian",
        "email": "ningsheng.jian@arm.com",
        "time": "Tue Nov 25 16:48:07 2014 +0800"
      },
      "committer": {
        "name": "Ningsheng Jian",
        "email": "ningsheng.jian@arm.com",
        "time": "Thu Dec 11 09:08:22 2014 +0800"
      },
      "message": "ARM: Combine multiply accumulate operations.\n\nTry to combine integer multiply and add(sub) into a MAC operation.\nFor AArch64, also try to combine long type multiply and add(sub).\n\nChange-Id: Ic85812e941eb5a66abc355cab81a4dd16de1b66e\n"
    },
    {
      "commit": "277ccbd200ea43590dfc06a93ae184a765327ad0",
      "tree": "d89712e93da5fb2748989353c9ee071102cf3f33",
      "parents": [
        "ad17d41841ba1fb177fb0bf175ec0e9f5e1412b3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 21:36:10 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 04 18:40:08 2014 -0800"
      },
      "message": "ART: More warnings\n\nEnable -Wno-conversion-null, -Wredundant-decls and -Wshadow in general,\nand -Wunused-but-set-parameter for GCC builds.\n\nChange-Id: I81bbdd762213444673c65d85edae594a523836e5\n"
    },
    {
      "commit": "cf7f19135f0e273f7b0136315633c2abfc715343",
      "tree": "ffa4d9efd9c45f4b6789acc1f534bb9327052b7e",
      "parents": [
        "aea6888b056be21adf762e066c7f33b8939b8a06"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 22 22:06:39 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 22 22:21:57 2014 -0700"
      },
      "message": "C++11 related clean-up of DISALLOW_..\n\nMove DISALLOW_COPY_AND_ASSIGN to delete functions. By no having declarations\nwith no definitions this prompts better warning messages so deal with these\nby correcting the code.\nAdd a DISALLOW_ALLOCATION and use for ValueObject and mirror::Object.\nMake X86 assembly operand types ValueObjects to fix compilation errors.\nTidy the use of iostream and ostream.\nAvoid making cutils a dependency via mutex-inl.h for tests that link against\nlibart. Push tracing dependencies into appropriate files and mutex.cc.\nx86 32-bit host symbols size is increased for libarttest, avoid copying this\nin run-test 115 by using symlinks and remove this test\u0027s higher than normal\nulimit.\nFix the RunningOnValgrind test in RosAllocSpace to not use GetHeap as it\nreturns NULL when the heap is under construction by Runtime.\n\nChange-Id: Ia246f7ac0c11f73072b30d70566a196e9b78472b\n"
    },
    {
      "commit": "c7dd295a4e0cc1d15c0c96088e55a85389bade74",
      "tree": "0c08a2236bc9ba5d9a4dc75d4dd0ed2d76f8f1c6",
      "parents": [
        "94e5af8602150efa95bde35cc9be9891ddf30135"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 21 23:31:19 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 22 12:06:23 2014 -0700"
      },
      "message": "Tidy up logging.\n\nMove gVerboseMethods to CompilerOptions. Now \"--verbose-methods\u003d\" option to\ndex2oat rather than runtime argument \"-verbose-methods:\".\nMove ToStr and Dumpable out of logging.h, move LogMessageData into logging.cc\nexcept for a forward declaration.\nRemove ConstDumpable as Dump methods are all const (and make this so if not\ncurrently true).\nMake LogSeverity an enum and improve compile time assertions and type checking.\nRemove log_severity.h that\u0027s only used in logging.h.\nWith system headers gone from logging.h, go add to .cc files missing system\nheader includes.\nAlso, make operator new in ValueObject private for compile time instantiation\nchecking.\n\nChange-Id: I3228f614500ccc9b14b49c72b9821c8b0db3d641\n"
    },
    {
      "commit": "fc787ecd91127b2c8458afd94e5148e2ae51a1f5",
      "tree": "ef48c0f511ee9bf4ed85607cc4d530bace7e6cae",
      "parents": [
        "8fa8c904f7c783204a1dc9438429391d256658da"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 09 21:56:44 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 09 22:22:46 2014 -0700"
      },
      "message": "Enable -Wimplicit-fallthrough.\n\nFalling through switch cases on a clang build must now annotate the fallthrough\nwith the FALLTHROUGH_INTENDED macro.\nBug: 17731372\n\nChange-Id: I836451cd5f96b01d1ababdbf9eef677fe8fa8324\n"
    },
    {
      "commit": "c8ccf68b805c92674545f63e0341ba47e8d9701c",
      "tree": "fb360323538cb242ebf7c5c0aca27d3a0bce0abb",
      "parents": [
        "fcabfbe577c0fd40910b565beb681bd4b66f6c5d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 29 20:07:43 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 29 20:13:48 2014 -0700"
      },
      "message": "ART: Fix some -Wpedantic errors\n\nRemove extra semicolons.\n\nDollar signs in C++ identifiers are an extension.\n\nNamed variadic macros are an extension.\n\nBinary literals are a C++14 feature.\n\nEnum re-declarations are not allowed.\n\nOverflow.\n\nChange-Id: I7d16b2217b2ef2959ca69de84eaecc754517714a\n"
    },
    {
      "commit": "2cbaccb67e22c0b313a9785bfc65bcb4b25d0676",
      "tree": "daeb766e19880b651fd9c4a719c9a07dd7d4bd0e",
      "parents": [
        "bace0378d720a1d2938ec7f6be17e2814671d20a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 14 20:34:17 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 16 12:50:08 2014 -0700"
      },
      "message": "Avoid printing absolute addresses in oatdump\n\n- Added printing of OatClass offsets.\n- Added printing of OatMethod offsets.\n- Added bounds checks for code size size, code size, mapping table, gc map, vmap table.\n- Added sanity check of 100k for code size.\n- Added partial disassembly of questionable code.\n- Added --no-disassemble to disable disassembly.\n- Added --no-dump:vmap to disable vmap dumping.\n- Reordered OatMethod info to be in file order.\n\nBug: 15567083\n\n(cherry picked from commit 34fa79ece5b3a1940d412cd94dbdcc4225aae72f)\n\nChange-Id: I2c368f3b81af53b735149a866f3e491c9ac33fb8\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": "20dfc797dc631bf8d655dcf123f46f13332d3074",
      "tree": "c1d4e4f919d54f39a6d39d9d769ed5a844afb22b",
      "parents": [
        "cbb0e809c0a4e8a4e8b7f5d3768a1864cfb381bb"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Mon Jun 16 20:44:29 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue Jun 24 09:05:27 2014 -0700"
      },
      "message": "Add some more instruction support to optimizing compiler.\n\nThis adds a few more DEX instructions to the optimizing compiler\u0027s\nbuilder (constants, moves, if_xx, etc).\n\nAlso:\n* Changes the codegen for IF_XX instructions to use a condition\n  rather than comparing a value against 0.\n* Fixes some instructions in the ARM disassembler.\n* Fixes PushList and PopList in the thumb2 assembler.\n* Switches the assembler for the optimizing compiler to thumb2\n  rather than ARM.\n\nChange-Id: Iaafcd02243ccc5b03a054ef7a15285b84c06740f\n"
    },
    {
      "commit": "ff093b31d75658c3404f9b51ee45760f346f06d9",
      "tree": "16a11ff5a78862defcc169b0af2901360a57ab6a",
      "parents": [
        "b3016551e5f264264dbb633a1ddf03ac97f9c66c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 30 19:04:27 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 01 08:31:01 2014 -0700"
      },
      "message": "Fix a few 64-bit compilation of 32-bit code issues.\n\nBug: 13423943\n\nChange-Id: I939389413af0a68c0d95b23cd598b7c42afa4383\n"
    },
    {
      "commit": "d6ed642458c8820e1beca72f3d7b5f0be4a4b64b",
      "tree": "1b6e0438f786d6eeb5566e176d71d454a6cdb9e5",
      "parents": [
        "f9487c039efb4112616d438593a2ab02792e0304"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Apr 09 23:36:15 2014 +0000"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Apr 09 23:36:15 2014 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Use trampolines for calls to helpers\"\"\"\n\nThis reverts commit f9487c039efb4112616d438593a2ab02792e0304.\n\nChange-Id: Id48a4aae4ecce73db468587967968a3f7618b700\n"
    },
    {
      "commit": "f9487c039efb4112616d438593a2ab02792e0304",
      "tree": "95f88645bec774d3e8df170bd0f40e4cd0911a34",
      "parents": [
        "b24b0e2bb128532945b31ea62715776d7751f84d"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue Apr 08 23:08:12 2014 +0000"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Apr 09 13:18:07 2014 -0700"
      },
      "message": "Revert \"Revert \"Use trampolines for calls to helpers\"\"\n\nThis reverts commit 081f73e888b3c246cf7635db37b7f1105cf1a2ff.\n\nChange-Id: Ibd777f8ce73cf8ed6c4cb81d50bf6437ac28cb61\n\nConflicts:\n\tcompiler/dex/quick/mir_to_lir.h\n"
    },
    {
      "commit": "081f73e888b3c246cf7635db37b7f1105cf1a2ff",
      "tree": "3ad0cab1dfa3bca814ab162cb04af125e819e623",
      "parents": [
        "754ddad084ccb610d0cf486f6131bdc69bae5bc6"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Mon Apr 07 18:58:07 2014 +0000"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Mon Apr 07 18:58:07 2014 +0000"
      },
      "message": "Revert \"Use trampolines for calls to helpers\"\n\nThis reverts commit 754ddad084ccb610d0cf486f6131bdc69bae5bc6.\n\nChange-Id: Icd979adee1d8d781b40a5e75daf3719444cb72e8\n"
    },
    {
      "commit": "754ddad084ccb610d0cf486f6131bdc69bae5bc6",
      "tree": "18d8314f3f6760b035c2bcda7760782ad4f0e0bf",
      "parents": [
        "97a332b4476d5a2b4ad0650dacc6bfcff882fc57"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Feb 19 14:05:39 2014 -0800"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri Apr 04 16:07:46 2014 -0700"
      },
      "message": "Use trampolines for calls to helpers\n\nThis is an ARM specific optimization to the compiler\nthat uses trampoline islands to make calls to runtime\nhelper functions.  The intention is to reduce the size\nof the generated code (by 2 bytes per call) without\naffecting performance.\n\nBy default this is on when generating an OAT file.  It is\noff when compiling to memory.\n\nTo switch this off in dex2oat, use the command line option:\n--no-helper-trampolines\n\nEnhances disassembler to print the trampoline entry on the\nBL instruction like this:\n\n0xb6a850c0: f7ffff9e  bl      -196 (0xb6a85000)  ; pTestSuspend\n\nBug: 12607709\nChange-Id: I9202bdb7cf21252ad807bd48701f1f6ce8e3d0fe\n"
    },
    {
      "commit": "c777e0de83cdffdb2e240d439c5595a4836553e8",
      "tree": "29089f785817b5ae59b8cc333b6fd0e8261bcd94",
      "parents": [
        "0537c5ea92a4fb60a04024cc2b7247f08a3d9096"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 03 17:59:02 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 03 21:17:30 2014 +0100"
      },
      "message": "Disassemble Thumb2 shifts and more VFP instructions.\n\nDisassemble Thumb2 instructions LSL, LSR, ASR, ROR and VFP\ninstructions VABS, VADD, VSUB, VMOV, VMUL, VNMUL, VDIV.\n\nClean up disassembly of VCMP, VCMPE, VNEG and VSQRT. These\ncould have been erroneously used for other insns (VSQRT for\nVMOV was encountered) and one VSQRT branch was unreachable.\n\nRemove duplicate VMOV opcodes from compiler.\n\nChange-Id: I160a1e3e4b6eabb6a5101ce348ffd49c0573257d\n"
    },
    {
      "commit": "dd7624d2b9e599d57762d12031b10b89defc9807",
      "tree": "c972296737f992a84b1552561f823991d28403f0",
      "parents": [
        "8464a64a50190c06e95015a932eda9511fa6473d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Mar 14 17:43:00 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 01 08:24:16 2014 -0700"
      },
      "message": "Allow mixing of thread offsets between 32 and 64bit architectures.\n\nBegin a more full implementation x86-64 REX prefixes.\nDoesn\u0027t implement 64bit thread offset support for the JNI compiler.\n\nChange-Id: If9af2f08a1833c21ddb4b4077f9b03add1a05147\n"
    },
    {
      "commit": "7d180cb41d3104af7c85a5b808bb9f57c264c2a6",
      "tree": "5834b83ef7395a9ee9c5ceb8f1c4b4f2ae052c91",
      "parents": [
        "027f7fa539514d2a50b448de1de39ac307087483"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Mar 25 10:31:04 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Mar 25 10:31:52 2014 -0700"
      },
      "message": "Fix imm5 and shift_type detection\n\nBug: 13628315\nChange-Id: I8ff044cc18721b7ea50c75c796a2fb63a1e189f9\n"
    },
    {
      "commit": "38e12034f1ef2b32e98b6e49cb36b7cc37a7f1be",
      "tree": "9a879d4034bce742c8b5ef0680c2da2d8da5139d",
      "parents": [
        "fb5b21d1d598b6b42e5d5ca1dac4a040832558fb"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Mar 14 14:06:14 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Mar 14 14:16:04 2014 -0700"
      },
      "message": "x86-64 disassembler support.\n\nChange-Id: I0ae39ae1ffdae2500ff368354f9e4702445176f0\n"
    },
    {
      "commit": "c2687ef3ef95c9888af885ec3fa1516b218906ff",
      "tree": "79604605fc47c44f5bc6d65f3f32b39e71ea2e61",
      "parents": [
        "b9d50a9829b795932eac4cc50a99b4ce80b0ecb4"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Mar 13 15:12:11 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Mar 13 15:12:11 2014 -0700"
      },
      "message": "Avoid bus error from reading unaligned 64-bit literal\n\nChange-Id: I5932f130e6a8d31e09ef615e8544ff0e1073ede9\n"
    },
    {
      "commit": "e19649a91702234f9aa9941d76da447a1e0dcc2a",
      "tree": "76e8f8c99aaf462f2cb52a049a96819fc9dc7c95",
      "parents": [
        "d57abe5f75e2c82052d7396d6ec6eafc7f3af58a"
      ],
      "author": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Thu Feb 27 13:30:55 2014 +0000"
      },
      "committer": {
        "name": "Stuart Monteith",
        "email": "srdmarm@gmail.com",
        "time": "Mon Mar 10 14:11:54 2014 +0000"
      },
      "message": "ARM: Remove duplicated instructions; add vcvt, vmla, vmls disassembler.\n\nRemove kThumb2VcvtID in the assembler which was duplicated.\nAdd vcvt, vmla, vmls in the disassembler.\n\nChange-Id: I14cc39375c922c9917274d8dcfcb515e888fdf26\n"
    },
    {
      "commit": "ef7d42fca18c16fbaf103822ad16f23246e2905d",
      "tree": "c67eea52a349c2ea7f2c3bdda8e73933c05531a8",
      "parents": [
        "822115a225185d2896607eb08d70ce5c7099adef"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jan 06 12:55:46 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 06 23:20:27 2014 -0800"
      },
      "message": "Object model changes to support 64bit.\n\nModify mirror objects so that references between them use an ObjectReference\nvalue type rather than an Object* so that functionality to compress larger\nreferences can be captured in the ObjectRefererence implementation.\nObjectReferences are 32bit and all other aspects of object layout remain as\nthey are currently.\n\nExpand fields in objects holding pointers so they can hold 64bit pointers. Its\nexpected the size of these will come down by improving where we hold compiler\nmeta-data.\nStub out x86_64 architecture specific runtime implementation.\nModify OutputStream so that reads and writes are of unsigned quantities.\nMake the use of portable or quick code more explicit.\nTemplatize AtomicInteger to support more than just int32_t as a type.\nAdd missing, and fix issues relating to, missing annotalysis information on the\nmutator lock.\nRefactor and share implementations for array copy between System and uses\nelsewhere in the runtime.\nFix numerous 64bit build issues.\n\nChange-Id: I1a5694c251a42c9eff71084dfdd4b51fff716822\n"
    },
    {
      "commit": "ef6a776af2b4b8607d5f91add0ed0e8497100e31",
      "tree": "dbff2e90823f07915efab7abc5a3e31182b2f2ae",
      "parents": [
        "8ec304764fdc97ee300175ebed16622eddfb6f1f"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 19 17:58:05 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 08 14:09:53 2014 -0800"
      },
      "message": "Inline codegen for long-to-double on ARM.\n\nChange-Id: I4fc443c1b942a2231d680fc2c7a1530c86104584\n"
    },
    {
      "commit": "b122a4bbed34ab22b4c1541ee25e5cf22f12a926",
      "tree": "624f16271f4481a8fd5aa2f607385f490dc7b3ae",
      "parents": [
        "e40687d053b89c495b6fbeb7a766b01c9c7e039c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 19 18:00:50 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Dec 20 08:01:57 2013 -0800"
      },
      "message": "Tidy up memory barriers.\n\nChange-Id: I937ea93e6df1835ecfe2d4bb7d84c24fe7fc097b\n"
    },
    {
      "commit": "3e5af82ae1a2cd69b7b045ac008ac3b394d17f41",
      "tree": "de4cb3a63320db48bc942de670552167e1d7bea3",
      "parents": [
        "5da3778746375b73e7e77c5f1371f29684674776"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 21 15:01:20 2013 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 26 17:50:59 2013 +0000"
      },
      "message": "Intrinsic Unsafe.CompareAndSwapLong() for ARM.\n\n(cherry picked from cb53fcd79b1a5ce608208ec454b5c19f64aaba37)\n\nChange-Id: Iadd3cc8b4ed390670463b80f8efd579ce6ece226\n"
    },
    {
      "commit": "2247984899247b1402408d39731ff64048f0e274",
      "tree": "da948b429b97506a1dc165debb4f8b5a4c0a585d",
      "parents": [
        "ba9ece9c58de90b39c39b29dbdaee54b1654c066"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 19 17:04:50 2013 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 19 17:07:08 2013 +0000"
      },
      "message": "Clean up kOpCmp on ARM.\n\nkThumb2CmnRI8M is now used.\n\nChange-Id: I300299258ed99d86c300dee45c904c360dd44638\n"
    },
    {
      "commit": "ad435ebd9d011eef66ef77e96b065024220c10ad",
      "tree": "c6b4fcbe0493ffaafbcc4daf4e38cb915813fbc0",
      "parents": [
        "500793f33b8af8bc7ccf5595a66b4b13bce766bc"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 15 15:21:25 2013 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 15 15:21:25 2013 +0000"
      },
      "message": "Fix Thumb2 ldrd/strd disassembly.\n\nChange-Id: Ie75aeab5b970640e90e567621ac45ce1a3a7c377\n"
    },
    {
      "commit": "dd577a3c9849105429fe7afb3559773d59aaafb6",
      "tree": "8add7895dce203bc984f91ef7df21ff4324b61ea",
      "parents": [
        "e21a40730ae51d8dfd0633dc021765a7839f70dc"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 07 19:25:24 2013 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 07 22:35:44 2013 +0000"
      },
      "message": "Disassemble Thumb2 vstm/vldm/vstr/vldr/vpush/vpop/vmov/vmrs.\n\nNot all versions of vmov are disassembled.\n\nChange-Id: I876199f7536d2a9429106deab821016fe8972469\n"
    },
    {
      "commit": "7020278bce98a0735dc6abcbd33bdf1ed2634f1d",
      "tree": "533cf9a77046a49525d916043a58949e59319f2d",
      "parents": [
        "67f128a4023bbbe55827dd2c11ed0538ee387233"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue Oct 22 17:52:19 2013 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue Nov 05 16:48:53 2013 -0800"
      },
      "message": "Support hardware divide instruction\n\nBug: 11299025\n\nUses sdiv for division and a combo of sdiv, mul and sub for modulus.\nOnly does this on processors that are capable of the sdiv instruction, as determined\nby the build system.\n\nAlso provides a command line arg --instruction-set-features\u003d to allow cross compilation.\nMakefile adds the --instruction-set-features\u003d arg to build-time dex2oat runs and defaults\nit to something obtained from the target architecture.\n\nProvides a GetInstructionSetFeatures() function on CompilerDriver that can be\nqueried for various features.  The only feature supported right now is hasDivideInstruction().\n\nAlso adds a few more instructions to the ARM disassembler\n\nb/11535253 is an addition to this CL to be done later.\n\nChange-Id: Ia8aaf801fd94bc71e476902749cf20f74eba9f68\n"
    },
    {
      "commit": "1f6754dc482f0175acb05275a82b9950c3d268ee",
      "tree": "2d32754a38701eafc4a9ae2ce8a6570e16b486b5",
      "parents": [
        "a8b4caf7526b6b66a8ae0826bd52c39c66e3c714"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 28 20:27:17 2013 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 28 20:27:17 2013 +0000"
      },
      "message": "Fix whitespace-sensitive build.\n\nChange-Id: I82c6c49e253275543831dbaf288cb63d759ea20a\n"
    },
    {
      "commit": "a8b4caf7526b6b66a8ae0826bd52c39c66e3c714",
      "tree": "3393e7eeea6ae173caa59edd18b7c2c4c014650a",
      "parents": [
        "17088bbded68e35da8050a40206dfd3cbba9e6d2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 24 15:08:57 2013 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 28 18:30:48 2013 +0000"
      },
      "message": "Add byte swap instructions for ARM and x86.\n\nChange-Id: I03fdd61ffc811ae521141f532b3e04dda566c77d\n"
    },
    {
      "commit": "a9650dd5e7195aec987a69a6ebbdaf33f73a6b00",
      "tree": "bf7bf34e4ce1791c24b3d7f9cc588d8d37bec160",
      "parents": [
        "9f69b62e6b009b29e6420c49e7444e91466a6a33"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 04 08:23:32 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 04 08:23:32 2013 -0700"
      },
      "message": "Implement thumb expansion of immediates.\n\nChange-Id: Ie50c17f82cbf97a16b58350b378914030cc0499f\n"
    },
    {
      "commit": "02ed4c04468ca5f5540c5b704ac3e2f30eb9e8f4",
      "tree": "fd568452f4ae81868087e9a5f6c04a9051d0ef83",
      "parents": [
        "28c2300d9a85f4e7288fb5d94280332f923b4df3"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 06 13:10:04 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Sep 09 08:33:36 2013 -0700"
      },
      "message": "Move disassembler out of runtime.\n\nBug: 9877500.\nChange-Id: Ica6d9f5ecfd20c86e5230a2213827bd78cd29a29\n"
    },
    {
      "commit": "7934ac288acfb2552bb0b06ec1f61e5820d924a4",
      "tree": "43f3acd8af7fd34d4ae7b64f6e06bb8429d74bb8",
      "parents": [
        "fb331d7ca004f39608fcfdae49d38df90c702ea9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 26 10:54:15 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 26 11:55:10 2013 -0700"
      },
      "message": "Fix cpplint whitespace/comments issues\n\nChange-Id: Iae286862c85fb8fd8901eae1204cd6d271d69496\n"
    },
    {
      "commit": "1895ea386ca78573302483f589ebabd8ce1480e7",
      "tree": "d8c2d27ac746f29c8248fe17fd6b8e9872556fc4",
      "parents": [
        "3e3d591f781b771de89f3b989830da2b6ac6fac8"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 18 13:28:37 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 18 14:38:27 2013 -0700"
      },
      "message": "Fix cpplint readability/fn_size issues\n\nChange-Id: I1efdb07a948a2af49db1a9d21ccab16dacc03a54\n"
    },
    {
      "commit": "df62950e7a32031b82360c407d46a37b94188fbb",
      "tree": "038bf95a2ce296ae3e0c30a131ac22c0986f0f52",
      "parents": [
        "0cd7ec2dcd8d7ba30bf3ca420b40dac52849876c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 17 22:39:56 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 18 00:13:18 2013 -0700"
      },
      "message": "Fix cpplint whitespace/parens issues\n\nChange-Id: Ifc678d59a8bed24ffddde5a0e543620b17b0aba9\n"
    },
    {
      "commit": "7940e44f4517de5e2634a7e07d58d0fb26160513",
      "tree": "ac90242d96229a6942f6e24ab137bc1f8f2e0025",
      "parents": [
        "5cd9e3b122f276f610980cbaf0d2ad6ed4cd9088"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 13:46:57 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 17:49:01 2013 -0700"
      },
      "message": "Create separate Android.mk for main build targets\n\nThe runtime, compiler, dex2oat, and oatdump now are in seperate trees\nto prevent dependency creep.  They can now be individually built\nwithout rebuilding the rest of the art projects. dalvikvm and jdwpspy\nwere already this way. Builds in the art directory should behave as\nbefore, building everything including tests.\n\nChange-Id: Ic6b1151e5ed0f823c3dd301afd2b13eb2d8feb81\n"
    },
    {
      "commit": "828a07f4b378918673aa56711fa8cf487112659d",
      "tree": "ed98b6d3c273ef272d04bbc8eb71c3d3c1fcef48",
      "parents": [
        "50239c75041df9e12f9cbb018ccc08af6890e102"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jun 18 22:27:34 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jun 18 22:27:34 2013 -0700"
      },
      "message": "Fix cbz disassembly bug.\n\nChange-Id: Ib7d3288cea4aff15e8e95d912982cbccabbdf625\n"
    },
    {
      "commit": "7761cb669da36384df8c449c864f826ae3db6ac8",
      "tree": "46acdf2e7b1e031fb3c6ef3aa496ad51e0a33367",
      "parents": [
        "c4378df76edd637273813fef4da7f01c4e637def"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jun 17 14:10:46 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jun 17 14:10:46 2013 -0700"
      },
      "message": "Fix disassembly of 16bit thumb branches.\n\nEnsure proper sign-extension.\n\nChange-Id: I5a26daf1e7edb0ef6944e92c06be3ad0eec42d92\n"
    },
    {
      "commit": "4a999e2424610f7a20ea0b0f25828f9205a83536",
      "tree": "f5eedcf8faa1476ccb902f8cb6aaf1c26519a530",
      "parents": [
        "bd86bccf1b47f1151842152ee52cf5d46d6b34ab"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Mar 11 16:57:09 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Mar 11 16:57:09 2013 -0700"
      },
      "message": "Remove DCHECKs from DisassemblerArm\n\nAvoids crashing when disassembling inline data.\n\nChange-Id: I8171894c12e8276737827e8451903bc10255c82f\n"
    },
    {
      "commit": "d9e63c08f0ebc70085652e5b7b18a8abfa032b1e",
      "tree": "5cb23ea2725e744882a90a6665cdf6b65ba78e18",
      "parents": [
        "32fa6bf4785ef1cf159abed27a2e3753e99c4905"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Feb 22 15:19:55 2013 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Feb 25 09:45:49 2013 +0100"
      },
      "message": "Update ARM disassembler.\n\nFixes disassembly of Thumb data processing shifted-register instructions:\n- Fix the opcode selection criteria: Rn/Rd\u003d\u003d0xF (only Rn was tested).\n- Print shift operand: type + immediate (for instance \"lsl #3\").\n\nThese instructions can be seen with oatdump when disassembling an oat file\ngenerated by the Portable compiler.\n\nNote: we do not use canonical form of shifted-mov here. We could improve this\nby printing \"lsl r1, r1, #3\" rather than \"mov r1, r1, lsl #3\" to the output.\n\nChange-Id: I9ebb1f6852b621b62160b744f4d0fca66cc24d3c\n"
    },
    {
      "commit": "e78500c23c004c9b4756c4a6c4f4069d34e1aa4a",
      "tree": "18f419df0df70a1052310308ecb6fec040cdf35b",
      "parents": [
        "6324e2174e60e951f4e7dab22dc65bafd730e097"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Feb 19 14:29:52 2013 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Feb 19 14:39:39 2013 +0100"
      },
      "message": "Fix ARM disassembler for shift immediate instructions.\n\nFixed disassembly of Thumb instructions lsls, lsrs and asrs with immediate.\nDisassembler used incorrect bit position for destination register (Rd).\n\nChange-Id: I2a486201bbb941d4c788183602c8f80fd8eaf35a\n"
    },
    {
      "commit": "d0876a9b6d1b58409f642c3886cabb42bcd0ae09",
      "tree": "1a3ca210f7a6682513dad3efaca9f0af9fac95df",
      "parents": [
        "550191374245cc43089c916a34b292cc4e617daf"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 08 11:30:38 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 08 11:30:38 2013 -0800"
      },
      "message": "Thumb32 form branch disassembly.\n\nChange-Id: I3a1af9164047b2d4ee1e215909e287be05a38bde\n"
    },
    {
      "commit": "550191374245cc43089c916a34b292cc4e617daf",
      "tree": "d53d0f6a51b0ce0bb930051daa0b1fbf7335bb0d",
      "parents": [
        "b524db1731d2e679c980d26df568d51e63458ca3"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 08 01:05:23 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 08 01:05:23 2013 -0800"
      },
      "message": "Disassembly of movt.\n\nAlso tweak thumb 32 adr encoding, and cover all thumb 16 cbz/cbnz cases.\n\nChange-Id: Ie8cbb1715c593538a852987a8a5b98080565093f\n"
    },
    {
      "commit": "7cb0f9cf9c7798ae9c4d6cad47e7861f7a511f7e",
      "tree": "9717f08d1cc5cf1b9f1c6b2dc5f7764dd69952ce",
      "parents": [
        "cb4bf70c20301a61d0148c23b2ddb403331ab1e6"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Feb 04 16:15:27 2013 -0800"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Feb 04 16:15:27 2013 -0800"
      },
      "message": "Fix ARM 32-bit thumb dissassembly for certain special cases.\n\nFixed 32-bit thumb instructions of the form \"Data-processing (modified\nimmediate)\". Disassembler didn\u0027t handle special cases where Rn was 0xF\nor Rd:S was 0x1F.\n\nChange-Id: I821a040cf3f91fadc890ddd0a7bf7162a2519854\n"
    },
    {
      "commit": "eae2691d6120e2f34845eaffec5358d9dd8618eb",
      "tree": "031b266b9a8a31dcc58100e397f0f648eeb506c7",
      "parents": [
        "700c8d31733534a3d978b75a03f6f7e177dc7e81"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Jan 28 16:29:54 2013 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Jan 28 16:29:54 2013 -0800"
      },
      "message": "Improve ARM thumb disassembler output.\n\nAdded BFI/BFC, LDRH.W/LDRSH.W, LDR (from pc), and B (conditional).\n\nChange-Id: Iaf17520e0643b9e2da9e649a5d99f0274ece7529\n"
    },
    {
      "commit": "e222ee0b794f941af4fb1b32fb8224e32942ea7b",
      "tree": "0b9f5fe6398663c9d871881cf7de28eca8bdfc6f",
      "parents": [
        "1aa246dec5abe212f699de1413a0c4a191ca364a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 13 14:41:43 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 13 15:24:45 2012 -0800"
      },
      "message": "Move stringpiece.h and stringprintf.h to base/.\n\nChange-Id: I7f71b4a12f99c5f81771146c66629ae5a947b229\n"
    },
    {
      "commit": "07ed66b5ae659c452cbe1ab20c3dbf1d6f546461",
      "tree": "2350745da33df6fcb9fb0c9059e55ea5d5ea8f67",
      "parents": [
        "76b6167407c2b6f5d40ad895b2793a6b037f54b2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 18:34:25 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 18:35:05 2012 -0800"
      },
      "message": "Move logging.h into base/logging.h.\n\nChange-Id: Id68f85f7c3a71b156cb40dec63f94d4fb827f279\n"
    },
    {
      "commit": "2bcb4a496b7aa00d996df3a070524f7568fb35a1",
      "tree": "8422ab8d65b7422008094b2eaadec0dad87b2df3",
      "parents": [
        "efc6369224b036a1fb77849f7ae65b3492c832c0"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Nov 08 10:39:18 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 16 14:01:34 2012 -0800"
      },
      "message": "Add \"kind\" argument to Get/SetVReg.\n\nIn order to determine where a register is promoted its necessary to know\nthe kind of use of the register.\nExtend notion of precise-ness to numeric verifier register types.\nDump verifier output in oatdump.\nDump vregs with their location or constant value.\nIntroduce indenting ostream utility.\n\nChange-Id: Ia3d29497877976bc24465484743bca08236e1768\n"
    },
    {
      "commit": "b23a7729cf7855fa05345d03a4d84111d5ec7172",
      "tree": "5313e076b19387db3cbcac95225d3f098f19451d",
      "parents": [
        "137e88f798857321f4007631fdf052d2830ec2c4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 09 16:54:26 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 09 16:54:26 2012 -0700"
      },
      "message": "Dump maps inline in disassembled code.\n\nIn pursuit of Bug: 7250540, dump mapping and GC map tables inline such\nas:\n\n0x607333a8: f8dfe11c    ldr.w   lr, [pc, #284]  ; 0x6076416d\n0x607333ac: 1c05        mov     r5, r0\n0x607333ae: f8df0144    ldr.w   r0, [pc, #324]  ; 0x6003ba08\n0x607333b2: 9a0b        ldr     r2, [sp, #44]\n0x607333b4: f04f0b2f    orr     r11, pc, ThumbExpand(47)\n0x607333b8: 1c29        mov     r1, r5\n0x607333ba: 465b        mov     r3, r11\n0x607333bc: 2900        cmp     r1, #0\n0x607333be: f0008070    beq.w   +224 (0x607334a2)\n0x607333c2: 47f0        blx     lr\nsuspend point dex PC: 44\nGC map objects:  v2 (r7), v3 (r5), v6 ([sp + #84]), v7 (r6)\n...\n\nAs GC map and mapping tables are inline, don\u0027t dump them.\nAlso dump dex instructions before code.\n\nChange-Id: I9f0c04182a4cda6844027eae22e8151f2827dc99\n"
    },
    {
      "commit": "137e88f798857321f4007631fdf052d2830ec2c4",
      "tree": "7ed6a166328adbc5109fbb5b07a1cdc4e3bbb739",
      "parents": [
        "7469ebf3888b8037421cb6834f37f946646265ec"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Oct 08 17:46:47 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 09 14:16:35 2012 -0700"
      },
      "message": "Fast path interface dispatch.\n\nInterface dispatch when the method we\u0027re dispatching against is known\ncurrently goes slow path. This change makes the load of the interface\nmethod either a load of a constant or from the resolve methods table. It\nalso makes the null check on the \"this\" pointer inline.\n\nChange-Id: I69571a062d3d693bee2dec6e46a456e0f74411cd\n"
    },
    {
      "commit": "0183dd7297709ef0beb31e120fc34fdd12f61915",
      "tree": "046d4236a22175d3d983b3131635490a2db8c52c",
      "parents": [
        "221cf4435df4373a6c2d4a3cfc4abd76f1233c81"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Sep 17 23:06:51 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Sep 18 09:15:23 2012 -0700"
      },
      "message": "Sqrt intrinsic\n\nPerform math intrinsics on StrictMath when appropriate following Dalvik\nchange: https://android-review.googlesource.com/42932\n\nFilter package name of intrinsic methods to reduce number of\ncomparisons.\n\nChange-Id: Iff97c501d4386f76d3f2297406417fa3b76d0a8a\n"
    },
    {
      "commit": "d83bc36185c8b2a763c79fa364b5387faa26c669",
      "tree": "128211da40646cb37526b0723b59767a4fba403a",
      "parents": [
        "c8982582778cc1571b65519e1112441be59a5f83"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 07 17:43:13 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 07 17:45:36 2012 -0700"
      },
      "message": "Disassembly support for Thumb16 load/store single data item.\n\nChange-Id: Iecb4230860bafe084d8808adb51f83a426cf91d6\n"
    },
    {
      "commit": "9af8940be07c83b150c6922fa341b854daf37455",
      "tree": "3a6302f1500ad1e625632f3d826d89ad82f52b82",
      "parents": [
        "581b2ea85d9b382f6b14efadc9d2d36b526ef7c5"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 07 11:29:35 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 07 11:29:35 2012 -0700"
      },
      "message": "Support for disassembly of dsb, ldrex and strex.\n\nAlso print IT conditions for 32bit thumb operations.\n\nChange-Id: Ie696dd7057730962efb791ba55041a2a70d1a975\n"
    },
    {
      "commit": "748474146da0c6484fa3dca0a700f612d47550c3",
      "tree": "58837d0fa82d4099eb4b82b2fd3d2bbf4294e4aa",
      "parents": [
        "92e3134cd84c134f167175288671a1e6838c908f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 20 18:10:21 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 21 09:14:27 2012 -0700"
      },
      "message": "Fix a bunch of lint.\n\nThere are still about 1800 lint warnings, so don\u0027t get too excited...\n\nChange-Id: I2394bd6e750b94060231378b3a7a88b87f70c757\n"
    },
    {
      "commit": "1ca98499b837491f2519ca7d7d42354a0dbd45a2",
      "tree": "3dc254a33a6052478101f50500e07d7f90adcc6c",
      "parents": [
        "a47468765b3c314b4b76959e3976af4f012bc533"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 12 17:21:02 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 12 17:29:48 2012 -0700"
      },
      "message": "Fix ARM disassembly of LDR/STR offsets, always include the sign in branch offsets.\n\nExamples:\n\n            0x60cdd80c: e599c1e4    ldr     r12, [r9, #484]  ; pDeliverException\n\n            0x60cdd7c4: 1a00000b    bne     +44 (0x60cdd7f8)\n            0x60cdd804: eaffffef    b       -68 (0x60cdd7c8)\n\nI now believe the entire disassembly of our JNI stubs.\n\nChange-Id: Ibf4ae7e767054e78b8e763cb20eea6b73fb6f0e7\n"
    },
    {
      "commit": "ebbc5779756bc73df286254eb62641af2c12b771",
      "tree": "a2cfb45c633be3763b78364cdff50b5eca81fffd",
      "parents": [
        "e2645d3e2db211bfd75775a2185c135ff387161a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 11 17:00:08 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 11 17:00:08 2012 -0700"
      },
      "message": "CBNZ disassembly.\n\nChange-Id: I7ee05fd1c5ae9465094dca0f25e5da5357064ff7\n"
    },
    {
      "commit": "d86261ed72e4fb294f602e1831306612291b0f24",
      "tree": "822900e7da746a64747e0d829ee938eccc516814",
      "parents": [
        "61a9c617f9690b0132580efa2062de88845450dd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 11 11:23:23 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 11 11:23:23 2012 -0700"
      },
      "message": "Sign-extend ARM B targets.\n\nExamples:\n\n            0x60cdd7c4: 1a00000b    bne     44 (0x60cdd7f8)\n\n            0x60cdd804: eaffffef    b       -68 (0x60cdd7c8)\n\nChange-Id: Id8c895dcd6153654975e652fa28638a15e00b538\n"
    },
    {
      "commit": "3d71d0799748aac23ce5935d61b909bec6e96461",
      "tree": "e9df4425b3f6aeb889c0e30d0a54fb667b8a70ea",
      "parents": [
        "836eb8086a58cefb2cd7c31df86ac071f80f0fda"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 10 18:28:35 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 10 18:28:35 2012 -0700"
      },
      "message": "Improve ARM disassembler to cope with JNI stubs.\n\nAlso decode r9-relative loads/stores, and add the Thread::state_ offset.\n\nAlso lose the implicit \u0027s\u0027 on the test instructions, and don\u0027t show the\ndestination register for those instructions, since they don\u0027t use it.\n\nExamples:\n\n            0x60cdd718: e599c060    ldr     r12, [r9, #96]  ; top_sirt_\n\n            0x60cdd754: e589c06c    str     r12, [r9, #108]  ; state_\n\n            0x60cdd760: e35c0000    cmp     r12, #0\n\n            0x60cdd7c4: 1a00000b    bne     44 (0x60cdd7f8)\n\n            0x60cdd814: e1200070    bkpt    #0\n\nChange-Id: I4afa9f47267daefded46211d62718fd7fb87cf97\n"
    },
    {
      "commit": "105afd2bd8f9f0ddfcfcb4b8db9f356ee82ae8cd",
      "tree": "fc5b59d5cd6f5ad4dccbe42c19fbd71e86271cef",
      "parents": [
        "b92bcabcbb28f69fe99e1c2f2e5559ab2c47aa60"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 10 15:04:25 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 10 15:04:25 2012 -0700"
      },
      "message": "Fancy disassembly of Thumb2 IT blocks.\n\nExample:\n\n            0x60ce6ea4: 4291        cmp     r1, r2\n            0x60ce6ea6: bf0e        itee    eq\n            0x60ce6ea8: 2001        movseq  r0, #1\n            0x60ce6eaa: 1c10        movne   r0, r2\n            0x60ce6eac: 47f0        blxne   lr\n            0x60ce6eae: 1c06        mov     r6, r0\n\nChange-Id: I85deae2e471b8bfc513281be421e0bd46c1b60a0\n"
    },
    {
      "commit": "5b9b1bc168e1198e287cf013254c89389efca70d",
      "tree": "b14c088555ea020e4af8645b4a862f164a88f9d8",
      "parents": [
        "d3fb569391be72184248a78bd1d920ecf5bc3b55"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Apr 09 22:51:43 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Apr 09 22:51:43 2012 -0700"
      },
      "message": "Disassemble PC relative literals.\n\nChange-Id: I9b60e0efc9e311c085abb60dc867407ee17dc61b\n"
    },
    {
      "commit": "66a3fca76997b2d33900faf3ef0cf8226d3a0b58",
      "tree": "7d873bd2e579724595c73dec765082b1edc41f71",
      "parents": [
        "01f3c329ccb521c3beeafeb81b6be9b5abc4e12e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Apr 09 19:51:34 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Apr 09 21:04:52 2012 -0700"
      },
      "message": "Add extra 32bit Thumb2 disassembly.\n\nChange-Id: Ib3d6937a768d6ce9f4b81f7fd4e071acdfe48bb7\n"
    },
    {
      "commit": "28fa76d17d741238da86dbdb47f721ae97c9eac8",
      "tree": "de34f96fbbda6d650db267bd595a20191b9a07cf",
      "parents": [
        "82914b6164fd0109531391975389e4f0ff6832c8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 09 17:31:46 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 09 17:59:35 2012 -0700"
      },
      "message": "A dirty (but useful) hack to decode thread offsets in disassembly.\n\nPlus more readable x86 formatting.\n\nAlso fix a bug decoding LDR (immediate, Thumb) encoding T1.\n\nChange-Id: I95c79d3fb4d912d1ef386b5843abd37d3652a476\n"
    },
    {
      "commit": "0f3c55331439970e01af67f80ac117c473bc04cf",
      "tree": "cfa28ad2a58af1ffddb0a2ce90443ad4606743c3",
      "parents": [
        "273cf36d199cf73de3cf61a559ad27c9d23f9825"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 14:51:51 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 14:51:51 2012 -0700"
      },
      "message": "Kill constants.h and fix some copyright headers.\n\nChange-Id: I51c04d731d6de035328781d8ac134ad6fcf49897\n"
    },
    {
      "commit": "c7fe4e080563a5c1fe7d84781bccecee2ce9392d",
      "tree": "057f1cbab00d3d4c3faac02aec5fbdc242384f76",
      "parents": [
        "630e77d4648093ce9870c7558d78edea24eab06d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Mar 29 21:36:21 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Mar 29 21:36:21 2012 -0700"
      },
      "message": "Disassembler support for vcmp.\n\nChange-Id: I8600522fe36848a6f5d0c12cff5edfa650a5cbb5\n"
    },
    {
      "commit": "630e77d4648093ce9870c7558d78edea24eab06d",
      "tree": "fdab55746260381ee42d63ca023c01524226fa18",
      "parents": [
        "9d86214cbd595cb432c81572bcf3595349b87c99"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 22 19:20:56 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 19:18:56 2012 -0700"
      },
      "message": "Move all ARM register dumping to operator\u003c\u003c style.\n\nJust a step towards doing something more useful with \"[r9, #396]\"...\n\nChange-Id: I256865a9a53fafc76e17ea2f952949ce95339ef9\n"
    },
    {
      "commit": "087b2419f432c7d1c32da27c528af4701adb6abd",
      "tree": "361fc03562e2fb6aa73c7eb5858931faeec52c16",
      "parents": [
        "16da88c70c4bdbd97b8482be8b42103a52f22d59"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Mar 21 01:30:32 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Mar 21 01:30:32 2012 -0700"
      },
      "message": "Extra Thumb2 disassembly, including strb.\n\nChange-Id: Ic36a5836e2c79ff412466b1dada1622df4b7fd8a\n"
    },
    {
      "commit": "ad03ef509d5145d74752a0b3f5c87d99db225786",
      "tree": "428da78ce427cad518df1e5c792119bf4b44cee8",
      "parents": [
        "9c044ce5f76e9bfa17c4c1979e9f8c99ae100695"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Mar 18 19:34:47 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Mar 18 19:34:47 2012 -0700"
      },
      "message": "Disassembly of Thumb2 data processing instructions.\n\nChange-Id: I7e7dbf1fdac7335b01035d35c9fd950176d2d400\n"
    },
    {
      "commit": "cbf0b61f5415e96a76284deff87e7cb9aba022b9",
      "tree": "20dbb10c2f76a362764347bfe0021af5ed20a344",
      "parents": [
        "48c6081a230d89599379590612ed638f1c7b4f99"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 15 16:23:47 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 15 16:23:47 2012 -0700"
      },
      "message": "Make our ARM and Thumb2 disassemblers look more like objdump(1).\n\nSorry BBC BASIC, but your time has passed...\n\nChange-Id: Ib3b269714eaad1ae8b7945627ade98edc1b4047a\n"
    },
    {
      "commit": "77405796564c6c1353807cda18b28678a719bd68",
      "tree": "948781c769760d71c7aff4e8db57aa5a9e311372",
      "parents": [
        "f8bbb8448c733e9e3ad43aad69774c37888329b1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 15 15:22:12 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 15 15:46:59 2012 -0700"
      },
      "message": "Rewrite the invoke stubs to use JValue[]s.\n\nThe tests were only testing the static stubs, so extend the tests to include\nnon-static stubs too.\n\nAlso add just enough of an ARM disassembler to disassemble the invoke stubs.\n\nChange-Id: If71dfb66b8b8188f9d871914f0eaf1013c9993b9\n"
    },
    {
      "commit": "40627dbd27b3c9e2cf32768882d9859ce71ef015",
      "tree": "5dc265a1a3fda7c75679c5c6a5cb55d2bd3ada90",
      "parents": [
        "11f9d2130e938511efceb6d2a4793cee7dfdde35"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Mar 04 17:31:09 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Mar 04 20:08:54 2012 -0800"
      },
      "message": "Disassembler support for branches.\n\nChange-Id: Ifc6b0177a984b972c54ac5e3a86ab874fcc9d747\n"
    },
    {
      "commit": "3a5c1ce3f11805a3382046f699c8fb1410a602b3",
      "tree": "74d7f28a910d4670de71d9edc2e9af3b56d31636",
      "parents": [
        "41f05df8aeba13e853a22820a0f4bf094233e2d9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 29 10:06:46 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Mar 02 15:47:32 2012 -0800"
      },
      "message": "Extra verbosity and disassembler for oatdump\n\nDisassembler for thumb2 instructions.\nPrint outlying methods for ART files.\nFind oat code methods that require trampolines.\nFix accounting of code and which file contains which bytes.\nDump oat meta-data.\n\nChange-Id: I10f52a4841f57a3f65d61ce0d1bb71bb4eb9f595\n"
    }
  ]
}
