)]}'
{
  "log": [
    {
      "commit": "5dee5df89aa2cefef6c886d5b9b642cc6f1c595b",
      "tree": "3a1fcbcdbf1ec71d332150819953a907bab08fd4",
      "parents": [
        "53e5d10036a5d4fdf84b32354c11dd8f2140b8ab",
        "a984454098971739a1469d62cba02cda3600268b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Apr 28 16:02:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 28 16:02:50 2014 +0000"
      },
      "message": "Merge \"Avoid volatile 64-bit tearing on 32-bit architectures.\""
    },
    {
      "commit": "a984454098971739a1469d62cba02cda3600268b",
      "tree": "60b69e4b189bd3a3d0c374c7eccc760648aac295",
      "parents": [
        "96a4f29350bf279d48bff70e21e3264cce216683"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Apr 21 17:01:02 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Apr 28 09:00:34 2014 -0700"
      },
      "message": "Avoid volatile 64-bit tearing on 32-bit architectures.\n\nChange b122a4bbed34ab22b4c1541ee25e5cf22f12a926 removed inline assembly for\nvolatile 64bit read/writes. This isn\u0027t sound in the general case, reinstate.\nMotivating change: https://android-review.googlesource.com/91250\nAdd optimizations for ARM in the case of LPAE support.\n\nChange-Id: Ie86d8885d27c8f0da75f0c3bd50d4553a331282f\n"
    },
    {
      "commit": "53e5d10036a5d4fdf84b32354c11dd8f2140b8ab",
      "tree": "ee092fff06e0eb1045861ffa429f4a94399aca69",
      "parents": [
        "0f73e2ee44977b9b5cfe42f6c4c3b6a407e92368",
        "c32e770f21540e4e9eda6dc7f770e745d33f1b9f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 28 15:22:52 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 28 15:22:52 2014 +0000"
      },
      "message": "Merge \"Add a Transform to SSA phase to the optimizing compiler.\""
    },
    {
      "commit": "c32e770f21540e4e9eda6dc7f770e745d33f1b9f",
      "tree": "56a76d7399bf749a4500fb60483e0dc075a24ee7",
      "parents": [
        "618a87009202dc959c935ed8f237ae32bdec57d0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 24 12:43:16 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 28 16:21:40 2014 +0100"
      },
      "message": "Add a Transform to SSA phase to the optimizing compiler.\n\nChange-Id: Ia9700756a0396d797a00b529896487d52c989329\n"
    },
    {
      "commit": "0f73e2ee44977b9b5cfe42f6c4c3b6a407e92368",
      "tree": "0a63c9e741ff9991ea150775f9dffbe77019d2d0",
      "parents": [
        "6d2387765ed0a898281d126bc3d4f9b124667d5d",
        "fd698e67953e40e804d7c9d1a3e8460e9d67382a"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Apr 28 12:33:58 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 28 12:33:58 2014 +0000"
      },
      "message": "Merge \"Quick compiler: fix DCHECKS\""
    },
    {
      "commit": "6d2387765ed0a898281d126bc3d4f9b124667d5d",
      "tree": "63822d72bb1e4d326b2c8f82df5541fd3833f04d",
      "parents": [
        "990d46f3333dce06a640ced697ee069330a73d7c",
        "5afa08f95d43dd24fb4b3d7a08aa1ec23386ad54"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Apr 28 10:18:30 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 28 10:18:30 2014 +0000"
      },
      "message": "Merge \"ART: Bitvector extensions for dumping and size handling\""
    },
    {
      "commit": "990d46f3333dce06a640ced697ee069330a73d7c",
      "tree": "7caf896723665029823c73e2bec87e6db97ec428",
      "parents": [
        "bf25f7e3a007ecfe4b2bcfa0a9abcb784ff54e26",
        "8a630577ed2d9e9571c3434c505e5de223b23c07"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Apr 28 09:09:06 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 28 09:09:07 2014 +0000"
      },
      "message": "Merge \"Move mapping table and vmap table offsets to OatMethodHeader.\""
    },
    {
      "commit": "bf25f7e3a007ecfe4b2bcfa0a9abcb784ff54e26",
      "tree": "6e53daa44e2c03ce13c9a29d38fdbfdc79c2cb08",
      "parents": [
        "0db6d06d1e4dec2ac36ca9c085876eea40d46a50",
        "9cb554a7784307d97c20991d90c76d9cf8a12e01"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Apr 28 04:23:00 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 28 04:23:01 2014 +0000"
      },
      "message": "Merge \"Fix typo of --oat-fd description in help\""
    },
    {
      "commit": "fd698e67953e40e804d7c9d1a3e8460e9d67382a",
      "tree": "4d577e785a0d93e22a4abddd7b5de61ee07f0e2f",
      "parents": [
        "0db6d06d1e4dec2ac36ca9c085876eea40d46a50"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Apr 27 19:33:22 2014 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Apr 27 19:33:22 2014 -0700"
      },
      "message": "Quick compiler: fix DCHECKS\n\nThe recent change to introduce k32, k64 and kReference operand\nsizes missed updating a few DCHECKS.\n\nChange-Id: I66eb617b07766e781b38962dc862fc5b023c2fbd\n"
    },
    {
      "commit": "9cb554a7784307d97c20991d90c76d9cf8a12e01",
      "tree": "655402199725897568ffc5d27e8e7d80ff10312c",
      "parents": [
        "da6e4feb6a02fed7f307e1ef3b90e716a99ba24c"
      ],
      "author": {
        "name": "Wonil Kim",
        "email": "wonil.kim@gmail.com",
        "time": "Mon Apr 28 11:26:55 2014 +0900"
      },
      "committer": {
        "name": "Wonil Kim",
        "email": "wonil.kim@gmail.com",
        "time": "Mon Apr 28 11:26:55 2014 +0900"
      },
      "message": "Fix typo of --oat-fd description in help\n\n--oat-fd description in help was copied from --oat-file description.\n\nChange-Id: Idbf36018af58db169f6d65382a7602ec950cce99\nSigned-off-by: Wonil Kim \u003cwonil.kim@gmail.com\u003e\n"
    },
    {
      "commit": "0db6d06d1e4dec2ac36ca9c085876eea40d46a50",
      "tree": "e3aa628c32a81da9d3acf56f8a6901943d3f2bfc",
      "parents": [
        "4d2143539beb0d714135c28ece2d1903bd40feb9",
        "59e676038383cbbf5997601bc16b04b8d1cdca68"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Apr 26 00:18:56 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 26 00:18:56 2014 +0000"
      },
      "message": "Merge \"Rosalloc: fix signature for 64b\""
    },
    {
      "commit": "59e676038383cbbf5997601bc16b04b8d1cdca68",
      "tree": "e3aa628c32a81da9d3acf56f8a6901943d3f2bfc",
      "parents": [
        "4d2143539beb0d714135c28ece2d1903bd40feb9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 25 17:15:12 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 25 17:15:12 2014 -0700"
      },
      "message": "Rosalloc: fix signature for 64b\n\nChange-Id: I56df1df0118a0aa1584e51fb574902f7eb88cd80\n"
    },
    {
      "commit": "4d2143539beb0d714135c28ece2d1903bd40feb9",
      "tree": "cd87ec7f225eb9495e488f0c247da78fe9a4b86a",
      "parents": [
        "44dad8a8f12b1118d039c4587bfcce1dd2ef2446",
        "5c1e4352614d61fed6868567e58b96682828cb4d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 25 23:14:58 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 25 23:14:58 2014 +0000"
      },
      "message": "Merge \"Add \"arch_test\" gtest for assembly stub constants, add some ARM64 assembly code\""
    },
    {
      "commit": "5c1e4352614d61fed6868567e58b96682828cb4d",
      "tree": "c723c7883f80083b885c590a7fc514684667c1a3",
      "parents": [
        "7f40b111755e300ddddd6839425337fe3af8d4e7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 21 19:28:24 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 25 16:13:27 2014 -0700"
      },
      "message": "Add \"arch_test\" gtest for assembly stub constants, add some ARM64 assembly code\n\nAdd a test that (1) checks all callee-save method frame sizes for\nall architectures, (2) checks thread offsets for the runtime\narchitecture and (3) checks callee-save method offsets for the\nruntime architecture.\n\nThe \"asm_support_XXX.h\" files now only contain definitions that are\ncommon between all architectures. Architecture-specific definitions\n(i.e., special registers names) have been pushed into the corresponding\n.S file. This change was required to be able to undefine definitions\nin the test, so that multiple tests can be written in one file.\n\nTest (1) above is in a sense two-stage. The arch_test gtest compares\nconstants (if it finds them) against the frame size as reported by\nthe ArtMethods created by the Runtime. This works for all architectures\nas we can provide the instruction-set to CreateCalleeSaveMethod. The\nsecond stage of the \"test\" are preprocessor tests with \"#error\" in the\ncase that the constants are not the expected value.\n\nOptimally I\u0027d like to change that to an actual runtime test exercising\nthe assembly code, which would also allow to check whether the right\nregisters are stored.\n\nAlso added missing assembly code for ARM64 for the callee-save macros.\n\nAlso fix X86_64 compilation for Clang 3.5.\n\nChange-Id: I018e6433dffd3d31ba3bfcd75661653f4c7b6552\n"
    },
    {
      "commit": "44dad8a8f12b1118d039c4587bfcce1dd2ef2446",
      "tree": "e3120c0b54998aa81f032f46bf562c2e20cc0390",
      "parents": [
        "cbec967415eb0641c71ee77e478a2402780f6982",
        "09881a85579cab1779ddf6ba9a91eed861a13cb2"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Apr 25 23:00:26 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 25 23:00:26 2014 +0000"
      },
      "message": "Merge \"Do not require dexopt when previous profile does not exist\""
    },
    {
      "commit": "cbec967415eb0641c71ee77e478a2402780f6982",
      "tree": "97811dc79ec89dce0138eb20b1ad440a726d5e94",
      "parents": [
        "7f40b111755e300ddddd6839425337fe3af8d4e7",
        "73d1e17b3afc7d5e56184f90bf819dc64956448a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 25 22:51:58 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 25 22:51:58 2014 +0000"
      },
      "message": "Merge \"Enable reading page map without lock in RosAlloc::BulkFree\""
    },
    {
      "commit": "09881a85579cab1779ddf6ba9a91eed861a13cb2",
      "tree": "fae410053b1cc8f0497abb744e820c124015d7b1",
      "parents": [
        "011005100214eb40c2aaad3f8fe9c3dc9465bcec"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Apr 18 17:44:01 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Apr 25 15:40:04 2014 -0700"
      },
      "message": "Do not require dexopt when previous profile does not exist\n\nAlso turn down some dex2oat related noise\n\nBug: 14184659\nChange-Id: I134890f2c452d7f85ca4b736b5724f42533c2a7f\n"
    },
    {
      "commit": "7f40b111755e300ddddd6839425337fe3af8d4e7",
      "tree": "5a0cebe690d040795083b9051d378488bad7cc6f",
      "parents": [
        "bb43b2102cf1f3a753448e684a5540654382e69c",
        "e8861b30ac8b2b1ca49386f9c9218f1d6fedc511"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Apr 25 21:36:59 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 25 21:37:00 2014 +0000"
      },
      "message": "Merge \"ART: Enables x86_64 disassembly\""
    },
    {
      "commit": "73d1e17b3afc7d5e56184f90bf819dc64956448a",
      "tree": "6fee546dcebc0c8979a62be7e75c337f79b2ac2e",
      "parents": [
        "e8256e7773a230337c3d137cbf0365f737820405"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 11 17:53:48 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 25 14:08:49 2014 -0700"
      },
      "message": "Enable reading page map without lock in RosAlloc::BulkFree\n\nEnabling this flag greatly reduces how much time was spent in the GC.\nIt was not done previously since it was regressing MemAllocTest. With\nthese RosAlloc changes, the benchmark score no longer regresses after\nwe enable the flag.\n\nChanged Run::AllocSlot to only have one mode of allocation. The new\nmode is finding the first free bit in the bitmap. This was\npreviously the slow path but is now the fast path. Some optimizations\nwhich enabled this include always having the alloc bitmap bits which\ncorrespond to invalid slots be set to 1. This prevents us from needing\na bound check since we will never end up allocating there.\n\nChanged revoking thread local buffer to point to an invalid run. The\ninvalid run is just a run which always has all the allocation bits set\nto 1. When a thread attempts to do a thread local allocation from here\nit will always fail and go slow path. This eliminates the need for a\nnull check for revoked runs.\n\nChanged zeroing of memory to happen during free, AllocPages should\nalways return zeroed memory. Added prefetching which happens when we\nallocate a run.\n\nSome refactoring to reduce duplicated code.\n\nErgonomics changes: Changed kStickyGcThroughputAdjustment to 1.0,\nthis helps reduce GC time.\n\nMeasurements (3 samples per benchmark):\nBefore: MemAllocTest scores: 3463, 3445, 3431\nEvaluateAndApplyChanges score | total GC time\nIter 1: 3485, 23.602436s\nIter 2: 3434, 22.499882s\nIter 3: 3483, 23.253274s\n\nAfter: MemAllocTest scores: 3495, 3417, 3409\nEvaluateAndApplyChanges score | total GC time:\nIter 1: 3375, 17.463462s\nIter 2: 3358, 16.185188s\nIter 3: 3367, 15.822312s\n\nBug: 8788501\nBug: 11790317\nBug: 9986565\nChange-Id: Ifd273a054824028dabed27c07c081dde1816f93c\n"
    },
    {
      "commit": "bb43b2102cf1f3a753448e684a5540654382e69c",
      "tree": "354467c7fd6cea5f777b3da210b0009235373c20",
      "parents": [
        "e8256e7773a230337c3d137cbf0365f737820405",
        "861ea56e20d60f28e21d47f331c29b2e303e2dbe"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Apr 25 20:47:14 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 25 20:47:14 2014 +0000"
      },
      "message": "Merge \"Fix ART compilation for Clang 3.5.\""
    },
    {
      "commit": "e8861b30ac8b2b1ca49386f9c9218f1d6fedc511",
      "tree": "70ec1c5dc2b917211b9bf0428f2806694f725744",
      "parents": [
        "3f4dcdf6c99f90a2301304d26ce29dc637b4be7f"
      ],
      "author": {
        "name": "Vladimir Kostyukov",
        "email": "vladimir.kostyukov@intel.com",
        "time": "Fri Apr 18 17:06:15 2014 +0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Apr 25 10:42:13 2014 -0700"
      },
      "message": "ART: Enables x86_64 disassembly\n\nThis patch\n  (a) cuts a REX prefix from the instruction and\n  (b) adds missed 32bit disp to instructions with ModR/M and SIB bytes.\n\nChange-Id: I2674678224ca27746b33d4006ed38d497972309f\nSigned-off-by: Vladimir Kostyukov \u003cvladimir.kostyukov@intel.com\u003e\n"
    },
    {
      "commit": "e8256e7773a230337c3d137cbf0365f737820405",
      "tree": "2dcf9fd9db72ad4205804521e80d87f07aa61eb8",
      "parents": [
        "3f4dcdf6c99f90a2301304d26ce29dc637b4be7f",
        "9d894662426e413454935e483d56a8cc33924174"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Fri Apr 25 16:36:07 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 25 16:36:07 2014 +0000"
      },
      "message": "Merge \"Skip BBs without SSA representation in the Constant Propagation phase\""
    },
    {
      "commit": "3f4dcdf6c99f90a2301304d26ce29dc637b4be7f",
      "tree": "594026d8de04485248048df6e8465ba373800bbc",
      "parents": [
        "c74b878d38f0913313d64ef009da24315ff1c122",
        "9c3b089519792245ab9f658865f44b8639b8d696"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 25 14:51:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 25 14:51:34 2014 +0000"
      },
      "message": "Merge \"Revert \"Revert \"ART: Extracts an utility function of the duplicated code\"\"\""
    },
    {
      "commit": "c74b878d38f0913313d64ef009da24315ff1c122",
      "tree": "d04963e693b39b94d34b74b41319e6942de215b3",
      "parents": [
        "d55e9b1a9f45c19cd7b376a8839ce37f86c66a64",
        "525cde2dd7cc7ad4212765ad3975cf260a934d3e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 25 14:39:24 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 25 14:39:25 2014 +0000"
      },
      "message": "Merge \"Add a GTest for Assembly Stubs, Add some ARM64 and X86-64 Stubs\""
    },
    {
      "commit": "525cde2dd7cc7ad4212765ad3975cf260a934d3e",
      "tree": "bd2b4c1d34414708be60e560666d24f56311df05",
      "parents": [
        "1b4e3d5bc1e2d604adeda4ebbd137f20ee041138"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 22 15:44:50 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 25 07:38:19 2014 -0700"
      },
      "message": "Add a GTest for Assembly Stubs, Add some ARM64 and X86-64 Stubs\n\nThis GTest adds some runtime testing for the stubs that does not\nrely on the compiler. This should allow to add or update the stubs\nand do testing, especially on architectures without working compiler.\n\nThis test is a bit dangerous: if it doesn\u0027t know how to handle an\narchitecture, it will only log a warning. This is so that testing\ndoes not break at the moment. The warning is forced to stdout, too,\nso that it is always visible.\n\nAdd art_quick_check_cast to ARM64 and X86-64. Add art_quick_memcpy\nto X86-64. The latter should be removed in a good compiler, as it is\npractically only overhead. Add minor CFI information in ARM.\n\nChange-Id: Ia9c6d0f4035eb1527c12b5f6067dece59e25528d\n"
    },
    {
      "commit": "8a630577ed2d9e9571c3434c505e5de223b23c07",
      "tree": "106367100c639011f0abb72b3b0e227c0764e8e0",
      "parents": [
        "96c6ab93336b972a38bd2448bcccf19188b8389b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 09 18:45:35 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 25 12:24:46 2014 +0100"
      },
      "message": "Move mapping table and vmap table offsets to OatMethodHeader.\n\nThis change has a libcore/ companion CL\n  \"Remove ArtMethod\u0027s quick fields mapping table and vmap table.\"\n  https://android-review.googlesource.com/91254\n\nBug: 11767815\nChange-Id: I46ce2067e1ecd915da3890606498e31ffc332813\n"
    },
    {
      "commit": "d55e9b1a9f45c19cd7b376a8839ce37f86c66a64",
      "tree": "2b1fd06a6152cd561355d7049ca39aee6a8777f0",
      "parents": [
        "da6e4feb6a02fed7f307e1ef3b90e716a99ba24c",
        "fd3077e4b9ebadd281777310d26e64443858f653"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 25 09:23:16 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 25 09:23:17 2014 +0000"
      },
      "message": "Merge \"Refactor exception handling for deoptimization\""
    },
    {
      "commit": "fd3077e4b9ebadd281777310d26e64443858f653",
      "tree": "c63911af29580ab8c0fc8dd29171e626871449aa",
      "parents": [
        "a08ec9b372d4f5e918b3d68499fbd1731180cd98"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Apr 23 10:32:43 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 25 10:36:05 2014 +0200"
      },
      "message": "Refactor exception handling for deoptimization\n\nThis CL refactors the exception handling (on the quick side) by isolating the\nsearch of catch handler and the preparation of deoptimization.\n\nWe rename the CatchFinder class to QuickExceptionHandler so it\u0027s less specific\nto catch handler search.\n\nFinding catch handler happens in QuickExceptionHandler::FindCatch. Since the\nCatchBlockStackVisitor resolves exception types, it may cause thread suspension\nand breaks the assertion current thread can\u0027t be suspended. Therefore, we place\nthe exception in a SirtRef (while it is detached from the current thread) and\nremove the thread suspension assertion.\n\nDeoptimization now happens in QuickExceptionHandler::DeoptimizeStack. It uses\nthe new DeoptimizeStackVisitor class to create shadow frames.\n\nWe also add the Thread::GetDeoptimizationException method to get the definition\nof the fake exception in only one place.\n\nChange-Id: I01b19fa72af64329b5c3b6c7f0c3339d2d724978\n"
    },
    {
      "commit": "da6e4feb6a02fed7f307e1ef3b90e716a99ba24c",
      "tree": "3afc391bfd5d6ef2a0f512382805d7f85403194a",
      "parents": [
        "942c8e3723ad1e12039deef5754440dd8e1c546d",
        "2ed76f95dd5a7edada82407a1853be803c9853a9"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 25 08:14:11 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 25 08:14:11 2014 +0000"
      },
      "message": "Merge \"Resolve method\u0027s argument reference types\""
    },
    {
      "commit": "2ed76f95dd5a7edada82407a1853be803c9853a9",
      "tree": "1ff07ef9ef905e943480a808e69fd61a7645e667",
      "parents": [
        "ec83aacf669165eeeb1c30aee402001394982fd3"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Apr 22 17:11:08 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 25 10:10:07 2014 +0200"
      },
      "message": "Resolve method\u0027s argument reference types\n\nUsing ResolveClassAndCheckAccess allows to resolve reference types and check\nwe have access to these types too. This also prevents from getting unresolved\nreference types, which has been observed during deoptimization.\n\nBug: 13464407\nChange-Id: I4c02fdff191c195f34502a4d4a20357419982eb1\n"
    },
    {
      "commit": "942c8e3723ad1e12039deef5754440dd8e1c546d",
      "tree": "e05d0f71932320f1f8f4f9987a88065c22739663",
      "parents": [
        "011005100214eb40c2aaad3f8fe9c3dc9465bcec",
        "479fc1ecc12fa6560ca90d841c4d5174fb346618"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 25 07:37:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 25 07:37:49 2014 +0000"
      },
      "message": "Merge \"Support field watchpoint in interpreter\""
    },
    {
      "commit": "479fc1ecc12fa6560ca90d841c4d5174fb346618",
      "tree": "9c89abea89494c90934b260f42f81e8ca83c3611",
      "parents": [
        "96a4f29350bf279d48bff70e21e3264cce216683"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 04 17:51:34 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 25 09:35:54 2014 +0200"
      },
      "message": "Support field watchpoint in interpreter\n\nWe report field read/write events to instrumentation from the interpreter. This\nallows it to send JDWP field access and field modification events to debugger.\nThis completes CL https://android-review.googlesource.com/90390.\n\nWe also fix the JDWP FieldOnly modifier by introducing ModBasket.fieldTypeID.\nWe incorrectly used ModBasket.classId which is actually dedicated to ClassOnly\nmodifier based on thread\u0027s location\u0027s class id.\n\nFinally, we now enable canWatchFieldModification and canWatchFieldAccess JDWP\ncapabilities so a debugger can request these events to be reported.\n\nBug: 8267708\nChange-Id: I987852ad47abb27b2f7e78544a8189c7a4e2f462\n"
    },
    {
      "commit": "861ea56e20d60f28e21d47f331c29b2e303e2dbe",
      "tree": "5cd016ab31e2448560fcd3313805d21aff184701",
      "parents": [
        "17c50db442d2791d9c4d7d1e98060556c323ce9b"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Apr 23 16:03:57 2014 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Apr 24 18:58:23 2014 -0700"
      },
      "message": "Fix ART compilation for Clang 3.5.\n\nThis change adds required \u003c\u003e to some template instantiations, which\nClang was complaining about (and ignoring otherwise). It also updates\nthe integrated assembler defines, since Clang 3.5 now supports named\narguments.\n\nChange-Id: I878b8c96bcbc29415582c18a2df678b7f9a9d4ad\n"
    },
    {
      "commit": "011005100214eb40c2aaad3f8fe9c3dc9465bcec",
      "tree": "8f08fe83b1a2ee414b4d01611729e7ef4b1fb200",
      "parents": [
        "81d79dc3e2a5e92c65bad955f2bea7ee161f66aa",
        "3b60fea8458f0bf65ef4530e1c4ee6fdd4b199e9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 25 00:33:57 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 25 00:33:57 2014 +0000"
      },
      "message": "Merge \"Use __FUNCTION__ in CHECK_NON_NULL_*ARGUMENT.\""
    },
    {
      "commit": "3b60fea8458f0bf65ef4530e1c4ee6fdd4b199e9",
      "tree": "8f08fe83b1a2ee414b4d01611729e7ef4b1fb200",
      "parents": [
        "81d79dc3e2a5e92c65bad955f2bea7ee161f66aa"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 24 17:17:21 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 24 17:30:00 2014 -0700"
      },
      "message": "Use __FUNCTION__ in CHECK_NON_NULL_*ARGUMENT.\n\nPrevents naming errors and reduces code maintenance requirements.\n\nChange-Id: I14aba05f0d5dab8009f472b3af0b698551ac2a7e\n"
    },
    {
      "commit": "81d79dc3e2a5e92c65bad955f2bea7ee161f66aa",
      "tree": "cb83846e767923cb6a4b78839e724845c95bfd4f",
      "parents": [
        "aa5d55fb3259525d8d2e930f4ec7cb193646fb57",
        "b878f2133a04593643228eb1d47993092528b963"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Apr 24 23:55:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 24 23:55:44 2014 +0000"
      },
      "message": "Merge \"Make unresolved exception types cause soft verification errors.\""
    },
    {
      "commit": "b878f2133a04593643228eb1d47993092528b963",
      "tree": "0288b9d0eca5e73af456d9dba45d33f0f4c75730",
      "parents": [
        "17c50db442d2791d9c4d7d1e98060556c323ce9b"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Apr 24 16:25:36 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Apr 24 16:54:45 2014 -0700"
      },
      "message": "Make unresolved exception types cause soft verification errors.\n\nBefore, the verifier would allow the first exception it finds\nfor a catch block to be unresolved, but this causes problems if\nit merges other exceptions later. The verifier should soft fail\nfor any unresolved exception type it finds.\n\nBug: 14256107\nChange-Id: I22563ebfe8c9680cc676b73516d5b48bc9c4ecf3\n"
    },
    {
      "commit": "aa5d55fb3259525d8d2e930f4ec7cb193646fb57",
      "tree": "c95e28ad4b90d731fcffe159bf9f46d35772b7ad",
      "parents": [
        "17c50db442d2791d9c4d7d1e98060556c323ce9b",
        "92b7889dfbfb44e875ba46c4e9ec3235c37b7709"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 24 23:51:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 24 23:51:49 2014 +0000"
      },
      "message": "Merge \"Clean up ScopedThreadStateChange + Get/SetPrimtiveArrayRegion\""
    },
    {
      "commit": "92b7889dfbfb44e875ba46c4e9ec3235c37b7709",
      "tree": "c95e28ad4b90d731fcffe159bf9f46d35772b7ad",
      "parents": [
        "17c50db442d2791d9c4d7d1e98060556c323ce9b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 24 16:14:43 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 24 16:16:23 2014 -0700"
      },
      "message": "Clean up ScopedThreadStateChange + Get/SetPrimtiveArrayRegion\n\nSimplified code in ScopedThreadStateChange and fixed an incorrect\nname in Get/SetPrimitiveArrayRegion.\n\nChange-Id: Id71affec1d64911449d792911cd52104dd179840\n"
    },
    {
      "commit": "9c3b089519792245ab9f658865f44b8639b8d696",
      "tree": "dafd82a7c3ccb42c69799389d43340e3f4eae447",
      "parents": [
        "1b4e3d5bc1e2d604adeda4ebbd137f20ee041138"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 24 17:33:34 2014 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 24 13:13:56 2014 -0700"
      },
      "message": "Revert \"Revert \"ART: Extracts an utility function of the duplicated code\"\"\n\nThis reverts commit b5a14d2a6c18c1ea3c019c53b10af2e8f5dea234.\n\nChange-Id: Id09a4cc27ac22db940badf3a277848b38b173eae\n"
    },
    {
      "commit": "5afa08f95d43dd24fb4b3d7a08aa1ec23386ad54",
      "tree": "28d388989be9ccdfce387728f63820689c29e9ca",
      "parents": [
        "1c17753ca9cf125ffd1fa47f34650fb6f4005409"
      ],
      "author": {
        "name": "Jean Christophe Beyler",
        "email": "jean.christophe.beyler@intel.com",
        "time": "Tue Apr 15 15:54:35 2014 -0700"
      },
      "committer": {
        "name": "Jean Christophe Beyler",
        "email": "jean.christophe.beyler@intel.com",
        "time": "Thu Apr 24 12:20:40 2014 -0700"
      },
      "message": "ART: Bitvector extensions for dumping and size handling\n\n- Added dumping functions and the ensure size and clear function.\n- Fixed a bug in union where if a bit is not set in the source, an buffer\n   overflow can occur later down.\n\nChange-Id: Iff40529f3a8970a1ce2dd5c591f659f71924dea3\nSigned-off-by: Jean Christophe Beyler \u003cjean.christophe.beyler@intel.com\u003e\nSigned-off-by: Razvan A Lupusoru \u003crazvan.a.lupusoru@intel.com\u003e\nSigned-off-by: Yixin Shou \u003cyixin.shou@intel.com\u003e\nSigned-off-by: Chao-ying Fu \u003cchao-ying.fu@intel.com\u003e\nSigned-off-by: Udayan Banerji \u003cudayan.banerji@intel.com\u003e\n"
    },
    {
      "commit": "17c50db442d2791d9c4d7d1e98060556c323ce9b",
      "tree": "d430ae6fb13e4044de6fe6857fd3dc0e79764f4d",
      "parents": [
        "1b4e3d5bc1e2d604adeda4ebbd137f20ee041138",
        "9103c86a98524e9ddfd14f8cee56e919f68eee9b"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Apr 24 18:12:25 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 24 18:12:25 2014 +0000"
      },
      "message": "Merge \"More code for the read barrier support.\""
    },
    {
      "commit": "1b4e3d5bc1e2d604adeda4ebbd137f20ee041138",
      "tree": "ee50170508af6ad0a97e54bf7508ef40de686a66",
      "parents": [
        "a062d8d0791967e8c4018be5aeb501b9e7a3460c",
        "b5a14d2a6c18c1ea3c019c53b10af2e8f5dea234"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 24 17:30:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 24 17:30:53 2014 +0000"
      },
      "message": "Merge \"Revert \"ART: Extracts an utility function of the duplicated code\"\""
    },
    {
      "commit": "b5a14d2a6c18c1ea3c019c53b10af2e8f5dea234",
      "tree": "185fd3643ae9503c2506c24b26c9869dd34fbbf3",
      "parents": [
        "973cc95da6fb617bab133bd7a693c1cb7eafd393"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 24 17:30:35 2014 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 24 17:30:35 2014 +0000"
      },
      "message": "Revert \"ART: Extracts an utility function of the duplicated code\"\n\nThis reverts commit 973cc95da6fb617bab133bd7a693c1cb7eafd393.\n\nChange-Id: I3883c74ba06116e89d89d9cf085f20cff5d15f77\n"
    },
    {
      "commit": "a062d8d0791967e8c4018be5aeb501b9e7a3460c",
      "tree": "38ee752cfcd1a52d37998329fd735d738af8bbe4",
      "parents": [
        "1768775ec15443a8ff326e63c0b3f8deb17699e6",
        "63f5b9e8f660ae761901072821ece30d87891644"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Apr 24 16:06:14 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 24 16:06:15 2014 +0000"
      },
      "message": "Merge \"Add test that Class.newInstance does not wrap its exceptions.\""
    },
    {
      "commit": "1768775ec15443a8ff326e63c0b3f8deb17699e6",
      "tree": "34b08f276979f3474b0a53769b2d100866647e91",
      "parents": [
        "96a4f29350bf279d48bff70e21e3264cce216683",
        "973cc95da6fb617bab133bd7a693c1cb7eafd393"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 24 15:46:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 24 15:46:02 2014 +0000"
      },
      "message": "Merge \"ART: Extracts an utility function of the duplicated code\""
    },
    {
      "commit": "973cc95da6fb617bab133bd7a693c1cb7eafd393",
      "tree": "34b08f276979f3474b0a53769b2d100866647e91",
      "parents": [
        "96a4f29350bf279d48bff70e21e3264cce216683"
      ],
      "author": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Fri Apr 18 14:53:09 2014 +0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 24 08:35:30 2014 -0700"
      },
      "message": "ART: Extracts an utility function of the duplicated code\n\nThis patch introduces an utility function \u0027DataOffsetOfType\u0027 in\n\u0027mirror::Array\u0027 class that calculates the data offset at given index\nin an array of given type.\n\nChange-Id: Idb19558653c70a129245f220f0fbb553f898865b\nSigned-off-by: Dmitry Petrochenko \u003cdmitry.petrochenko@intel.com\u003e\n"
    },
    {
      "commit": "96a4f29350bf279d48bff70e21e3264cce216683",
      "tree": "185fd3643ae9503c2506c24b26c9869dd34fbbf3",
      "parents": [
        "ae55e6c0c6a6fa393742a00ac5b7748f9ce45344",
        "fba52f1b4bf753790c1d98265c4b0fabb54c7536"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Apr 24 06:20:29 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 24 06:20:29 2014 +0000"
      },
      "message": "Merge \"ART: Fixes an issue with REX prefix for instructions with no ModRM byte\""
    },
    {
      "commit": "63f5b9e8f660ae761901072821ece30d87891644",
      "tree": "2d540baeff8f1ef0ece53efc15b27105d7e4b568",
      "parents": [
        "de981b0c9124f0b1f29e18ea6b8cb8328f561aab"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Apr 23 14:51:46 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Apr 23 17:53:07 2014 -0700"
      },
      "message": "Add test that Class.newInstance does not wrap its exceptions.\n\nUnlike Constructor.newInstance, Class.newInstance should not wrap\nexceptions it throws.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d68620\n\nChange-Id: I47d78904e72f299284d1382bc715ab120d3b1a7f\n"
    },
    {
      "commit": "ae55e6c0c6a6fa393742a00ac5b7748f9ce45344",
      "tree": "bc1d340f75287038efb05cffa076d5478d8c469f",
      "parents": [
        "1c17753ca9cf125ffd1fa47f34650fb6f4005409",
        "3c4a43469046934e76082a4cf1aca14429cd9735"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 24 00:17:52 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 24 00:17:52 2014 +0000"
      },
      "message": "Merge \"Don\u0027t allow heap transitions if the runtime is shutting down.\""
    },
    {
      "commit": "1c17753ca9cf125ffd1fa47f34650fb6f4005409",
      "tree": "9b52bbf9851c3e2f3a2b73b50b7bdedb238ba435",
      "parents": [
        "125011d70aa84b3fd9052f1c90101401b0851928",
        "35d5c3baf701ca3d1e2d5b0b3653a5ca16f21f7e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Apr 23 22:42:51 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 23 22:42:52 2014 +0000"
      },
      "message": "Merge \"art: fix dlopen error message\""
    },
    {
      "commit": "35d5c3baf701ca3d1e2d5b0b3653a5ca16f21f7e",
      "tree": "9b52bbf9851c3e2f3a2b73b50b7bdedb238ba435",
      "parents": [
        "125011d70aa84b3fd9052f1c90101401b0851928"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Apr 23 14:56:31 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Apr 23 15:03:24 2014 -0700"
      },
      "message": "art: fix dlopen error message\n\ndetail is a std::string *, dereference it when logging the error\nmessage.\n\nChange-Id: If73a5806445df17d91ff1a7f4f3a6d31f0e9f54e\n"
    },
    {
      "commit": "125011d70aa84b3fd9052f1c90101401b0851928",
      "tree": "df2ed3d17bcda9444ea611db740374ca1fb17d94",
      "parents": [
        "de981b0c9124f0b1f29e18ea6b8cb8328f561aab",
        "3a74d15ccc9a902874473ac9632e568b19b91b1c"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Apr 23 22:02:33 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 23 22:02:33 2014 +0000"
      },
      "message": "Merge \"Delete throw launchpads.\""
    },
    {
      "commit": "3c4a43469046934e76082a4cf1aca14429cd9735",
      "tree": "f19f9daface730f297b8f592f601688271fb3e78",
      "parents": [
        "de981b0c9124f0b1f29e18ea6b8cb8328f561aab"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 23 14:41:11 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 23 14:42:30 2014 -0700"
      },
      "message": "Don\u0027t allow heap transitions if the runtime is shutting down.\n\nBug: 14254222\nChange-Id: I97ac988a96b56a8dc1eec018bf3ef7a691f04745\n"
    },
    {
      "commit": "de981b0c9124f0b1f29e18ea6b8cb8328f561aab",
      "tree": "899cb8ec473d3a6436ac7cc9445f93c123a7f884",
      "parents": [
        "a08ec9b372d4f5e918b3d68499fbd1731180cd98",
        "96c6ab93336b972a38bd2448bcccf19188b8389b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 23 08:50:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 23 08:50:22 2014 +0000"
      },
      "message": "Merge \"Separate maps from code in oat file.\""
    },
    {
      "commit": "a08ec9b372d4f5e918b3d68499fbd1731180cd98",
      "tree": "4c21e507ec2b2ca36011313d9a40d151e23f6193",
      "parents": [
        "4af159bfcc66c6e90a2aee4a2035a996a399e7ed",
        "aa961918da5142220029da2809287e0dd537a5d7"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Apr 23 00:16:15 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 23 00:16:15 2014 +0000"
      },
      "message": "Merge \"Fix FindCatchBlock to work in -Xverify:none mode.\""
    },
    {
      "commit": "aa961918da5142220029da2809287e0dd537a5d7",
      "tree": "93cdad41650f353e1c7d82aaa8894037b12bb2a0",
      "parents": [
        "82b1a81890970a8b07f9132aeae537a6c43df6b0"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Apr 22 13:54:32 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Apr 22 17:03:21 2014 -0700"
      },
      "message": "Fix FindCatchBlock to work in -Xverify:none mode.\n\nFindCatchBlock now uses ResolveType to get the exception type,\nsince it might not be able to find it in the dex cache.\n\nBug: 13948502\nChange-Id: Ia6f1c7dc743206ae1c8551bf6239f48ee4d3a784\n"
    },
    {
      "commit": "4af159bfcc66c6e90a2aee4a2035a996a399e7ed",
      "tree": "9bc7f4ac4f6ce93be0e9f2bc8db6ccdb9d972c36",
      "parents": [
        "d299898a55f41ccf78b865e153ae91321229353b",
        "987560fee798e48fb725c44b796d8ca7a5872ad6"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 22 23:03:01 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 23:03:01 2014 +0000"
      },
      "message": "Merge \"Remove support for app JNI workarounds.\""
    },
    {
      "commit": "d299898a55f41ccf78b865e153ae91321229353b",
      "tree": "093ca3720d94990225ae925bed09fe107edc8556",
      "parents": [
        "0ea4bf7edb20be30f63566bce2d9db23f0b1c87f",
        "0ec77d6df72ad9c352e23d8a2257530328f64a4b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 22 22:16:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 22:16:48 2014 +0000"
      },
      "message": "Merge \"Warn when thread state lookup fails.\""
    },
    {
      "commit": "987560fee798e48fb725c44b796d8ca7a5872ad6",
      "tree": "d61f35a129847f3f5fbed1436649e75acd940b3f",
      "parents": [
        "44b0053fdb7ad8a30138d29f714172a7dc69efb8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 22 11:42:59 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 22 14:52:19 2014 -0700"
      },
      "message": "Remove support for app JNI workarounds.\n\nChange-Id: I4396df7e93fcace4b5b19c2c387e5c30089182a6\n"
    },
    {
      "commit": "9103c86a98524e9ddfd14f8cee56e919f68eee9b",
      "tree": "69e64a2f618e10bb8f060cf7fb70c8e94dc43b50",
      "parents": [
        "f7933e7f295bfe61cb0baf89469581c563032e96"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Apr 22 13:51:07 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Apr 22 14:26:21 2014 -0700"
      },
      "message": "More code for the read barrier support.\n\nMake it possible to disable the RB in Object::SizeOf() (and the\nfunctions it calls transitively) which the collector will need to call\nto get the size of an object when copying.\n\nAdd Object::AtomicSetReadBarrierPointer() for atomic write of a RB\npointer.\n\nBug: 12687968\nChange-Id: Ibedd252860ac7ccd17e4e7d71b377a8892b48ff0\n"
    },
    {
      "commit": "0ea4bf7edb20be30f63566bce2d9db23f0b1c87f",
      "tree": "b4eca700d26d558c3472f3b0f4222b203b6b5402",
      "parents": [
        "39595830dbfefa47bbde20490b4dda3385de33a4",
        "695d13a82d6dd801aaa57a22a9d4b3f6db0d0fdb"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Apr 22 19:51:16 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 19:51:17 2014 +0000"
      },
      "message": "Merge \"Update load/store utilities for 64-bit backends\""
    },
    {
      "commit": "695d13a82d6dd801aaa57a22a9d4b3f6db0d0fdb",
      "tree": "0dbee030a8c43ccc23d9efc0c80efa2d941d1ff6",
      "parents": [
        "86e1b5e7e2bca99dd2092eab8ced977d97830873"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Apr 19 13:32:20 2014 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Apr 22 11:46:10 2014 -0700"
      },
      "message": "Update load/store utilities for 64-bit backends\n\nThis CL replaces the typical use of LoadWord/StoreWord\nutilities (which, in practice, were 32-bit load/store) in\nfavor of a new set that make the size explicit.  We now have:\n\n   LoadWordDisp/StoreWordDisp:\n    32 or 64 depending on target.  Load or store the natural\n    word size.  Expect this to be used infrequently - generally\n    when we know we\u0027re dealing with a native pointer or flushed\n    register not holding a Dalvik value (Dalvik values will flush\n    to home location sizes based on Dalvik, rather than the target).\n\n   Load32Disp/Store32Disp:\n     Load or store 32 bits, regardless of target.\n\n   Load64Disp/Store64Disp:\n     Load or store 64 bits, regardless of target.\n\n   LoadRefDisp:\n     Load a 32-bit compressed reference, and expand it to the\n     natural word size in the target register.\n\n   StoreRefDisp:\n     Compress a reference held in a register of the natural word\n     size and store it as a 32-bit compressed reference.\n\nChange-Id: I50fcbc8684476abd9527777ee7c152c61ba41c6f\n"
    },
    {
      "commit": "39595830dbfefa47bbde20490b4dda3385de33a4",
      "tree": "be30d58fc4fd71a4fcbdffa0d19a4bf9aaaa4c50",
      "parents": [
        "82b1a81890970a8b07f9132aeae537a6c43df6b0",
        "8585bad7be19ee4901333f7d02d1d4d3f04877d4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 22 18:12:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 18:12:33 2014 +0000"
      },
      "message": "Merge \"Return bytes freed from RosAlloc.\""
    },
    {
      "commit": "8585bad7be19ee4901333f7d02d1d4d3f04877d4",
      "tree": "be30d58fc4fd71a4fcbdffa0d19a4bf9aaaa4c50",
      "parents": [
        "82b1a81890970a8b07f9132aeae537a6c43df6b0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 11 17:53:48 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 22 10:57:22 2014 -0700"
      },
      "message": "Return bytes freed from RosAlloc.\n\nThere was a problem with how RosAlloc space sweeping worked caused by\nusing the object size in the FreeList call, this won\u0027t work well with\nclass unloading since the object\u0027s class may be freed before the\nobject.\n\nBug: 13989231\nChange-Id: I3df439c312310720fd34249334dec85030166fe9\n"
    },
    {
      "commit": "0ec77d6df72ad9c352e23d8a2257530328f64a4b",
      "tree": "f0bdb4900548189c09f3e1010198eb327a648f44",
      "parents": [
        "82b1a81890970a8b07f9132aeae537a6c43df6b0"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 22 10:51:17 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 22 10:51:17 2014 -0700"
      },
      "message": "Warn when thread state lookup fails.\n\nChange-Id: I06781caddcade26148921bc225f28db8b3a63a35\n"
    },
    {
      "commit": "96c6ab93336b972a38bd2448bcccf19188b8389b",
      "tree": "87c4904182d6b087e59a7c18d4a6b5b42275ef45",
      "parents": [
        "82b1a81890970a8b07f9132aeae537a6c43df6b0"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 08 14:00:50 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 22 17:50:49 2014 +0100"
      },
      "message": "Separate maps from code in oat file.\n\nWrite all GC maps first, then all mapping tables and then\nall vmap tables and only then align the offset to page size\nand write all method code chunks with headers.\n\nBug: 11767815\nChange-Id: Ic83555c8303c5be119afc43e95e58c0a32ff2a4f\n"
    },
    {
      "commit": "82b1a81890970a8b07f9132aeae537a6c43df6b0",
      "tree": "43ac558ccae56799d093e58c128af83511889f5f",
      "parents": [
        "618a87009202dc959c935ed8f237ae32bdec57d0",
        "d3c5bebcb52a67cb06e7ab303eaf45f230c08b60"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 22 13:25:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 13:25:20 2014 +0000"
      },
      "message": "Merge \"Avoid allocating OatFile::OatClass on the heap.\""
    },
    {
      "commit": "618a87009202dc959c935ed8f237ae32bdec57d0",
      "tree": "905c57ff2edb26e58f81b03e753378880dd20a7a",
      "parents": [
        "00256f3e03adaf11b8fbb8bb8b7a11a9c316127d",
        "bf079fe015e3b2d966e111efc61728b6e6892ec3"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Apr 22 09:23:39 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 09:23:40 2014 +0000"
      },
      "message": "Merge \"Fix crash when debugging exception\""
    },
    {
      "commit": "00256f3e03adaf11b8fbb8bb8b7a11a9c316127d",
      "tree": "db61c57b6c15aa8927758025b7ebd4ce278f8ace",
      "parents": [
        "e08920e3b15d463cd70c51276677291d1af7bce8",
        "8d5ead52a92675c258113d3dfa71bf8fceba5d9f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 22 08:30:46 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 08:30:47 2014 +0000"
      },
      "message": "Merge \"Revert \"64bit changes to the stack walker for the Quick ABI.\"\""
    },
    {
      "commit": "8d5ead52a92675c258113d3dfa71bf8fceba5d9f",
      "tree": "43f4c2518035b346d7b7ecd46c4b79d1ef45d882",
      "parents": [
        "5cb328362a633302ca0fcdbaa0da7d94069df051"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 22 08:30:19 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 22 08:30:19 2014 +0000"
      },
      "message": "Revert \"64bit changes to the stack walker for the Quick ABI.\"\n\nThis reverts commit 5cb328362a633302ca0fcdbaa0da7d94069df051.\n\nChange-Id: Icc0ec1a9f15c2e4e9103e732d7ba75a4feb853b1\n"
    },
    {
      "commit": "e08920e3b15d463cd70c51276677291d1af7bce8",
      "tree": "92281d0cf2fbe5b693dc6d3f515c0947544a127f",
      "parents": [
        "ea8106321c7c05f8b135d7b4cdb34f5d1e6ed0e3",
        "5cb328362a633302ca0fcdbaa0da7d94069df051"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 22 07:48:56 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 07:48:56 2014 +0000"
      },
      "message": "Merge \"64bit changes to the stack walker for the Quick ABI.\""
    },
    {
      "commit": "ea8106321c7c05f8b135d7b4cdb34f5d1e6ed0e3",
      "tree": "db61c57b6c15aa8927758025b7ebd4ce278f8ace",
      "parents": [
        "6123d94cddf34f3fdb8ece55476e414e34662394",
        "7ec2f1ca3cbd021848da75d5566f7239ce29676f"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Apr 22 07:05:52 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 07:05:54 2014 +0000"
      },
      "message": "Merge \"Speed up single-stepping\""
    },
    {
      "commit": "6123d94cddf34f3fdb8ece55476e414e34662394",
      "tree": "5c9f831a79fceaf616c0c0006678dfdec5672f97",
      "parents": [
        "4e0d5ee57ab5f76a761cf0d7ebb50b782e3eacdc",
        "366f8ae038c4f6a3852deed1cff322ba54689808"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Tue Apr 22 04:37:42 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 04:37:42 2014 +0000"
      },
      "message": "Merge \"GenArithOpInt should ensure that reg is in core\""
    },
    {
      "commit": "3a74d15ccc9a902874473ac9632e568b19b91b1c",
      "tree": "3024a2f6ec8ab6a2b403a889e4c58cee8e43ae27",
      "parents": [
        "4e0d5ee57ab5f76a761cf0d7ebb50b782e3eacdc"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Apr 21 15:39:44 2014 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Apr 21 15:58:26 2014 -0700"
      },
      "message": "Delete throw launchpads.\n\nBug: 13170824\n\nChange-Id: I9d5834f5a66f5eb00f2ac80774e8c27dea99949e\n"
    },
    {
      "commit": "4e0d5ee57ab5f76a761cf0d7ebb50b782e3eacdc",
      "tree": "68267279e01bc9b92642d3c757a9a7d16f66d7d7",
      "parents": [
        "63da330fa097aedc97e40ded054106a7168ea116",
        "80365d9bb947edef0eae0bfe62b9f7a239416e6b"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Apr 21 22:30:12 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 21 22:30:12 2014 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Use LIRSlowPath for throwing ArrayOutOfBoundsException.\"\"\""
    },
    {
      "commit": "63da330fa097aedc97e40ded054106a7168ea116",
      "tree": "b400542ce3b92a255320219225fcfe108528162f",
      "parents": [
        "b0618ae005f2ae5bbdd5bcf4279ede2deb6d62ef",
        "42d65c52bbf4a354605389a759190e793787f692"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Apr 21 21:50:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 21 21:50:51 2014 +0000"
      },
      "message": "Merge \"Add an option to specify a list of methods for LIR dumping.\""
    },
    {
      "commit": "b0618ae005f2ae5bbdd5bcf4279ede2deb6d62ef",
      "tree": "67ac651ad769b44585b0004338582065110f5d4b",
      "parents": [
        "72f184d0751dcd6f4d03451b047943ca1da47339",
        "a63229ca67388b322951c422b31340cdc946134f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 21 17:45:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 21 17:45:40 2014 +0000"
      },
      "message": "Merge \"ART: GTest target tests missing \"PASSED\"\""
    },
    {
      "commit": "a63229ca67388b322951c422b31340cdc946134f",
      "tree": "67ac651ad769b44585b0004338582065110f5d4b",
      "parents": [
        "72f184d0751dcd6f4d03451b047943ca1da47339"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 21 09:51:07 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 21 09:51:07 2014 -0700"
      },
      "message": "ART: GTest target tests missing \"PASSED\"\n\nThis seems to have gotten lost a while ago.\n\nChange-Id: Ia0114d4fc0dfcf6e53339307cd556e168312fc53\n"
    },
    {
      "commit": "72f184d0751dcd6f4d03451b047943ca1da47339",
      "tree": "2f6b3a844ab35d33b805e413e9fb9db494f82e62",
      "parents": [
        "86e1b5e7e2bca99dd2092eab8ced977d97830873",
        "2fe07927610177e9b83809e5bdb6d2b3d835a076"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 21 16:33:28 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 21 16:33:28 2014 +0000"
      },
      "message": "Merge \"Fix dependencies in the test suite for multi-target tests\""
    },
    {
      "commit": "2fe07927610177e9b83809e5bdb6d2b3d835a076",
      "tree": "f873d2314a800c4bb5400f17701058fbd2c259b4",
      "parents": [
        "9b3335e3503724dbcb492e159789adf98ae3958b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 21 07:50:39 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 21 09:29:39 2014 -0700"
      },
      "message": "Fix dependencies in the test suite for multi-target tests\n\nChange-Id: I94dd767490a7cd8cceddc158d90f56f5bd3fef26\n"
    },
    {
      "commit": "9d894662426e413454935e483d56a8cc33924174",
      "tree": "6ae3c812e6a56401fb98a074f77f27f4bc7ba13e",
      "parents": [
        "86e1b5e7e2bca99dd2092eab8ced977d97830873"
      ],
      "author": {
        "name": "Alexei Zavjalov",
        "email": "alexei.zavjalov@intel.com",
        "time": "Mon Apr 21 20:45:24 2014 +0700"
      },
      "committer": {
        "name": "Alexei Zavjalov",
        "email": "alexei.zavjalov@intel.com",
        "time": "Mon Apr 21 20:45:24 2014 +0700"
      },
      "message": "Skip BBs without SSA representation in the Constant Propagation phase\n\nIn some cases the constant propagation optimization may get the MIR graph\nwhere some of the BBs have no predecessors and do not transformed to the\nSSA form. If such BB has operations on constants this may lead to segfault.\nThis patch adds the condition that will pass the only BBs with SSA.\n\nChange-Id: I816d46b2492c5bd4748f983c3725b4798f9ebd68\nSigned-off-by: Alexei Zavjalov \u003calexei.zavjalov@intel.com\u003e\n"
    },
    {
      "commit": "42d65c52bbf4a354605389a759190e793787f692",
      "tree": "98dd633038cbc1ae0ccdda3de1f73e79a9ab4049",
      "parents": [
        "fa25af3e3410537e86b485682d519dafbad01753"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Apr 18 16:49:39 2014 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Apr 18 16:51:15 2014 -0700"
      },
      "message": "Add an option to specify a list of methods for LIR dumping.\n\nAn example would be:\n--runtime-arg -verbose-methods:Array.checkRange32,Array.checkRange64\nor\n\"-verbose-methods:void Array.checkRange32,void Array.checkRange64\"\n\nChange-Id: I61c1eb3b2eb4b24126a9264261c27889d53cc6bd\n"
    },
    {
      "commit": "86e1b5e7e2bca99dd2092eab8ced977d97830873",
      "tree": "7bca2db120557d030356af47b5c5007379dcbe05",
      "parents": [
        "9b3335e3503724dbcb492e159789adf98ae3958b",
        "9b79776f14108ea559e5e08f94a5188468fda1e9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Apr 18 23:23:04 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 18 23:23:04 2014 +0000"
      },
      "message": "Merge \"Get instruction-set/features from build/core/config.mk\""
    },
    {
      "commit": "9b79776f14108ea559e5e08f94a5188468fda1e9",
      "tree": "828b5570a66ec394b076d1493570d67e91b55105",
      "parents": [
        "44b0053fdb7ad8a30138d29f714172a7dc69efb8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Apr 18 15:40:37 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Apr 18 15:53:49 2014 -0700"
      },
      "message": "Get instruction-set/features from build/core/config.mk\n\nDepends upon https://android-review.googlesource.com/#/c/91524\n\nChange-Id: Iad1a1b0499aac7acf7c4e42b62bb3fe4474e2f47\n"
    },
    {
      "commit": "9b3335e3503724dbcb492e159789adf98ae3958b",
      "tree": "214a6d6d4682196aa0e2ebcb5a0cc7bcf3eec2d3",
      "parents": [
        "ed0bc0bbf26f6751f31213d24ccdac49766e93ff",
        "a2cee18799d7e61adb037a4219adb23fef7d022b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Apr 18 22:44:14 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 18 22:44:14 2014 +0000"
      },
      "message": "Merge \"Modify unwind to comply with stack parser tools.\""
    },
    {
      "commit": "a2cee18799d7e61adb037a4219adb23fef7d022b",
      "tree": "214a6d6d4682196aa0e2ebcb5a0cc7bcf3eec2d3",
      "parents": [
        "ed0bc0bbf26f6751f31213d24ccdac49766e93ff"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Apr 16 19:13:59 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Apr 18 15:32:15 2014 -0700"
      },
      "message": "Modify unwind to comply with stack parser tools.\n\nBug: 14081592\n\nChange-Id: I6906b2575c74d64f1c3ba7602779b3a789de1c69\n"
    },
    {
      "commit": "ed0bc0bbf26f6751f31213d24ccdac49766e93ff",
      "tree": "5387d10d28bc8ee228e5bb12666eac4a70a5a859",
      "parents": [
        "b21f7c9f9729be60438c6c3778662d81a8c2f2d6",
        "4ad33b37ba4864a28d229330c2c4592f8fe30ca3"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Apr 18 22:05:59 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 18 22:05:59 2014 +0000"
      },
      "message": "Merge \"Fixing missing newlines in Usage calls\""
    },
    {
      "commit": "80365d9bb947edef0eae0bfe62b9f7a239416e6b",
      "tree": "97a25de360ab1622e8f7a44614ec9b0aa7b27090",
      "parents": [
        "fa25af3e3410537e86b485682d519dafbad01753"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Apr 18 12:10:58 2014 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Apr 18 14:50:14 2014 -0700"
      },
      "message": "Revert \"Revert \"Use LIRSlowPath for throwing ArrayOutOfBoundsException.\"\"\n\nThis adds back using LIRSlowPath for ArrayIndexOutOfBoundsException.\nAnd fix the host test crash.\n\nChange-Id: Idbb602f4bb2c5ce59233feb480a0ff1b216e4887\n"
    },
    {
      "commit": "4ad33b37ba4864a28d229330c2c4592f8fe30ca3",
      "tree": "5387d10d28bc8ee228e5bb12666eac4a70a5a859",
      "parents": [
        "b21f7c9f9729be60438c6c3778662d81a8c2f2d6"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Apr 18 14:18:41 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Apr 18 14:19:45 2014 -0700"
      },
      "message": "Fixing missing newlines in Usage calls\n\nChange-Id: Ie5f1098dc7b3c485732bff929d36dbcc4b69511f\n"
    },
    {
      "commit": "b21f7c9f9729be60438c6c3778662d81a8c2f2d6",
      "tree": "2db5e134c8856a375bb8dfbb45d4659fbf158a73",
      "parents": [
        "fa25af3e3410537e86b485682d519dafbad01753",
        "455820e1fd233a65a10675d380fe6620b5ec2730"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 18 21:07:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 18 21:07:44 2014 +0000"
      },
      "message": "Merge \"Fix ForegroundHeapGrowthMultiplier and ParseDouble.\""
    },
    {
      "commit": "455820e1fd233a65a10675d380fe6620b5ec2730",
      "tree": "2db5e134c8856a375bb8dfbb45d4659fbf158a73",
      "parents": [
        "fa25af3e3410537e86b485682d519dafbad01753"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 18 12:02:39 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 18 13:35:22 2014 -0700"
      },
      "message": "Fix ForegroundHeapGrowthMultiplier and ParseDouble.\n\nForegroundHeapGrowthMultiplier had a bad range of allowed values.\nThe new range is 0.1 - 10.0 instead of 0.1 to 0.9. ParseDouble usage\nhad incorrect printing var args and caused segfaults.\n\nChange-Id: I4573005ee9f888cc8140200543176d6a2e17fccc\n"
    },
    {
      "commit": "fa25af3e3410537e86b485682d519dafbad01753",
      "tree": "9d9bcb784017bd7e0ff77e4bde4211ab180b714e",
      "parents": [
        "44b0053fdb7ad8a30138d29f714172a7dc69efb8",
        "bbd695c71e0bf518f582e84524e1cdeb3de3896c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 18 18:27:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 18 18:27:49 2014 +0000"
      },
      "message": "Merge \"Replace ObjectSet with LargeObjectBitmap.\""
    },
    {
      "commit": "44b0053fdb7ad8a30138d29f714172a7dc69efb8",
      "tree": "26391df43c388c602fd341d25be33b5ebf82425a",
      "parents": [
        "ec83aacf669165eeeb1c30aee402001394982fd3",
        "e400aa24efc40d1f2616586b9514f58a83a7f332"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 18 17:11:36 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 18 17:11:36 2014 +0000"
      },
      "message": "Merge \"Fix elf_writer_test for 64b target\""
    },
    {
      "commit": "e400aa24efc40d1f2616586b9514f58a83a7f332",
      "tree": "26391df43c388c602fd341d25be33b5ebf82425a",
      "parents": [
        "ec83aacf669165eeeb1c30aee402001394982fd3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 18 10:00:40 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 18 10:00:40 2014 -0700"
      },
      "message": "Fix elf_writer_test for 64b target\n\nThe path to the core oat file is dependent on the bit-ness.\n\nChange-Id: I725b9b0f760ae14d0c38d747ad31821da7445dec\n"
    },
    {
      "commit": "5cb328362a633302ca0fcdbaa0da7d94069df051",
      "tree": "bf31cf8e9aaab4e7d326cef1d2b8936bca658473",
      "parents": [
        "957e2a2bb9ca9a59b4fb41170b1b1a53e99bed67"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 17 14:05:19 2014 +0100"
      },
      "committer": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Fri Apr 18 15:23:34 2014 +0700"
      },
      "message": "64bit changes to the stack walker for the Quick ABI.\n\n- Spill registers have different sizes.\n- The ArtMethod at the bottom of the stack is always of kWordSize.\n\nChange-Id: I92f67ff928477970c393c7146980255d08e8e6af\n"
    },
    {
      "commit": "ec83aacf669165eeeb1c30aee402001394982fd3",
      "tree": "ac125fbdbf6f863562f6bb543a70ecab610e96e1",
      "parents": [
        "6b8a2674119a9251de4d713cd2d1ff10ae21a66c",
        "7fff544c38f0dec3a213236bb785c3ca13d21a0f"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 18 06:45:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 18 06:45:03 2014 +0000"
      },
      "message": "Merge \"Revert \"Use LIRSlowPath for throwing ArrayOutOfBoundsException.\"\""
    },
    {
      "commit": "7fff544c38f0dec3a213236bb785c3ca13d21a0f",
      "tree": "ac125fbdbf6f863562f6bb543a70ecab610e96e1",
      "parents": [
        "6b8a2674119a9251de4d713cd2d1ff10ae21a66c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Apr 17 23:11:17 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Apr 17 23:11:17 2014 -0700"
      },
      "message": "Revert \"Use LIRSlowPath for throwing ArrayOutOfBoundsException.\"\n\nThis reverts commit 9d46314a309aff327f9913789b5f61200c162609.\n"
    },
    {
      "commit": "6b8a2674119a9251de4d713cd2d1ff10ae21a66c",
      "tree": "6cb9211c687123a15e18941876d5ab8359f40a88",
      "parents": [
        "957e2a2bb9ca9a59b4fb41170b1b1a53e99bed67",
        "d15f4e2ef3b1b4c01a490a00b0f6dc744741ce01"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Apr 18 05:50:59 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 18 05:50:59 2014 +0000"
      },
      "message": "Merge \"Fix a use of OpCondBranch that breaks the MIPS build.\""
    },
    {
      "commit": "366f8ae038c4f6a3852deed1cff322ba54689808",
      "tree": "702f58af8c16a7945d26c8ae80932db69d67754a",
      "parents": [
        "957e2a2bb9ca9a59b4fb41170b1b1a53e99bed67"
      ],
      "author": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Tue Apr 15 16:55:26 2014 +0700"
      },
      "committer": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Fri Apr 18 09:17:13 2014 +0700"
      },
      "message": "GenArithOpInt should ensure that reg is in core\n\nGenArithOpInt in two-addr case of add-int where destination is in\nregister should ensure that it is a core reg.\n\nChange-Id: I5b5ca126773a2bb45f9b23ad892102b034d694b4\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\n"
    }
  ],
  "next": "bbd695c71e0bf518f582e84524e1cdeb3de3896c"
}
