)]}'
{
  "log": [
    {
      "commit": "eb07669e9784ccb41d75df180727e57fc4520e28",
      "tree": "bc15da11ee0ce906252a33371f8f59138bc5a38f",
      "parents": [
        "bce0855ca1dbb1fa226c5b6a81760272ce0b64ef"
      ],
      "author": {
        "name": "Daniel Mihalyi",
        "email": "daniel.mihalyi@mattakis.com",
        "time": "Fri Aug 22 17:33:31 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Mar 24 14:43:57 2015 +0100"
      },
      "message": "JDWP: Optimized single step during debugging\n\nFor single stepping full deoptimization and undeoptimizations were\nperformed with significant overhead, because every code will be\nexecuted in interpreted mode during a single step, even if it is not\nstrictly required.\n\nFor example, if we have a computation heavy method call and we would\nlike to step over it, that method (and all the methods called from it)\nwill run in interpreter mode. This can take so long in some cases\n(e.g. multiple minutes) that it makes debugging process unusable.\n\nThe solution for this limitation is not using full deoptimizations for\nsingle steps and force interpreter only for those methods that we are\nabout to step into, and require stack deoptimization before step outs.\n\nBug: 17750566\nBug: 18094282\nBug: https://code.google.com/p/android/issues/detail?id\u003d77984\n\nChange-Id: I683c52465883146c4c84ec47bf96f8efd920527f\nSigned-off-by: Daniel Mihalyi \u003cdaniel.mihalyi@mattakis.com\u003e\n"
    },
    {
      "commit": "bce0855ca1dbb1fa226c5b6a81760272ce0b64ef",
      "tree": "6439e1079e13fff84e98e8ef0a7feaf05ad9546a",
      "parents": [
        "27a40aac557a0ee123471a99dc56fe91b50f2351",
        "0ba627337274ccfb8c9cb9bf23fffb1e1b9d1430"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 24 02:40:55 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 24 02:40:56 2015 +0000"
      },
      "message": "Merge \"Revert \"Deoptimization-based bce.\"\""
    },
    {
      "commit": "0ba627337274ccfb8c9cb9bf23fffb1e1b9d1430",
      "tree": "0e1d0813c1d8d1c7239a900c1653296975713df0",
      "parents": [
        "e295e6ec5beaea31be5d7d3c996cd8cfa2053129"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 24 02:39:46 2015 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 24 02:39:46 2015 +0000"
      },
      "message": "Revert \"Deoptimization-based bce.\"\n\nThis breaks compiling the core image:\n\n Error after BCE: art::SSAChecker: Instruction 219 in block 1 does not dominate use 221 in block 1.\n\nThis reverts commit e295e6ec5beaea31be5d7d3c996cd8cfa2053129.\n\nChange-Id: Ieeb48797d451836ed506ccb940872f1443942e4e\n"
    },
    {
      "commit": "27a40aac557a0ee123471a99dc56fe91b50f2351",
      "tree": "fb7fcf5673e3d672b68e7a96aceb3a50b191b467",
      "parents": [
        "075a6090b07ecfe7394fb65d39567596e0b1e3d3",
        "e295e6ec5beaea31be5d7d3c996cd8cfa2053129"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Mar 23 23:56:36 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 23 23:56:37 2015 +0000"
      },
      "message": "Merge \"Deoptimization-based bce.\""
    },
    {
      "commit": "e295e6ec5beaea31be5d7d3c996cd8cfa2053129",
      "tree": "4d8a657d23d511743ce35bee596544d7f652efdb",
      "parents": [
        "d24ba2c44c76a2b2dd13aafe8f7981c15be31a98"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Sat Mar 07 06:37:59 2015 -0800"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Mar 23 16:39:37 2015 -0700"
      },
      "message": "Deoptimization-based bce.\n\nA mechanism is introduced that a runtime method can be called\nfrom code compiled with optimizing compiler to deoptimize into\ninterpreter. This can be used to establish invariants in the managed code\nIf the invariant does not hold at runtime, we will deoptimize and continue\nexecution in the interpreter. This allows to optimize the managed code as\nif the invariant was proven during compile time. However, the exception\nwill be thrown according to the semantics demanded by the spec.\n\nThe invariant and optimization included in this patch are based on the\nlength of an array. Given a set of array accesses with constant indices\n{c1, ..., cn}, we can optimize away all bounds checks iff all 0 \u003c\u003d min(ci) and\nmax(ci) \u003c array-length. The first can be proven statically. The second can be\nestablished with a deoptimization-based invariant. This replaces n bounds\nchecks with one invariant check (plus slow-path code).\n\nChange-Id: I8c6e34b56c85d25b91074832d13dba1db0a81569\n"
    },
    {
      "commit": "53056722fbbba44bb30e125b4a0be37e6bb878e7",
      "tree": "6439e1079e13fff84e98e8ef0a7feaf05ad9546a",
      "parents": [
        "526e2ab195672ce68de8351e04807063054ef3da"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Mar 23 13:38:20 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Mar 23 13:38:20 2015 -0700"
      },
      "message": "RTLD_LAZY is not supported, use RTLD_NOW instead.\n\nChange-Id: I5f4da01778a0df90bf104d868a00f86445d93a2d\n"
    },
    {
      "commit": "bce416f7f22f1e73250f020be1178a1c7db72330",
      "tree": "cb9503e1ca6457468924cf4d50210f894af2b2c3",
      "parents": [
        "fc06816cc25f80cc6c4c5d002e5d3bced242a9ee"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 23 12:37:35 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 23 13:00:14 2015 -0700"
      },
      "message": "Add code cache test\n\nBug: 17950037\nChange-Id: I13913667517db5bb9b7224f0639c2b39cf3a1973\n"
    },
    {
      "commit": "fc06816cc25f80cc6c4c5d002e5d3bced242a9ee",
      "tree": "05c1a88f5e26fc72a14d70b27dc5413155f1f3f7",
      "parents": [
        "d24ba2c44c76a2b2dd13aafe8f7981c15be31a98",
        "785049f8083e56e88dfeab5ff74fb3817f9854e3"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Mar 23 19:45:32 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 23 19:45:32 2015 +0000"
      },
      "message": "Merge \"Add paths to apk!lib/\u003cabi\u003e to LD_LIBRARY_PATH\""
    },
    {
      "commit": "785049f8083e56e88dfeab5ff74fb3817f9854e3",
      "tree": "ab06a7fb4acb2ed73eed4b58327ba485f61560c4",
      "parents": [
        "f5988cf0c47ff935bb19c89ed0398be5fbe44bb6"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Jul 18 10:08:57 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Mar 23 11:38:54 2015 -0700"
      },
      "message": "Add paths to apk!lib/\u003cabi\u003e to LD_LIBRARY_PATH\n\n  Add paths to .apk to LD_LIBRARY_PATH to enable\n  bionic linker\u0027s \"open from zip-file\" feature.\n\nBug: 8076853\nChange-Id: I1aa2c039bb2a590ae72f256acc9ba5401c2c59b1\n"
    },
    {
      "commit": "935e01a1e4c0f0ac257c5a9b71bda50a9d441fa3",
      "tree": "9b79b902c9ca4443561aba439122fd0be65900a6",
      "parents": [
        "7aa81a451386350dd03c98adfade2ed7b88f611e"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Mar 20 19:44:35 2015 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Mar 20 19:44:35 2015 -0700"
      },
      "message": "Fix interpreter to allow 0 size sparse switches.\n\nBug: 19827056\nChange-Id: I12eaf717f1a4b9bd5e0c8e2a508df9da4e61c4ec\n"
    },
    {
      "commit": "7aa81a451386350dd03c98adfade2ed7b88f611e",
      "tree": "83bab1196e677b6b24f96866ab407cdeff69b6c8",
      "parents": [
        "bd891ccdef8d9677f64e26912c0161de31bb42bd",
        "9ccd151d0d27a729f88af9d00285afe4d147981a"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Sat Mar 21 01:47:16 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 21 01:47:17 2015 +0000"
      },
      "message": "Merge \"Fix verifier handling of empty switch as last instruction.\""
    },
    {
      "commit": "9ccd151d0d27a729f88af9d00285afe4d147981a",
      "tree": "edfef268a0ecda957dfaa91ec35dd99c9ad3761f",
      "parents": [
        "3743174267159ec0c39bce1ca28c2081468dda94"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Mar 20 18:11:45 2015 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Mar 20 18:40:32 2015 -0700"
      },
      "message": "Fix verifier handling of empty switch as last instruction.\n\nAlso fixes optimizing compiler\u0027s assumption that switch is non-empty and\nadds test case.\n\nBug: 19827056\nChange-Id: I5ac891d5062f528ef3be787b1094cba7b4c0fbd0\n"
    },
    {
      "commit": "bd891ccdef8d9677f64e26912c0161de31bb42bd",
      "tree": "1e548e63b2987f7831416594b974bece210ba64f",
      "parents": [
        "248701ef353ec05dd78b0a1afe6be29612366b55",
        "cd8f6377821370cb471fb21ae095dfaa204e4410"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Mar 21 01:11:12 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 21 01:11:12 2015 +0000"
      },
      "message": "Merge \"Remove some spammy logging\""
    },
    {
      "commit": "cd8f6377821370cb471fb21ae095dfaa204e4410",
      "tree": "e3d4763b0a253fbfeab368acf714826934aaeb1d",
      "parents": [
        "8c66b5fd8015116cede7a67ebdd1229ff7315f49"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 20 18:04:02 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 20 18:08:28 2015 -0700"
      },
      "message": "Remove some spammy logging\n\nDid not provide useful info and or was redundant.\n\nChange-Id: I42da705debc43460cdd3fdf16e9e9ceb2c137001\n"
    },
    {
      "commit": "3d900a7400701be1fb6a1e7fa192bab8aeec5467",
      "tree": "0e1f08a15e5ebfbc92896f979bded31f9b5f3fd1",
      "parents": [
        "8c66b5fd8015116cede7a67ebdd1229ff7315f49"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Mar 20 17:56:45 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Mar 20 17:56:45 2015 -0700"
      },
      "message": "Fix the mac build.\n\nUse SYMBOL around a function name in the assembly code.\n\nChange-Id: I624361ff15a00288c834bd90d1b7783138802ea7\n"
    },
    {
      "commit": "3743174267159ec0c39bce1ca28c2081468dda94",
      "tree": "f4e65f94ab6b0f0a823be26edc5108fd5d8862c6",
      "parents": [
        "a5bfefb1042dfd6b1338dba9287e21c7e432a61a",
        "e01a520fe0010f8abd344b5ed7120787d7ed1d71"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Mar 20 20:49:09 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 20 20:49:11 2015 +0000"
      },
      "message": "Merge \"Assembly TLAB allocation fast path for x86_64.\""
    },
    {
      "commit": "a7d38fc6702d2a763e8187b4773d02b63b3229ac",
      "tree": "37d90ef5acad977c8fe1c4049be7316375c58af3",
      "parents": [
        "2a39584820c46c18c3b013e13d758c707e9f363e"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "goran.jakovljevic@imgtec.com",
        "time": "Thu Mar 12 15:32:55 2015 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 20 13:13:01 2015 -0700"
      },
      "message": "ART: Fix expectations for instruction-set-features string\n\nOnly check for an empty features vector if we found \"default.\" The\nvector can be empty if this is already handled, e.g., for \"smp.\"\n\nChange-Id: I0d07faf38d0b50f151b5d29e6993d8224034254e\n"
    },
    {
      "commit": "2a39584820c46c18c3b013e13d758c707e9f363e",
      "tree": "693b528462ed70b4d2dfff40e3b022b3c26b0111",
      "parents": [
        "dbd065a8df06e7595a0ed05d3c18e68b6dac9cd1",
        "3d12eadf67e263ebc7e533f8daa65029feb41313"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 20 19:56:21 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 20 19:56:22 2015 +0000"
      },
      "message": "Merge \"ART: Change the isa defaults for Mips\""
    },
    {
      "commit": "3d12eadf67e263ebc7e533f8daa65029feb41313",
      "tree": "3d6c19a669df665c09ef6c4bcaf1ca0840a51999",
      "parents": [
        "157fb9e52b8f11daeec5fbd6286853e0b920c215"
      ],
      "author": {
        "name": "Douglas Leung",
        "email": "douglas.leung@imgtec.com",
        "time": "Wed Mar 18 11:29:14 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 20 12:54:23 2015 -0700"
      },
      "message": "ART: Change the isa defaults for Mips\n\nSelect the correct cpu variant for ART and select the default\nfeatures based on compile flags for when the variant is not\ndefined.\n\nChange-Id: I13622db85446ed6fbb467a699d8d3e27833f6f88\n"
    },
    {
      "commit": "e01a520fe0010f8abd344b5ed7120787d7ed1d71",
      "tree": "497937fea803b9d5e2e1fd5923b2ccfb76504ff3",
      "parents": [
        "f5988cf0c47ff935bb19c89ed0398be5fbe44bb6"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Mar 19 12:35:04 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Mar 20 11:49:31 2015 -0700"
      },
      "message": "Assembly TLAB allocation fast path for x86_64.\n\nTODO: resolved/initialized cases, other architectures.\n\nBug: 9986565\nChange-Id: If6df3449a3b2f5074d11babdda0fd2791fd54946\n"
    },
    {
      "commit": "dbd065a8df06e7595a0ed05d3c18e68b6dac9cd1",
      "tree": "e581639c893a5db5ac6c5d1e2019e00a3f79035a",
      "parents": [
        "5888026fad2c22d18dc18c134304e62d87c2c972",
        "79bd2bfa8f1602067fd381834206ed6b7e73a9be"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Mar 20 18:31:33 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 20 18:31:33 2015 +0000"
      },
      "message": "Merge \"Make it possible to enable tlab with a build parameter.\""
    },
    {
      "commit": "79bd2bfa8f1602067fd381834206ed6b7e73a9be",
      "tree": "8f2c7da90cb6a867bac53bb0d7e180f46d55adf9",
      "parents": [
        "f5988cf0c47ff935bb19c89ed0398be5fbe44bb6"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Mar 20 10:28:34 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Mar 20 10:28:34 2015 -0700"
      },
      "message": "Make it possible to enable tlab with a build parameter.\n\nFor testing.\n\nChange-Id: I4d06a4db733b7fa09105f068028483cf88db7925\n"
    },
    {
      "commit": "e86deeffad79c00ed2ebede04f4adc348bda790c",
      "tree": "f0952116fe2fa933c8c9827e83caf4432f0339da",
      "parents": [
        "2f5904383a7b7ffb741c8839ec3c60762860bad3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 19 13:43:37 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 20 10:26:42 2015 -0700"
      },
      "message": "Add verify-at-runtime compiler filter\n\nVerifies at runtime only, instead of at compilation time.\nAOSP HH boot time after clean-oat: ~30s instead of ~35s if enabled.\nAlso helps install time if enabled there.\n\nTODO: See if there is any possible deadlocks that can result from\nthis.\n\nBug: 19762303\n\nChange-Id: Ibfba77148da9039e8d7d7497c05486bc044eefe7\n"
    },
    {
      "commit": "2f5904383a7b7ffb741c8839ec3c60762860bad3",
      "tree": "747734c0d96390e434f6bd3b811241b89d21feba",
      "parents": [
        "37c22c61890fe779826dfefa3d327daa76dabb30",
        "1412dfa4adcd511902e510fa0c948b168ab5840c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 20 14:58:45 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 20 14:58:46 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Use optimizing for apps.\"\"\""
    },
    {
      "commit": "37c22c61890fe779826dfefa3d327daa76dabb30",
      "tree": "a73e8c2d4092efc8bf13692d3ca6919986fead8d",
      "parents": [
        "39374ce1df34164e0060b0621be98d33ba0ff4e6",
        "004c230b4cfc856690c61faabc41864061813c88"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 20 14:56:12 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 20 14:56:13 2015 +0000"
      },
      "message": "Merge \"Compress the StackMaps.\""
    },
    {
      "commit": "004c230b4cfc856690c61faabc41864061813c88",
      "tree": "40d95445eaa2eb248fa639755689c797a5e0c2ae",
      "parents": [
        "735dc87c92bee338d0638b3290c2b93a122429f2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 20 10:06:38 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 20 14:55:15 2015 +0000"
      },
      "message": "Compress the StackMaps.\n\nFirst step towards the compression of the StackMap (not\nthe DexRegisterMap). Next step will be to just use what is\nneeded (instead of byte -\u003e word).\n\nChange-Id: I4f81b2d05bf5cc508585e16fbbed1bafbc850e2e\n"
    },
    {
      "commit": "1412dfa4adcd511902e510fa0c948b168ab5840c",
      "tree": "3301c7a9c55c3627cba29e14f4bce44d9de31da3",
      "parents": [
        "39374ce1df34164e0060b0621be98d33ba0ff4e6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 20 14:48:13 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 20 14:51:15 2015 +0000"
      },
      "message": "Revert \"Revert \"Use optimizing for apps.\"\"\n\nThis reverts commit 706cae36209932f258b2fe2e396f31d2dd7d585e.\n\nChange-Id: I75cc6206ec17ade52a6db0737b62aa37ea2fa300\n"
    },
    {
      "commit": "39374ce1df34164e0060b0621be98d33ba0ff4e6",
      "tree": "9fbe1befaa03a0a12a9c31c43daec9ef622a665b",
      "parents": [
        "157fb9e52b8f11daeec5fbd6286853e0b920c215",
        "c0365b144651c4e586ddc235423b3f0111966f89"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 20 13:51:03 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 20 13:51:04 2015 +0000"
      },
      "message": "Merge \"Remember whether a method was worth inlining.\""
    },
    {
      "commit": "c0365b144651c4e586ddc235423b3f0111966f89",
      "tree": "7d996dcd0233f6f26ffd7c72dda331f630cc8309",
      "parents": [
        "a2b02f7bb474549ae356b5edfbb27a76e5460c58"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 18 18:31:52 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 20 12:16:25 2015 +0000"
      },
      "message": "Remember whether a method was worth inlining.\n\nChange-Id: I9d8efe312b264739ac6307f966e43c1d7650a3ca\n"
    },
    {
      "commit": "d7cbf8a6629942e7bd315ffae7e1c77b082f3e11",
      "tree": "fc8c3371ed4ddac96bbe90a2f94ef5fb5c5472ee",
      "parents": [
        "f5988cf0c47ff935bb19c89ed0398be5fbe44bb6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 19 12:43:20 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 19 20:00:50 2015 -0700"
      },
      "message": "Change RETURN_VOID_BARRIER to RETURN_VOID_NO_BARRIER\n\nWe want to default to having a barrier for the case where we don\u0027t\ndex to dex.\n\nBug: 19762303\nChange-Id: I60348d89eaf0b9e1e480298afcecbb5f52e8661b\n"
    },
    {
      "commit": "f5988cf0c47ff935bb19c89ed0398be5fbe44bb6",
      "tree": "06d0ca4fc196f3dda795b5dafa2211025e9bdf8a",
      "parents": [
        "00bb33c8151c05d7e1c89f6b999540c2036c5967",
        "706cae36209932f258b2fe2e396f31d2dd7d585e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 19 18:51:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 19 18:51:08 2015 +0000"
      },
      "message": "Merge \"Revert \"Use optimizing for apps.\"\""
    },
    {
      "commit": "00bb33c8151c05d7e1c89f6b999540c2036c5967",
      "tree": "1d1c7007dad6fa05cdce2aaa2e32000b6ce80164",
      "parents": [
        "735dc87c92bee338d0638b3290c2b93a122429f2",
        "5b783e66b26b7b6ee13d344f4b77f6b7c47c4723"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Mar 19 18:49:47 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 19 18:49:47 2015 +0000"
      },
      "message": "Merge \"Fix 003-omnibus-opcodes flaky failures with GSS GC.\""
    },
    {
      "commit": "706cae36209932f258b2fe2e396f31d2dd7d585e",
      "tree": "929de094fee7b19458c3d7f645af77b874715ce1",
      "parents": [
        "f3251d12dfa387493dbde4c4148a633802f5f7e3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 19 18:49:46 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 19 18:49:46 2015 +0000"
      },
      "message": "Revert \"Use optimizing for apps.\"\n\nThis reverts commit f3251d12dfa387493dbde4c4148a633802f5f7e3.\n\nChange-Id: I32514e10ece55ee7bd7382ce2e956d57c9b621e5\n"
    },
    {
      "commit": "5b783e66b26b7b6ee13d344f4b77f6b7c47c4723",
      "tree": "e1f54fec55617c757813ab11beb9072521427596",
      "parents": [
        "b63ff273375c488fae2555fad4e5873d3613aa5d"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Mar 18 17:20:11 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Mar 19 11:48:24 2015 -0700"
      },
      "message": "Fix 003-omnibus-opcodes flaky failures with GSS GC.\n\nFix a moving GC bug in Class::SetStatus().\n\nBug: 19828874\n\nChange-Id: I6bef49a7ce964e8a7e316f282aaf1b8544efe76d\n"
    },
    {
      "commit": "735dc87c92bee338d0638b3290c2b93a122429f2",
      "tree": "e96f26717b0cd2faeadadf6146ce12c8dd1c04bb",
      "parents": [
        "b63ff273375c488fae2555fad4e5873d3613aa5d",
        "455f67c4cf0b4f04e117db3024fd189fa1c7dab9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 19 01:50:43 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 19 01:50:43 2015 +0000"
      },
      "message": "Merge \"Fix JIT options with late init\""
    },
    {
      "commit": "455f67c4cf0b4f04e117db3024fd189fa1c7dab9",
      "tree": "3f89fdc8ba9b31cc0205945410a75d63e2f25000",
      "parents": [
        "5747266d57445ecdd026a4705d62768faad09b01"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Mar 17 13:48:29 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 18 18:49:28 2015 -0700"
      },
      "message": "Fix JIT options with late init\n\nPreviously we couldn\u0027t create the JIT since we didn\u0027t have any\nJITOptions.\n\nBug: 19735273\n\nChange-Id: I24b8ed131ed8b18f75ec94291e135d8a1c089ebd\n"
    },
    {
      "commit": "b63ff273375c488fae2555fad4e5873d3613aa5d",
      "tree": "331b7c5492238f859b56d53747d458b41f27103a",
      "parents": [
        "5747266d57445ecdd026a4705d62768faad09b01",
        "e84e4f77388ec9c1d63fb4b21605eedca2a2e932"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Mar 18 21:37:12 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 18 21:37:12 2015 +0000"
      },
      "message": "Merge \"Remove the Android.mk GCC-only source files hackery\""
    },
    {
      "commit": "e84e4f77388ec9c1d63fb4b21605eedca2a2e932",
      "tree": "0e6aca3eeeeb60c504ab998bad57a287544ff7df",
      "parents": [
        "94e480778b0946d1ab405ecf901e5d41ed54cc17"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Mar 18 14:01:19 2015 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@google.com",
        "time": "Wed Mar 18 21:05:14 2015 +0000"
      },
      "message": "Remove the Android.mk GCC-only source files hackery\n\nThe complexity in Android.mk to deal with GCC-only source files is\nunnecessary, use #if !defined(__clang__) around the contents of\ninterpreter/interpreter_goto_table_impl.cc, the same way\ninterpreter/interpreter.cc does around references to it.\n\nBug: 17716550\nChange-Id: I775c23b6790d38b0d73a92529c696a31e6a4ae83\n"
    },
    {
      "commit": "47f867a0ae34d743f6159c2261e5b11e39693e15",
      "tree": "3b9129e77ab3e99b211fccc8ab2eba06d0c12957",
      "parents": [
        "a2b02f7bb474549ae356b5edfbb27a76e5460c58"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 18 10:39:00 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 18 13:39:18 2015 -0700"
      },
      "message": "Clean up hash set\n\nAdded vertical whitespace, const iterators, made some functions\nconst.\n\nChange-Id: I188dc0384a98d6dae2822f0ac38b740f2356c23d\n"
    },
    {
      "commit": "aec8f930571ce10d6ce9a4249c45866a7f213397",
      "tree": "6514b8af90323a20282f3afe78812cce7535c7df",
      "parents": [
        "696005b00575fa53c91f3baabd4e85d543df4df8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 18 10:42:22 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 18 10:43:37 2015 +0000"
      },
      "message": "StackMap: Always load and store unalign.\n\nNow that we can have a mix of Quick and Optimized code in an .oat\nfile, a CodeInfo object is not necessarily word aligned.\n\nChange-Id: Ic6c5d1a2c6e20363436726a0708b0764b5a76caf\n"
    },
    {
      "commit": "696005b00575fa53c91f3baabd4e85d543df4df8",
      "tree": "48e179c37a79d6329ff8b7570280202d2c5d8b06",
      "parents": [
        "93247e439a758ce83a58198918c3b83c42e8f722",
        "f3251d12dfa387493dbde4c4148a633802f5f7e3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 18 08:27:15 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 18 08:27:16 2015 +0000"
      },
      "message": "Merge \"Use optimizing for apps.\""
    },
    {
      "commit": "93247e439a758ce83a58198918c3b83c42e8f722",
      "tree": "6bdee1d178ccaf0338cfe942b4a7f7f01dca2fc7",
      "parents": [
        "a7d3e2ddfc47395c0bfd50956e3c550d1a392462",
        "3dbf23412481c4da51f0ebe32bec5d300c36834b"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Mar 18 00:06:16 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 18 00:06:17 2015 +0000"
      },
      "message": "Merge \"Fix oat_file_assistant_test32 flaky failures with GSS collector.\""
    },
    {
      "commit": "3dbf23412481c4da51f0ebe32bec5d300c36834b",
      "tree": "a900023a52b868f7776f6c92ced3201cc691fb8a",
      "parents": [
        "cadf090da2dc91a3d6b842324e85f12ea6fef2ef"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Mar 17 16:01:11 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Mar 17 16:01:11 2015 -0700"
      },
      "message": "Fix oat_file_assistant_test32 flaky failures with GSS collector.\n\nBug: 19800031\nChange-Id: I5146fa4e6a79bad94762102a50956c31251dcd2a\n"
    },
    {
      "commit": "a7d3e2ddfc47395c0bfd50956e3c550d1a392462",
      "tree": "8ce7b32e32a3249d798ae69ffdd982c543763fba",
      "parents": [
        "8c36c1af046ba8ed2c4bad19453e02fd2a5cb5ba",
        "6eff38d6a949c5be1532c1ed881a6c2d7bf0991a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Mar 17 21:51:43 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 17 21:51:44 2015 +0000"
      },
      "message": "Merge \"Add JIT zygote hook\""
    },
    {
      "commit": "6eff38d6a949c5be1532c1ed881a6c2d7bf0991a",
      "tree": "7eb1e54cd1345d37364d42c0e8453180cf8363ff",
      "parents": [
        "ea2a45669b807486b0570c66d29a721e684f8d47"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Mar 17 09:52:22 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Mar 17 11:40:27 2015 -0700"
      },
      "message": "Add JIT zygote hook\n\nBug: 19735273\nChange-Id: I1983852e80010c344b45e0bb459de47c56adfce8\n"
    },
    {
      "commit": "f3251d12dfa387493dbde4c4148a633802f5f7e3",
      "tree": "9f256cb7f0f79ee9ef7da7927d990c355cf15eb2",
      "parents": [
        "eb46017aaa3906e293d6e975d4db3ba02b9bebe9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 11 18:41:06 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 17 15:25:42 2015 +0000"
      },
      "message": "Use optimizing for apps.\n\nDoing it in dex2oat, to avoid messing up with our current testing.\n\nChange-Id: I76c58f11f0d4756b894e797fc52712453e35adb1\n"
    },
    {
      "commit": "850cd16a683d724b41687074a49504996d8e8e3e",
      "tree": "3b3913d85f8f3c138b97584ede8b2d490dc54d00",
      "parents": [
        "eb46017aaa3906e293d6e975d4db3ba02b9bebe9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 17 11:05:20 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 17 11:06:36 2015 +0000"
      },
      "message": "ART: Fix build for counting arena allocations.\n\nChange-Id: I1fbb8cc9c4934cc81cb80c5c2107c63fd16a0a05\n"
    },
    {
      "commit": "987ca8b9f054a68eaaeb6ac762dc0d8a07fe180d",
      "tree": "511ce7a411a6c9e4eaf9e47be83d424d173e6c2b",
      "parents": [
        "9d6a575d711912d061c1116a03c390c0b2ce8c20"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Mar 15 14:19:14 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Mar 15 14:24:26 2015 -0700"
      },
      "message": "Add more info to GetSFields DCHECK\n\nSome hprof test 64 bit failures had this DCHECK failing.\n\nChange-Id: Iede7432056f99aa2773ddfd098b359fca5f4371e\n"
    },
    {
      "commit": "6c77292f55ab3220f711407ac9015f01a7f58ad5",
      "tree": "9dbdf2cbc74d3912a5b5fdf8697eebe74a77a7f4",
      "parents": [
        "98759d28dc68ea1a799e1af2beb7c7d4535bb75c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 13 19:21:08 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 13 19:29:08 2015 -0700"
      },
      "message": "Revert \"Disable jit for ARM 64 bit\"\n\nBug: 17950037\n\nThis reverts commit bf9026d3e09b5b92b1d94a8e1e3953bf13127bef.\n"
    },
    {
      "commit": "bf9fc581e8870faddbd320a935f9a627da724c48",
      "tree": "0a4a6c21fbd4c771b06fac186d32efa6722605b2",
      "parents": [
        "3d96846b6adedf57be64eb3873de0ca58ec4b827"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 13 17:21:25 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 13 17:32:48 2015 -0700"
      },
      "message": "Add more info to who called SuspendAll\n\nHelps diagnose related jank.\n\nChange-Id: I38191cdda723c6f0355d0197c494a3dff2b6653c\n"
    },
    {
      "commit": "3d96846b6adedf57be64eb3873de0ca58ec4b827",
      "tree": "09027316758e990c14501dd359f788b9515d689e",
      "parents": [
        "9bcea85e0ba966950bf87573eca1c9460d40ddb5",
        "8711d1fadb62481cdcb10c829a54b36f6aa16f6f"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Mar 13 23:59:00 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 13 23:59:01 2015 +0000"
      },
      "message": "Merge \"Fix valgrind heap_test.\""
    },
    {
      "commit": "8711d1fadb62481cdcb10c829a54b36f6aa16f6f",
      "tree": "8ca7b49ed588b4fa02f4d664ddbc5f870a4718e8",
      "parents": [
        "02c0bac34c246c1bd974dbb86d292d4b52ba98e4"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Mar 13 16:48:55 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Mar 13 16:53:36 2015 -0700"
      },
      "message": "Fix valgrind heap_test.\n\nCopy the exact object size rather than the aligned size to avoid\nvalgrind errors in the zygote compact collector.\n\nChange-Id: I260b8901f96fb4c0937a1a5237120b56f6858b7a\n"
    },
    {
      "commit": "9bcea85e0ba966950bf87573eca1c9460d40ddb5",
      "tree": "fdb8e672dd4b0cce54c77d0311808c4056653cd2",
      "parents": [
        "02c0bac34c246c1bd974dbb86d292d4b52ba98e4",
        "12d625f87bcd6c4059a205bb39007a255f57f382"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 13 23:53:16 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 13 23:53:16 2015 +0000"
      },
      "message": "Merge \"Change method verifiers to be thread local roots\""
    },
    {
      "commit": "12d625f87bcd6c4059a205bb39007a255f57f382",
      "tree": "b69f6f80f56977c176e0c441869d2f1de06ede70",
      "parents": [
        "b871a15f1f662c8efe10d41199180bd00b6decd1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 13 11:33:37 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 13 16:38:25 2015 -0700"
      },
      "message": "Change method verifiers to be thread local roots\n\nBug: 10921004\n\nChange-Id: I3a1425d76cd380587ba67ef6d5ec1227564e55bf\n"
    },
    {
      "commit": "02c0bac34c246c1bd974dbb86d292d4b52ba98e4",
      "tree": "83774758f02a48a0b59e042d2c6f4a4a7edf60a2",
      "parents": [
        "ccac273186a7f624ee20d1a3e19ea34bb3fd305f",
        "fead4e4f397455aa31905b2982d4d861126ab89d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 13 18:46:44 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 13 18:46:44 2015 +0000"
      },
      "message": "Merge \"[optimizing] Don\u0027t record None locations in the stack maps.\""
    },
    {
      "commit": "ccac273186a7f624ee20d1a3e19ea34bb3fd305f",
      "tree": "9d57836a3fc56f0b571778a096c9c1ea5afc9dc1",
      "parents": [
        "c885ee269d2c76e830e1208b6018b70c4a331101",
        "bf9026d3e09b5b92b1d94a8e1e3953bf13127bef"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 13 18:46:06 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 13 18:46:07 2015 +0000"
      },
      "message": "Merge \"Disable jit for ARM 64 bit\""
    },
    {
      "commit": "bf9026d3e09b5b92b1d94a8e1e3953bf13127bef",
      "tree": "ba0e893fbdbc2b86f5c491ee2d61d755f7adedeb",
      "parents": [
        "b871a15f1f662c8efe10d41199180bd00b6decd1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 13 11:34:02 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 13 11:41:42 2015 -0700"
      },
      "message": "Disable jit for ARM 64 bit\n\nUntil issues are fixed.\n\nBug: 17950037\nChange-Id: I4517a1e188adf0a087576423066c348eb6ae81be\n"
    },
    {
      "commit": "fead4e4f397455aa31905b2982d4d861126ab89d",
      "tree": "21e4ccd99472bbf5cf1fac3bc20d0bca6f176022",
      "parents": [
        "cc22e3946baf035c8732e9417ab132bfe663aa45"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 13 14:39:40 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 13 18:28:19 2015 +0000"
      },
      "message": "[optimizing] Don\u0027t record None locations in the stack maps.\n\n- moved environment recording from code generator to stack map stream\n- added creation/loading factory methods for the DexRegisterMap (hides\ninternal details)\n- added new tests\n\nChange-Id: Ic8b6d044f0d8255c6759c19a41df332ef37876fe\n"
    },
    {
      "commit": "2f709af007ea67ee8b6b8965a7ce313bcb6089d4",
      "tree": "ada833807a77010b64f7ad8c9eccf649abe4c135",
      "parents": [
        "b871a15f1f662c8efe10d41199180bd00b6decd1",
        "db1c9ac2c28f7c52d4081dc42fc4f10efed953f9"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Mar 13 18:02:08 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 13 18:02:10 2015 +0000"
      },
      "message": "Merge \"Exercise Heap::PreZygoteFork() in a test.\""
    },
    {
      "commit": "db1c9ac2c28f7c52d4081dc42fc4f10efed953f9",
      "tree": "403b286b6f609fa9cbd97af41357b7d0c26d63b2",
      "parents": [
        "b1e63900ab0637875adcb77eeb7ff5af532293a1"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Mar 12 15:40:53 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Mar 13 10:59:50 2015 -0700"
      },
      "message": "Exercise Heap::PreZygoteFork() in a test.\n\nChange-Id: If41c931ffdbb0310536799b4515557770f2cd4b9\n"
    },
    {
      "commit": "b871a15f1f662c8efe10d41199180bd00b6decd1",
      "tree": "0edabf07dc19a4451cf131144369cd9a6e6e0ce9",
      "parents": [
        "b93581f857e36a62f690e26e78167f2abea0f033",
        "2435a43f6c851c23922d8508fb17c6079248201c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 13 17:56:45 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 13 17:56:46 2015 +0000"
      },
      "message": "Merge \"ART: Add entries_ lock for race condition\""
    },
    {
      "commit": "2435a43f6c851c23922d8508fb17c6079248201c",
      "tree": "a0eea938dfbafc8f8e1546528295005d3a55ecee",
      "parents": [
        "c685bce4e6cfec075cb5b468d06b2fcdeeda2005"
      ],
      "author": {
        "name": "bowen_lai",
        "email": "bowen_lai@htc.com",
        "time": "Fri Mar 13 14:34:40 2015 +0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 13 10:20:40 2015 -0700"
      },
      "message": "ART: Add entries_ lock for race condition\n\nGCDaemon thread would visit incorrect RegType content when there is\nanother thread initializing classes.\nAdd a lock to protect entries_.\n\nhttps://code.google.com/p/android/issues/detail?id\u003d159849\n\nChange-Id: Iabaa1c7f5cc5106b60a6e3856152e0797e8a5d6d\n"
    },
    {
      "commit": "a98c74e93330e2800677a5d24d7d0d8977481044",
      "tree": "0ce974d49c958b95ffa001d2d9ec3a8351d41ffb",
      "parents": [
        "cc22e3946baf035c8732e9417ab132bfe663aa45",
        "8e6c3fd1cd445b0a248cf1396c16fb1616bc73df"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 13 16:20:19 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 13 16:20:21 2015 +0000"
      },
      "message": "Merge \"ART: Fix arraycopy in Unstarted Runtime\""
    },
    {
      "commit": "8e6c3fd1cd445b0a248cf1396c16fb1616bc73df",
      "tree": "404740a8173caaa3ca2eda4d2f9257c22cd9bf68",
      "parents": [
        "90a6adc0f6e55ec02f9443c12e93fea85c1a9393"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 11 18:34:44 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 13 09:16:05 2015 -0700"
      },
      "message": "ART: Fix arraycopy in Unstarted Runtime\n\nAdd null and bounds checks. Add type checks. Implement correct\ncopy in case of overlap.\n\nThe emulation is not complete. Object arrays with different types\nare not supported to simplify the implementation.\n\nChange-Id: I107bed1ce884ca632de3fa648fa7a1c5f592e2a4\n"
    },
    {
      "commit": "ede7bf8a5cef965974e7c1edcf46a41fbe50a49d",
      "tree": "7f99657bd4f8591f7cf463c1a197e1a7575abab6",
      "parents": [
        "63346f57e2327894ce6c1e28e3d00342177538a6"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 13 12:23:04 2015 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 13 12:54:45 2015 +0000"
      },
      "message": "Align CodeInfo regions instead of their inner subregions.\n\nInstead of word-aligning every stack map region, as well as\nthe Dex register maps region of a CodeInfo object, just\nalign the whole CodeInfo region itself.\n\nChange-Id: Ia35d213d2bd184729aa0d048874c76f7bc6da0f6\n"
    },
    {
      "commit": "63346f57e2327894ce6c1e28e3d00342177538a6",
      "tree": "dd3e686f2915a5c1cf37f83c6a9882ae35ff9da2",
      "parents": [
        "faa375ca1409707efaaeeb710b2e933e7668dbe9",
        "29ba1b068fc9f5a8011782c147b1f7732928aac7"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 13 12:40:16 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 13 12:40:16 2015 +0000"
      },
      "message": "Merge \"Fix the computation of the size of the stack maps region.\""
    },
    {
      "commit": "29ba1b068fc9f5a8011782c147b1f7732928aac7",
      "tree": "5b61289b1e135cce6f01e8c9cbcaa747a39f196c",
      "parents": [
        "d9a59ca8f038a0f93a4e1504e0f7f8f388848719"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 13 11:45:07 2015 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 13 12:28:43 2015 +0000"
      },
      "message": "Fix the computation of the size of the stack maps region.\n\nIn art::StackMapStream::ComputeStackMapSize, compute the\nsize of a CodeInfo\u0027s stack maps region using the stack\nmask size, not the maximum element of the stack mask.\nAlso, rename this method as\nart::StackMapStream::ComputeStackMapsSize to make it clear\nit that it covers all the stack maps of the CodeInfo item,\nnot just one stack map.\n\nChange-Id: Icad21946dbca6e1ade2b82c9c2c535fdfed110a9\n"
    },
    {
      "commit": "15b9d5274399736ac09705f0507df24fac4f00c1",
      "tree": "04564a9265f5dccefdd32ea7bdd25adc0267f80b",
      "parents": [
        "8bc616d09f93523f4bc982cc60c377b00161522a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 12 15:05:13 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 13 10:26:47 2015 +0000"
      },
      "message": "API change in StackVisitor::GetVReg*.\n\n- Remove GetVReg() and SetVReg() that were expecting to always succeed.\n- Change Quick-only methods to take a FromQuickCode suffix.\n- Change deopt to use dead values when GetVReg does not succeed:\n  the optimizing compiler will not have a location for uninitialized\n  Dex registers and potentially dead registers.\n\nChange-Id: Ida05773a97aff8aa69e0caf42ea961f80f854b77\n"
    },
    {
      "commit": "ddd04a64a13bde9551ca1174957e055cd2132cff",
      "tree": "cfee62d10e81752ec3af2be1b03dc04a4b176fc9",
      "parents": [
        "90a6adc0f6e55ec02f9443c12e93fea85c1a9393",
        "915b9d0c13bb5091875d868fbfa551d7b65d7477"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 13 08:45:10 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 13 08:45:12 2015 +0000"
      },
      "message": "Merge \"Tweak liveness when instructions are used in environments.\""
    },
    {
      "commit": "6eb987dd8afd001898f262263203a1a3ff3fcf83",
      "tree": "0115f8aace42392f6d0112f75f7bcd9a0a090b9e",
      "parents": [
        "c685bce4e6cfec075cb5b468d06b2fcdeeda2005"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Mar 12 17:26:05 2015 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Mar 12 17:26:05 2015 -0700"
      },
      "message": "Fix copy/paste documentation error.\n\nChange-Id: I153a8fdb3644c7178895ce0cc6c1c3f6ce3c6876\n"
    },
    {
      "commit": "c685bce4e6cfec075cb5b468d06b2fcdeeda2005",
      "tree": "df0066973ff62cd8c034d7bedea167ba9c2253b5",
      "parents": [
        "003e7aad9a6e57032dfc7b4677dc815c6aa462ea",
        "dd9d055ddfe4bd66fcf58fde4e8066670acce011"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 12 23:17:12 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 12 23:19:15 2015 +0000"
      },
      "message": "Merge \"ART: More cutouts for unstarted runtime\""
    },
    {
      "commit": "dd9d055ddfe4bd66fcf58fde4e8066670acce011",
      "tree": "a88253b45ce6c9292ab6dfab16452fa7c1b4c8fb",
      "parents": [
        "510abc71bd8a5ba42079a851783aba31036c54ea"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 09 12:57:41 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 12 16:09:38 2015 -0700"
      },
      "message": "ART: More cutouts for unstarted runtime\n\nDex objects keep byte buffers to mapped dex files. For annotation\naccess we create them when compiling, but they must be cleared before\nwriting an image.\n\nAdd some Memory functions.\n\nBug: 19542228\nChange-Id: I995791b43f2b09192d88645821d9e55b45f1b606\n"
    },
    {
      "commit": "b1e63900ab0637875adcb77eeb7ff5af532293a1",
      "tree": "b44c2ab05d4df7e5387c588e95ab45cd8380edff",
      "parents": [
        "26584ca6cee6891cf96434400b469e83a4256e84",
        "d7f8d05987e08723de008ba6dbbf66acb7db0f24"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 12 22:37:14 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 12 22:37:16 2015 +0000"
      },
      "message": "Merge \"ART: Save work-line for pending runtime failure\""
    },
    {
      "commit": "9ac0e4d4ed1b45cf8767ef1d339afcdd205bf55a",
      "tree": "f5a53e3e10a138b4b301d60f9abc1011e945bda5",
      "parents": [
        "4054413950cbee5d304a7c29f08c21fb33d33d08"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 12 18:33:05 2015 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 12 18:33:19 2015 +0000"
      },
      "message": "Force word alignment of Dex register maps.\n\nPlus some cosmetic changes.\n\nChange-Id: I45e805aa87c2ef8fe8907eaae726cd2188b54897\n"
    },
    {
      "commit": "4054413950cbee5d304a7c29f08c21fb33d33d08",
      "tree": "ac7ecd828461d4226e17ee45c8d967d63bfb5d50",
      "parents": [
        "399ccb140e060c42490cfb45b80467af90ac1c0e",
        "c6201fa2ec66a218c4d0320fbcddd2fbb65cfa4a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 12 18:09:49 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 12 18:09:49 2015 +0000"
      },
      "message": "Merge \"Add way to select arena type at runtime\""
    },
    {
      "commit": "d7f8d05987e08723de008ba6dbbf66acb7db0f24",
      "tree": "b7c7eba735371151df11ca6d428a66468d72b308",
      "parents": [
        "63a63fc38115c415863b8b2d56b012ae3d9e00c7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 12 11:05:47 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 12 11:08:21 2015 -0700"
      },
      "message": "ART: Save work-line for pending runtime failure\n\nWhen we detect a pending runtime failure, we\u0027ll handle it as a\ngeneric throw, no matter the instruction type. But we won\u0027t have\nsaved the work-line, which means we\u0027ll try to merge garbage into\nthe handler\u0027s line.\n\nCopy the work-line when we set the failure.\n\nBug: 19634276\nChange-Id: I54df9e9492cd48802f93e2f1938adaadc55c9bd5\n"
    },
    {
      "commit": "c6201fa2ec66a218c4d0320fbcddd2fbb65cfa4a",
      "tree": "d7e2742906c340d61a7bf24aab6e0b343e0580d2",
      "parents": [
        "4cfe74cb50b73f5f4b6dd32aabed55d044afe348"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 12 10:06:33 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 12 10:59:33 2015 -0700"
      },
      "message": "Add way to select arena type at runtime\n\nWe now use MemMap for JIT, and malloc for everything else. This\nshould help fix the allegedly regressed compile times.\n\nChange-Id: I6a6552738933f9d7ee3bd23f45e310818b19b70d\n"
    },
    {
      "commit": "915b9d0c13bb5091875d868fbfa551d7b65d7477",
      "tree": "63822d7081b0da33ccda2019dd52025f0ecedb35",
      "parents": [
        "bf5565a75876a84c8c2401df597d922a7870a8f2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 11 15:11:19 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 12 17:55:01 2015 +0000"
      },
      "message": "Tweak liveness when instructions are used in environments.\n\nInstructions remain live when debuggable, but only instructions\nwith object types remain live when non-debuggable.\n\nEnable StackVisitor::GetThisObject for optimizing.\n\nChange-Id: Id87b2cbf33a02450059acc9993995782e5f28987\n"
    },
    {
      "commit": "399ccb140e060c42490cfb45b80467af90ac1c0e",
      "tree": "74729f97e91bed42b2f47d3e7194bba871df475d",
      "parents": [
        "97d30aca68af2aa4f114a01d7a7d73e4bf009fe0",
        "60e27165e13a8401ded88c492ab804419537b2c7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 12 17:25:21 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 12 17:25:21 2015 +0000"
      },
      "message": "Merge \"ART: correct native bytes allocated in RegisterNativeAllocation\""
    },
    {
      "commit": "97d30aca68af2aa4f114a01d7a7d73e4bf009fe0",
      "tree": "e441187dfab14ffab41aff6576df6aaa14ce8b1c",
      "parents": [
        "3848c4fbc189287bca1298d45d07e21ec90c7c82",
        "b2fd7bca70b580921eebf7c45769c39d2dfd8a5a"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 12 17:00:14 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 12 17:00:15 2015 +0000"
      },
      "message": "Merge \"Opt compiler: Basic simplification for arithmetic operations.\""
    },
    {
      "commit": "3848c4fbc189287bca1298d45d07e21ec90c7c82",
      "tree": "489c7d240326f097a7ae8b1ee26fb919f2cae120",
      "parents": [
        "02ae5094ac778e2cd0040c16871672367fc2389c",
        "d04495edc261bf7fbdb7c6a1c31c6dda08e990ed"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Mar 12 16:56:20 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 12 16:56:20 2015 +0000"
      },
      "message": "Merge \"Fix CC collector boot.\""
    },
    {
      "commit": "3ccb90c0b3b6cefb7a53b2b19b30676bc8efe550",
      "tree": "f2c3aeb35e0b8725ec4094cf0fcd048d32cb0174",
      "parents": [
        "1f49bdc50b49520c8cf45bc395cb815d591f855b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 12 16:15:32 2015 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 12 16:15:32 2015 +0000"
      },
      "message": "Fix style error in runtime/memory_region_test.cc.\n\nChange-Id: I0a34675c71e3ecb65566aa425ac30f5a52837cbb\n"
    },
    {
      "commit": "1f49bdc50b49520c8cf45bc395cb815d591f855b",
      "tree": "b5b74c786a4bedcf5803b32d2910b84c99624748",
      "parents": [
        "63a63fc38115c415863b8b2d56b012ae3d9e00c7",
        "a2d8ec6876325e89e5d82f5dbeca59f96ced3ec1"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 12 15:44:09 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 12 15:44:10 2015 +0000"
      },
      "message": "Merge \"Compress the Dex register maps built by the optimizing compiler.\""
    },
    {
      "commit": "a2d8ec6876325e89e5d82f5dbeca59f96ced3ec1",
      "tree": "65bf174b669ff3cd9694dc5a1124fb9f2225ade1",
      "parents": [
        "39d9fe2eb3552a002c53ed41701c6faffe3cd75a"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 12 15:25:29 2015 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 12 15:25:29 2015 +0000"
      },
      "message": "Compress the Dex register maps built by the optimizing compiler.\n\n- Replace the current list-based (fixed-size) Dex register\n  encoding in stack maps emitted by the optimizing compiler\n  with another list-based variable-size Dex register\n  encoding compressing short locations on 1 byte (3 bits for\n  the location kind, 5 bits for the value); other (large)\n  values remain encoded on 5 bytes.\n- In addition, use slot offsets instead of byte offsets to\n  encode the location of Dex registers placed in stack\n  slots at small offsets, as it enables more values to use\n  the short (1-byte wide) encoding instead of the large\n  (5-byte wide) one.\n- Rename art::DexRegisterMap::LocationKind as\n  art::DexRegisterLocation::Kind, turn it into a\n  strongly-typed enum based on a uint8_t, and extend it to\n  support new kinds (kInStackLargeOffset and\n  kConstantLargeValue).\n- Move art::DexRegisterEntry from\n  compiler/optimizing/stack_map_stream.h to\n  runtime/stack_map.h and rename it as\n  art::DexRegisterLocation.\n- Adjust art::StackMapStream,\n  art::CodeGenerator::RecordPcInfo,\n  art::CheckReferenceMapVisitor::CheckOptimizedMethod,\n  art::StackVisitor::GetVRegFromOptimizedCode, and\n  art::StackVisitor::SetVRegFromOptimizedCode.\n- Implement unaligned memory accesses in art::MemoryRegion.\n- Use them to manipulate data in Dex register maps.\n- Adjust oatdump to support the new Dex register encoding.\n- Update compiler/optimizing/stack_map_test.cc.\n\nChange-Id: Icefaa2e2b36b3c80bb1b882fe7ea2f77ba85c505\n"
    },
    {
      "commit": "20e7d600cdcba4b1ab2f4e01e14903d641fbc073",
      "tree": "81f0b0eb348aced18fe43862c284912042d7bb66",
      "parents": [
        "bf5565a75876a84c8c2401df597d922a7870a8f2"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Mar 12 15:10:50 2015 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Mar 12 15:15:04 2015 +0100"
      },
      "message": "Fix art_quick_instrumentation_exit stub for x86_64\n\nRestores callee-saved registers.\n\nBug: 19708384\nChange-Id: I1cb47b1cc616af613816c4ee041bdfc975bf9f20\n"
    },
    {
      "commit": "60e27165e13a8401ded88c492ab804419537b2c7",
      "tree": "243543245f308de167245069e8f4f6e6b5749e56",
      "parents": [
        "d304629202eec2ab053a47fc7bcf10223b5ccea4"
      ],
      "author": {
        "name": "Lin Zang",
        "email": "lin.zang@intel.com",
        "time": "Tue Mar 10 18:53:21 2015 +0800"
      },
      "committer": {
        "name": "Lin Zang",
        "email": "lin.zang@intel.com",
        "time": "Thu Mar 12 18:34:04 2015 +0800"
      },
      "message": "ART: correct native bytes allocated in RegisterNativeAllocation\n\nFix the issue that in RegisterNativeAllocation the new_native_bytes_allocated\nwas not updated after Runfinalization, which may cause unnecessary GC.\n\nChange-Id: Icbbc0d1cbcd7b1b8e42576104de69c8ff3afa745\nSigned-off-by: Lin Zang \u003clin.zang@intel.com\u003e\n"
    },
    {
      "commit": "d04495edc261bf7fbdb7c6a1c31c6dda08e990ed",
      "tree": "9effa9e0704874a784a6d14bab957e141de1a169",
      "parents": [
        "6b743b7b3a5cfbacca44cc65e1a4c138588889da"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Mar 11 19:09:07 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Mar 11 19:11:08 2015 -0700"
      },
      "message": "Fix CC collector boot.\n\nAvoid a DCHECK failure that the semi space collector isn\u0027t initialized\nat the pre-zygote fork time when the CC collector is used.\n\nChange-Id: If35707b241be05a341abb11ba51fbd0bc222d219\n"
    },
    {
      "commit": "4460a84be92b5a94ecfb5c650aef4945ab849c93",
      "tree": "2167b79cf593d5ff686aaf0e3bca3b7c571c6d69",
      "parents": [
        "4cfe74cb50b73f5f4b6dd32aabed55d044afe348"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Mar 09 11:57:48 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Mar 11 15:32:59 2015 -0700"
      },
      "message": "Rosalloc thread local allocation path without a cas.\n\nSpeedup on N4:\nMemAllocTest 3044 -\u003e 2396 (~21% reduction)\nBinaryTrees  4101 -\u003e 2929 (~26% reduction)\n\nBug: 9986565\nChange-Id: Ia1d1a37b9e001f903c3c056e8ec68fc8c623a78b\n"
    },
    {
      "commit": "0f7e3d6a39a1ffb78a69ff5abaca24e32422a82c",
      "tree": "e6c96380fbdfeb8089f0257ad3923622a5657d4b",
      "parents": [
        "58e278861e2dd77f32a23e75c72028e3657c7066"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 11 13:24:35 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 11 13:24:35 2015 -0700"
      },
      "message": "ART: Fix finalizable class in Unstarted Runtime\n\nAdd a finalizable check for emulation of Class.newInstance, as this\nis not allowed in transactional mode.\n\nChange-Id: I9633929bf484ac8807b97209ab4b422c320b04da\n"
    },
    {
      "commit": "58e278861e2dd77f32a23e75c72028e3657c7066",
      "tree": "5dce6280d3d6b0d53e6fce9893a2f4ca01aa6d23",
      "parents": [
        "d159eef0a0273a57c1540cc3486c274212069b9f",
        "068b0c0fea0a5a6860a3b62853a9fd6b805e3671"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 11 20:07:37 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 11 20:07:37 2015 +0000"
      },
      "message": "Merge \"ART: Fix AbortTransaction in Unstarted Runtime\""
    },
    {
      "commit": "068b0c0fea0a5a6860a3b62853a9fd6b805e3671",
      "tree": "e16d61a376fa5bb38fa9d38e1d59fb6c5d437d88",
      "parents": [
        "637455782147a41fbde2e284c49ca5e02d3444c2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 11 12:44:47 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 11 12:59:10 2015 -0700"
      },
      "message": "ART: Fix AbortTransaction in Unstarted Runtime\n\nCan only call AbortTransaction if in a transaction. Should log\nsomething else otherwise and fail.\n\nChange-Id: I31ea3558c38fb6284ee6cacd1eafe01910e0965e\n"
    },
    {
      "commit": "091d238936809f6668ca6b7606c62bc224add430",
      "tree": "90feb09ea9d398f1f80ffa407747496e57e592fe",
      "parents": [
        "637455782147a41fbde2e284c49ca5e02d3444c2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 06 10:59:06 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 11 12:43:07 2015 -0700"
      },
      "message": "Fix incompatible class change error for JIT stress mode\n\nThere was a problem with miranda methods, when we would dequicken to\none of these, it wouldn\u0027t resolve as virtual during the method\nlowering resolve. The solution is to try resolving as interface if we\nfail to resolve as virtual.\n\nFixed a bug in dequickening where unreachable register lines with\nquick invokes would cause CHECK failuers. In this case we punt to the\ninterpreter (test 435-try-*).\n\nAdded test regression test. Example failure:\njava.lang.IncompatibleClassChangeError: The method\n\u0027void Main$TheInterface.m()\u0027 was expected to be of type virtual but\ninstead was found to be of type interface (declaration of\n\u0027java.lang.reflect.ArtMethod\u0027 appears in\nout/host/linux-x86/framework/core-libart-hostdex.jar)\n  at Main.DoStuff(Main.java:37)\n  at Main.main(Main.java:44)\n\nBug: 17950037\n\nChange-Id: I39c32cc8849bf02032a4f61a7ce57462b7fcac75\n"
    },
    {
      "commit": "637455782147a41fbde2e284c49ca5e02d3444c2",
      "tree": "4be0ac5a10e6fd0c1d9e52feb169e89b1f77206c",
      "parents": [
        "98124e364836fba677d7c6d726f5336ceb3bba04",
        "02e5f160d9cc02da20d9e47af30f948c462f7043"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 11 17:42:05 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 11 17:42:06 2015 +0000"
      },
      "message": "Merge \"Fix sampling profiler race condition\""
    },
    {
      "commit": "02e5f160d9cc02da20d9e47af30f948c462f7043",
      "tree": "3a9ab3cc6e1e9226ef1c5818f16db873e28c3ec6",
      "parents": [
        "4fe8c2a9110916386e5fe8428410cd5795f57036"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 11 09:54:22 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 11 10:38:26 2015 -0700"
      },
      "message": "Fix sampling profiler race condition\n\nThread 1 is running RunSamplingThread and has just read trace into\nthe_trace.\n\nThread 2 is calling Trace::Stop and has just suspended all the\nthreads. At this point thread 1 is blocked on the SuspendAll.\nThread 2 goes and deletes the trace which Thread 1 still has a\npointer to, calls ResumeAll(). At this point thread 1 suspends the\nthreads and adds samples to the just deleted trace.\n\nThe fix is to join the thread before we delete the trace.\n\nBug: 18950006\nChange-Id: I3090c4dac392a4e5d880c4dc8d9385aef53c7425\n"
    },
    {
      "commit": "9b5cba401aae6d34450112bdcf9bab5e19da90f2",
      "tree": "2e92174271b1a33cc7bd8822d7bdfa8e75cf3c73",
      "parents": [
        "1b4902086744563ba75b076b768b2609b59f9203"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 11 09:53:50 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 11 10:01:29 2015 -0700"
      },
      "message": "ART: Missing include\n\nFix missing include.\n\nChange-Id: I439bdf3a5c7dc2a710f3dfa0dca494ac3698de60\n"
    },
    {
      "commit": "b2fd7bca70b580921eebf7c45769c39d2dfd8a5a",
      "tree": "c5dae29519df73f889ba14495eb79d545cd7d6e5",
      "parents": [
        "356286f989941ac495417195e4129aaceaf36a83"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Wed Mar 11 16:48:16 2015 +0000"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Wed Mar 11 16:48:16 2015 +0000"
      },
      "message": "Opt compiler: Basic simplification for arithmetic operations.\n\nThe optimisations in this patch do not look further than the\ninputs of each operation.\n\nChange-Id: Iddd0ab6b360b9e7bb042db22086d51a31be85530\n"
    },
    {
      "commit": "1b4902086744563ba75b076b768b2609b59f9203",
      "tree": "901e2798789429f1bb9d266c26757802f3e6aa56",
      "parents": [
        "356286f989941ac495417195e4129aaceaf36a83",
        "2969bcdcd80624e4a4fef696b54c2c76b44b6853"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 11 16:27:43 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 11 16:27:44 2015 +0000"
      },
      "message": "Merge \"ART: Refactor unstarted runtime\""
    },
    {
      "commit": "2969bcdcd80624e4a4fef696b54c2c76b44b6853",
      "tree": "a097d139d5525ec2af6682f3e37bda94dead8cc9",
      "parents": [
        "f719fdd20e6282f3579cb99529bb65e852612647"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 09 12:57:41 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 11 09:27:03 2015 -0700"
      },
      "message": "ART: Refactor unstarted runtime\n\nRefactor and clean up unstarted runtime.\n\nBug: 19542228\nChange-Id: Ib3e4b3517e06e8242d4fed32ca59419fef553a47\n"
    },
    {
      "commit": "79bf9a9eece6b99ffef61670a8fa2a0a3dbfc6a8",
      "tree": "e367bd12e56ddc9d9eb6bbdae65e2d9a12450d47",
      "parents": [
        "d2bb32e3ba5f8101f0e9c42b363250b1aa186c08",
        "39d9fe2eb3552a002c53ed41701c6faffe3cd75a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Mar 10 17:44:45 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 10 17:44:45 2015 +0000"
      },
      "message": "am 39d9fe2e: Merge \"Add way to print JIT related info at shutdown\"\n\n* commit \u002739d9fe2eb3552a002c53ed41701c6faffe3cd75a\u0027:\n  Add way to print JIT related info at shutdown\n"
    },
    {
      "commit": "39d9fe2eb3552a002c53ed41701c6faffe3cd75a",
      "tree": "e21e955eac1fecd0e8f1f5fbe1ae5713e19f4c34",
      "parents": [
        "cb85ad6673a0b0815fe40100a14984fd187a5f89",
        "a4885cbaafd35fe9c60eb6cd95e41e2c86f54f66"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Mar 10 17:40:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 10 17:40:08 2015 +0000"
      },
      "message": "Merge \"Add way to print JIT related info at shutdown\""
    }
  ],
  "next": "d2bb32e3ba5f8101f0e9c42b363250b1aa186c08"
}
