)]}'
{
  "log": [
    {
      "commit": "cf4035a4c41ccfcc3e89a0cee25f5218a11b0705",
      "tree": "323d9e98e6129c67e464a3e6857ee02593a2f2c2",
      "parents": [
        "29b53d3d715b1ec19349e8cbf7c5e4ff529bd5fe"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 28 22:43:01 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 29 20:50:49 2014 -0700"
      },
      "message": "ART: Use StackReference in Quick Stack Frame\n\nThe method reference at the bottom of a quick frame is a stack\nreference and not a native pointer. This is important for 64b\narchitectures, where the notions do not coincide.\n\nChange key methods to have StackReference\u003cmirror::ArtMethod\u003e*\nparameter instead of mirror::ArtMethod**. Make changes to\ninvoke stubs for 64b archs, change the frame setup for JNI code\n(both generic JNI and compilers), tie up loose ends.\n\nTested on x86 and x86-64 with host tests. On x86-64, tests succeed\nwith jni compiler activated. x86-64 QCG was not tested.\n\nTested on ARM32 with device tests.\n\nFix ARM64 not saving x19 (used for wSUSPEND) on upcalls.\n\nTested on ARM64 in interpreter-only + generic-jni mode.\n\nFix ARM64 JNI Compiler to work with the CL.\n\nTested on ARM64 in interpreter-only + jni compiler.\n\nChange-Id: I77931a0cbadd04d163b3eb8d6f6a6f8740578f13\n"
    },
    {
      "commit": "822266b9dc7d8dc9e084192ae0f4bc95af4e8cf8",
      "tree": "6f9b2470d9f1bfa74bf53da3b3794ec8e6bf8d6f",
      "parents": [
        "31e7fcb904f03a504f082d25814ac4644b5073e4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 29 16:55:06 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 29 16:55:06 2014 -0700"
      },
      "message": "Ignore catch blocks whose type can\u0027t be resolved.\n\nReverts change 72b3e430d880ef57eaa6a34a0822165994052202 but keeps unit test and\nmissing delete that would fail assertions on long jump context recycling.\n\nChange-Id: I926755e8b831b208aa7e1ce46421bef3793a1441\n"
    },
    {
      "commit": "b478dab31955402e9f78665f45a3fb24f8f17b77",
      "tree": "144152ea2f26b8426f189bbbfd3f2a31d63efb1c",
      "parents": [
        "8adc1d9d1dd3fabdde6f1ec1b0c735ea8bcbf8e8",
        "196851b634a5bfdd8ab3fb59a320e550b21b0f4d"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu May 29 21:14:56 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 29 21:14:56 2014 +0000"
      },
      "message": "Merge \"Add read barriers for the weak roots in the JNI weak globals.\""
    },
    {
      "commit": "8adc1d9d1dd3fabdde6f1ec1b0c735ea8bcbf8e8",
      "tree": "d08590f81eb25a8a484687ae39fb1d8f86ea74ce",
      "parents": [
        "ea0b6e284cab12eed88eebf6aa19e6292af57389",
        "f4b80bcc7190fe75023b983d56a795b440a0c515"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu May 29 19:51:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 29 19:51:32 2014 +0000"
      },
      "message": "Merge \"Make use of sigchainlib for signal chaining for implicit checks\""
    },
    {
      "commit": "196851b634a5bfdd8ab3fb59a320e550b21b0f4d",
      "tree": "f9fca2858b6213163d358c2eb2b2f88aa88a027b",
      "parents": [
        "ea0b6e284cab12eed88eebf6aa19e6292af57389"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu May 29 12:16:04 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu May 29 12:37:49 2014 -0700"
      },
      "message": "Add read barriers for the weak roots in the JNI weak globals.\n\nBug: 12687968\nChange-Id: Ic265a0e162e8cc9edc4ab7fa34f8afd5ce968d08\n"
    },
    {
      "commit": "f4b80bcc7190fe75023b983d56a795b440a0c515",
      "tree": "f2858dab6a756444755b79e36467d6c9e15060f1",
      "parents": [
        "c774bd435e95e537ca578486f687651fabe97008"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed May 14 15:41:25 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu May 29 08:22:38 2014 -0700"
      },
      "message": "Make use of sigchainlib for signal chaining for implicit checks\n\nThis adds a preload library that overrides sigaction and sigprocmask\nto implement signal chaining.  Signal chaining allows us to chain\nany signal so that the ART runtime receives it before any signal\nhandler registered in native code by an application.  If the\nART signal handler doesn\u0027t want it, it will pass it on to the\nuser\u0027s handler.\n\nART uses signals for null pointer checks, stack overflow checks and\nsuspend points.\n\nAlso adds an OAT test to test this in isolation.\n\nChange-Id: I9545f9f7343774c091410eb810504d9855fd399f\n"
    },
    {
      "commit": "2ac01fc279e8397beacf90302b0f215040eb78fa",
      "tree": "7690ca4d38a6ea5f33d9bb501c0d1ecb7186b3c6",
      "parents": [
        "c774bd435e95e537ca578486f687651fabe97008"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 22 12:09:08 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 29 16:04:38 2014 +0100"
      },
      "message": "Improve tracking of memory locations in LVN.\n\nRewrite the tracking of values stored in memory to allow\nrecognizing the same value after storing it in memory and\nloading it back to vreg. Drop reliance on value name\nordering for memory versioning in preparation for GVN.\n\nAlso fix a few minor issues in LVN.\n\nChange-Id: Ifabe2d47d669d9ec43942cea6fd157e41af77ec8\n"
    },
    {
      "commit": "818cff4a2ba5ca3d9b5613956e56f12d0ff02d22",
      "tree": "6136cdbdf56b66d0c0d75cf1e5de575ee9d8dc57",
      "parents": [
        "e8aff40f8222ea75d2af89773156cb07fb8653c7",
        "cf790bb92d8e0dcc7b38da6873d982b9e9881682"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 28 21:52:50 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 28 21:52:51 2014 +0000"
      },
      "message": "Merge \"Fix DexFile.entries to return class names, not class descriptors\""
    },
    {
      "commit": "e8aff40f8222ea75d2af89773156cb07fb8653c7",
      "tree": "ec481d94d809374ee678f42864a07a6f74480c84",
      "parents": [
        "6d25996baef5037d0aa8beb2f517755f2fb7b91f",
        "bbdc5bc5fd5141711879a6c85d80ac45b7aad5d0"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed May 28 21:27:36 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 28 21:27:36 2014 +0000"
      },
      "message": "Merge \"Use a heap allocated free buffer in MarkSweep::SweepArray().\""
    },
    {
      "commit": "bbdc5bc5fd5141711879a6c85d80ac45b7aad5d0",
      "tree": "84c61c2029b9f4e7c4e3aabb880dd626f3f5dfaa",
      "parents": [
        "0130ba045e1397594f2c6a0dd48730349fe3cbed"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed May 28 14:04:59 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed May 28 14:06:10 2014 -0700"
      },
      "message": "Use a heap allocated free buffer in MarkSweep::SweepArray().\n\nThis is for avoiding a large stack frame size.\n\nBug: 15278350\nChange-Id: I63e92c2dd0ad7078fd74ee2392717dc44b431e9a\n"
    },
    {
      "commit": "cf790bb92d8e0dcc7b38da6873d982b9e9881682",
      "tree": "42192286d73aa4ae815279b97977ce63e0ad1485",
      "parents": [
        "6d25996baef5037d0aa8beb2f517755f2fb7b91f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 28 11:09:10 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 28 13:05:55 2014 -0700"
      },
      "message": "Fix DexFile.entries to return class names, not class descriptors\n\nBug: 15141726\n\n(cherry picked from commit f2f9daf9ba33b15abddfc8f8d03a708a7908b765)\n\nChange-Id: I28ce8aae1713a9826a3373e1eb60e0edf267f64c\n"
    },
    {
      "commit": "11138c73e0c5f8a90d1eeed3c48a2b63b310671c",
      "tree": "d5b59e83ccd0ef97b0109335eee52d0dae49f9a9",
      "parents": [
        "32f38c0775aba280fe02e8fafe0d35a5debc4eac",
        "4240c5112aedb174a3e1c1f071ea54e82168b130"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 28 19:38:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 28 19:38:53 2014 +0000"
      },
      "message": "Merge \"Don\u0027t create bump pointer spaces unless necessary.\""
    },
    {
      "commit": "4240c5112aedb174a3e1c1f071ea54e82168b130",
      "tree": "c858f3976cf0628e1cc3e0be1d0f4ad1aa578a2a",
      "parents": [
        "1b1aea22c0cc5567b5967590cb3f949cc45c3a9a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 27 10:10:11 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 28 12:22:23 2014 -0700"
      },
      "message": "Don\u0027t create bump pointer spaces unless necessary.\n\nWe now only create these spaces if the foreground or background\ncollector is a moving collector.\n\nBug: 13564922\nBug: 14059466\nChange-Id: I9f83c7881bc28423b78d5249c8e8854add91b60c\n"
    },
    {
      "commit": "1bd4872773184fb9f5f152c7bbf9856a8235d2af",
      "tree": "f00044ea6edf93e130dd89a30f88fb6c7c60b0ce",
      "parents": [
        "0130ba045e1397594f2c6a0dd48730349fe3cbed"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri May 23 19:58:15 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed May 28 11:46:57 2014 -0700"
      },
      "message": "Add read barriers to the weak roots in the intern table.\n\nBug: 12687968\nChange-Id: I424f1df76a7e3d7154fb9f3c951c973d19bd640f\n"
    },
    {
      "commit": "0130ba045e1397594f2c6a0dd48730349fe3cbed",
      "tree": "42f1369f92b0be167d61a4d88d71290838bfba81",
      "parents": [
        "c5f94db4fc4841364bef5727a790b16cd14e241d",
        "447a914ab28fe7b295403189d550c2759b2777e4"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed May 28 18:04:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 28 18:04:32 2014 +0000"
      },
      "message": "Merge \"Allocate large enough space bitmaps for malloc spaces.\""
    },
    {
      "commit": "c5f94db4fc4841364bef5727a790b16cd14e241d",
      "tree": "35a35ab072557c2d765ae72309e2cf455d006e04",
      "parents": [
        "32c02c15b879174bb8ae13b964ba1f49eb5c6e70",
        "12e6d7446384a7a5fbec25fe116bbb271c62842e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 28 17:34:38 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 28 17:34:38 2014 +0000"
      },
      "message": "Merge \"Add option to specify compiler executable.\""
    },
    {
      "commit": "0354e68a9b5214af0a633e05c48566ebaf5b6833",
      "tree": "bb7b860730ac9ab9d1caea6ebd945d9335bf8e93",
      "parents": [
        "9bec54430e8609765740fdc51d24ed3f3c907919",
        "a15a81b2bd6d08d131e0726ddb622d940ed3c6da"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed May 28 15:42:18 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 28 15:42:19 2014 +0000"
      },
      "message": "Merge \"Fix method tracing\u0027s handling of shadow frames on startup.\""
    },
    {
      "commit": "12e6d7446384a7a5fbec25fe116bbb271c62842e",
      "tree": "ced17862a2587c56cb53fe47b303841aac806dc6",
      "parents": [
        "9bec54430e8609765740fdc51d24ed3f3c907919"
      ],
      "author": {
        "name": "Tsu Chiang Chuang",
        "email": "tsu@google.com",
        "time": "Thu May 22 10:22:25 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 27 22:55:53 2014 -0700"
      },
      "message": "Add option to specify compiler executable.\n\nChange-Id: I973da5e74be5a62461caacbc708288fb95e1b99b\n"
    },
    {
      "commit": "a15a81b2bd6d08d131e0726ddb622d940ed3c6da",
      "tree": "5cff81681ceae0efa521582498af88bf4c0d74ee",
      "parents": [
        "33a60e47278d09acfa44d92ad85b1902b57a6b5b"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue May 27 18:25:47 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue May 27 18:25:47 2014 -0700"
      },
      "message": "Fix method tracing\u0027s handling of shadow frames on startup.\n\nBug: 15142926\nChange-Id: I7d7896ec3f62f46a43578f536292db6e219d83f0\n"
    },
    {
      "commit": "9bec54430e8609765740fdc51d24ed3f3c907919",
      "tree": "cce41675bc4c8f968a3970cbb0e7965649f2d382",
      "parents": [
        "33a60e47278d09acfa44d92ad85b1902b57a6b5b",
        "6a58691356979164249c63cb3f98f5dbd75cc4bb"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue May 27 23:00:36 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 27 23:00:37 2014 +0000"
      },
      "message": "Merge \"Fix the problem of not shutting down the profiler in ART properly\""
    },
    {
      "commit": "67c482f6737343f3afbf214995d67d98b0b36c91",
      "tree": "7eedaa1f56f023b3fdf7654f9b60470658d729ba",
      "parents": [
        "6c35a6ba61a190cfd3698bba0aa14038a0867cfe",
        "055c29fd0f752328981f1b7ccadb1862eecedd40"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue May 27 21:43:47 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 27 21:43:48 2014 +0000"
      },
      "message": "Merge \"Art compiler: remove unnecessary sqrt call\""
    },
    {
      "commit": "055c29fd0f752328981f1b7ccadb1862eecedd40",
      "tree": "4eda9505576549f94e5810a4a45d8356395cf400",
      "parents": [
        "ab5b370e44629332e73ffd66bfe8b8a924236c5c"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue May 27 13:59:04 2014 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue May 27 13:59:04 2014 -0700"
      },
      "message": "Art compiler: remove unnecessary sqrt call\n\nFor reasons lost in the mists of time, the Dalvik JIT tested\nthe results of an inlined sqrt for NaN on Arm targets, and then\ncalled an out-of-line routine to recompute if true.  The Quick\ncompiler inherited this behavior.  It is not necessary, and the CL\npurges it (along with the out-of-line sqrt entrypoint).\n\nChange-Id: I8c8fa6feacf9b7c3b9e190dfc6f728932fd948c6\n"
    },
    {
      "commit": "e3b5cb502371aff7e7b7291facfc27b092e7803e",
      "tree": "2ac9381a9bc03778efd9f7328477900125864aa8",
      "parents": [
        "ab5b370e44629332e73ffd66bfe8b8a924236c5c",
        "c647564845429bd709ed3338c13f15063c2f9fd9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 27 18:39:03 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 27 18:39:03 2014 +0000"
      },
      "message": "Merge \"Workaround apparent clang compilation issue\""
    },
    {
      "commit": "c647564845429bd709ed3338c13f15063c2f9fd9",
      "tree": "e6fdfb8d5d926240b96d7581e3ff2696b65167c8",
      "parents": [
        "1b1aea22c0cc5567b5967590cb3f949cc45c3a9a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 27 11:14:12 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 27 11:32:47 2014 -0700"
      },
      "message": "Workaround apparent clang compilation issue\n\nBug: 15014252\n\n(cherry picked from commit ec80e7e1506e7099210399626b46cb8183534e70)\n\nChange-Id: I159d66764749e41d2a97e0912f796085b4fdb6e1\n"
    },
    {
      "commit": "ab5b370e44629332e73ffd66bfe8b8a924236c5c",
      "tree": "18aa702dcb792498003399ecf2257853e42b43a4",
      "parents": [
        "bbc66c5855fa4f36b6f94311607f0119a93d809a",
        "48241e786121e1c4c050d9cfad3d22de270a3e75"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Tue May 27 18:08:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 27 18:08:40 2014 +0000"
      },
      "message": "Merge \"AArch64: Add suspend check in managed code.\""
    },
    {
      "commit": "6a58691356979164249c63cb3f98f5dbd75cc4bb",
      "tree": "259f792efd88017cf36f69df552ea002ec77a282",
      "parents": [
        "89bfb2be91b1b4db1ef62e82e9b9ae13dc975264"
      ],
      "author": {
        "name": "Wei Jin",
        "email": "wejin@google.com",
        "time": "Wed May 21 16:07:40 2014 -0700"
      },
      "committer": {
        "name": "Wei Jin",
        "email": "wejin@google.com",
        "time": "Tue May 27 09:13:52 2014 -0700"
      },
      "message": "Fix the problem of not shutting down the profiler in ART properly\n\nThis CL fixes the problem of not saving the last batch of profile data to the\nexternal file when the runtime exits before the end of the current iteration of\nprofile sampling. This problem was fixed by shutting down the ART profiler\nwhen the runtime exits and allowing the profiler to write the last batch of\ndata even it was signaled to shut down. This CL increases the precision of\nprofile data and fixes the bug that no data is saved if the duration of profile\nsampling specified by VM arguments (by default 20 seconds) is longer than the\nlength of a single execution because the profiler was never signaled when the\nruntime exits.\n\nChange-Id: I7cc4805b7e2a22a990d04a5b9724ad1d931d7152\nSigned-off-by: Wei Jin \u003cwejin@google.com\u003e\n"
    },
    {
      "commit": "7f0a6d6a699111e254a91c3980eb0522d4f8f0cd",
      "tree": "1cbd1b5c2f4d61b73eeb1a2e780235f6ca70fc68",
      "parents": [
        "ddb1a1604d5070828e857902c8596de27e2fe5f5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 26 14:01:46 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 26 14:01:46 2014 +0100"
      },
      "message": "Fix x86_64 test failures.\n\nChange-Id: I97b3d1755d2e205ca7423248a2af37f1875d5116\n"
    },
    {
      "commit": "d6cec905b62dff38285b350e67d5e223346e6d66",
      "tree": "96e32830904eae3e64e6ad2798732f7870653180",
      "parents": [
        "30395fc865599619f22df7c99d7553b18304622c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun May 25 16:08:51 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun May 25 22:25:22 2014 -0700"
      },
      "message": "Make DexFile content read only before running DexFileVerifier\n\n(cherry picked from commit 98725444129efe2b1b51c87740860caadaef2bf7)\n\nChange-Id: I18a932b2f19d44b820232f4d4e9c358df20ab364\n"
    },
    {
      "commit": "48241e786121e1c4c050d9cfad3d22de270a3e75",
      "tree": "593ab95d7c921a3e01222a41c751adf81464da29",
      "parents": [
        "cd9b4e287c20b14655d21e3f349733e80a5aaf23"
      ],
      "author": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Fri May 23 11:52:42 2014 +0800"
      },
      "committer": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Mon May 26 02:17:12 2014 +0000"
      },
      "message": "AArch64: Add suspend check in managed code.\n\nTODO: Remove x19 in the frame in runtime, generic jni, compiled jni.\n\nChange-Id: Ibdc292c9e7adb3a5d3eff353c22f60ffc101f549"
    },
    {
      "commit": "a79febb863a936810445df45e3e51d0eff4e39f8",
      "tree": "64c1e4f52e9ffc1a61dd9ed766387e872c1e851a",
      "parents": [
        "cd9b4e287c20b14655d21e3f349733e80a5aaf23",
        "0aa504b5bb19f0944d50941b20c8eeaca4165328"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun May 25 21:14:29 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun May 25 21:14:30 2014 +0000"
      },
      "message": "Merge \"Fix ExtractToMemMap to show original zip file name in ashmem\""
    },
    {
      "commit": "447a914ab28fe7b295403189d550c2759b2777e4",
      "tree": "66927bc9e25028ff1810a45b1e622ac16891cd7d",
      "parents": [
        "697726d42eaf804a1124c25dec58c2b0013a30e9"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri May 23 21:27:30 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri May 23 21:42:27 2014 -0700"
      },
      "message": "Allocate large enough space bitmaps for malloc spaces.\n\nFix a bug that we don\u0027t allocate space bitmaps for a malloc space that\nare large enough to cover the non-growth-limited capacity.\n\nChange-Id: I2e99a70eb8cddc284dffafa2d2afcc2f0c9074c7\n"
    },
    {
      "commit": "d07a913797531a5cf6b81e623daaea21e8e5bcc3",
      "tree": "ee42dc65d16bf438a21958438d5f8c8e9ec91956",
      "parents": [
        "a911a4d2cac3e885298ac38f8ae6a85c9e9bc9b5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 23 16:42:20 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 23 17:01:30 2014 -0700"
      },
      "message": "Improve invalid large object free dumping.\n\nBug: 14974497\nChange-Id: I30f99d693151ee5ae1f7b3d420519a0b1b21b2f4\n"
    },
    {
      "commit": "a911a4d2cac3e885298ac38f8ae6a85c9e9bc9b5",
      "tree": "e4225d66e818c06e84fea54ea86e71a54fc0532e",
      "parents": [
        "919ed6b2e2aa58a6153eb1d74edc29edc50d514a",
        "c179016fe188bef09487e777aa0fd861f5cdf067"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 23 23:30:35 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 23 23:30:35 2014 +0000"
      },
      "message": "Merge \"Add reserve area to allocation stacks.\""
    },
    {
      "commit": "a45714f2c55a3ed9b451c0d1e6ef887732899648",
      "tree": "58ebbcb45eca8c1eb6edb9e4dbf98e4d145b760f",
      "parents": [
        "66b68faa42cd36eb368f96c206b29c940ddda129",
        "748dd957eecbce2f379a3182ce95c19be308a54e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 23 21:47:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 23 21:47:48 2014 +0000"
      },
      "message": "Merge \"[MIPS] Remove warnings about use of at register\""
    },
    {
      "commit": "66b68faa42cd36eb368f96c206b29c940ddda129",
      "tree": "ec8d7be0ffd659c3369c3a4f45d319b8be3c4892",
      "parents": [
        "52925af1e3136bcf68bc5754fbfa407950235217",
        "0cd81352a7c06e381951cea1b104fd73516f4341"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 23 21:10:42 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 23 21:10:42 2014 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Fix an outstanding compaction bug in interpreter.\"\"\""
    },
    {
      "commit": "0aa504b5bb19f0944d50941b20c8eeaca4165328",
      "tree": "8ec437c95a023c649dc96d9e88e2403d93c77392",
      "parents": [
        "52925af1e3136bcf68bc5754fbfa407950235217"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri May 23 02:47:28 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri May 23 13:52:01 2014 -0700"
      },
      "message": "Fix ExtractToMemMap to show original zip file name in ashmem\n\n(cherry picked from commit 1fca8e91f32dc8b13d3129b7ef4a0194839736e6)\n\nChange-Id: Id7d22600496b090ac32150c8c6424da89964b6be\n"
    },
    {
      "commit": "0cd81352a7c06e381951cea1b104fd73516f4341",
      "tree": "fcc8ff9cdeb608d0913097aa1fb64d1879f11ffa",
      "parents": [
        "dfd301f19800a4f168283cf2d0b15b2c09071955"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 22 16:48:55 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 23 12:55:45 2014 -0700"
      },
      "message": "Revert \"Revert \"Fix an outstanding compaction bug in interpreter.\"\"\n\nFixed the generic trampoline to not use ToJObject when unnecessary.\n\nBug: 15167269\n\nThis reverts commit 3bdb873122964da7937eb070cbcf2ef638a8e459.\n\nChange-Id: I0525d0e0f3afb753c770e1572070a0fa22b02271\n"
    },
    {
      "commit": "748dd957eecbce2f379a3182ce95c19be308a54e",
      "tree": "eeecdd8b25913ccc8b11dac550a8b3c9e57e5dd7",
      "parents": [
        "52925af1e3136bcf68bc5754fbfa407950235217"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris.dearman@imgtec.com",
        "time": "Fri May 23 10:47:01 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 23 12:20:09 2014 -0700"
      },
      "message": "[MIPS] Remove warnings about use of at register\n\nAlso, don\u0027t restore k0 and k1 as part of long jump as they are reserved for\nkernel usage.\n\nChange-Id: I4eec9eb5d21de96ca79f2cef9407a0e19c9c2178\n"
    },
    {
      "commit": "52925af1e3136bcf68bc5754fbfa407950235217",
      "tree": "1c479949aee9e14cd0e11772ea4cda11defbb458",
      "parents": [
        "cda4e2e6f4645a499a6b391053fdf4c85a1d3a16",
        "1d4d7bdafd0c3d4df7bf8e907b08db9669db7023"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 23 19:06:24 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 23 19:06:24 2014 +0000"
      },
      "message": "Merge \"ART: refactor x86/x86-64 entrypoints\""
    },
    {
      "commit": "06abcdfa518d1fe3cf87416f5bca6af1d0e2d569",
      "tree": "522a967761a9c37cce23a6d0e53eef6f54283f9e",
      "parents": [
        "82f3c1b76a19f196a482cad9d5c1aac769d5a397"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 23 11:39:11 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 23 11:39:11 2014 -0700"
      },
      "message": "Extra debug output for a failing lock check.\n\nChange-Id: If4abae535a875a06f4fa4203e6aabc1169b1f38e\n"
    },
    {
      "commit": "82f3c1b76a19f196a482cad9d5c1aac769d5a397",
      "tree": "92274ad77abaa3a8e86d28e38a3e68a990c6d365",
      "parents": [
        "ae19a731ccd62117d8b14e478caee5ac1b6251d2",
        "c3db20b7e6f847339d6ecbd89846c173a7ccc967"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 23 18:18:07 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 23 18:18:07 2014 +0000"
      },
      "message": "Merge \"ART: API to dex instructions\""
    },
    {
      "commit": "c179016fe188bef09487e777aa0fd861f5cdf067",
      "tree": "f7ab8bae6c7d99738c2a79882c555c7b08320c61",
      "parents": [
        "dfd301f19800a4f168283cf2d0b15b2c09071955"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 23 10:54:50 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 23 11:15:20 2014 -0700"
      },
      "message": "Add reserve area to allocation stacks.\n\nThis fixes an issue with heap verification which was caused when\nthe allocation stack overflowed. This resulted in heap verification\nfailures since we were storing the newly allocated object in a\nhandle scope without having it be live either in the live bitmap\nor allocation stack. We now push the object in the reserve area\nbefore we do a GC due to allocation stack overflow.\n\nChange-Id: I83b42c4b3250d7eaab1b49e53066e21c8656a740\n"
    },
    {
      "commit": "ae19a731ccd62117d8b14e478caee5ac1b6251d2",
      "tree": "51fc2db34a7d834e505db07877ff36732b456e6f",
      "parents": [
        "ec23021ceb9f91a424c524fbfbcc9de6fb21f2b1",
        "46960fe5dcc1be07b39a55114338423a73554449"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 23 18:14:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 23 18:14:40 2014 +0000"
      },
      "message": "Merge \"Make the specification of when we need precise constants more precise.\""
    },
    {
      "commit": "ec23021ceb9f91a424c524fbfbcc9de6fb21f2b1",
      "tree": "f357f025008f6b3bac1c4881ee77ff4999bbd951",
      "parents": [
        "ccddc49852a69094aecf9eb7c7de67a9c2c5c31a",
        "520f37bb5c34c5d86ad0091cb84a84c163a2fa9c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 23 18:03:11 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 23 18:03:11 2014 +0000"
      },
      "message": "Merge \"ART: Added print indices back to BitVector Dumper\""
    },
    {
      "commit": "920be0b27c72ceb3d40b5f2775cd1950f7c65b5f",
      "tree": "e1ebbec3ec4b2a73d08f798a318ecde9be888ede",
      "parents": [
        "e24580a135aa6e85cdc49426ec74d2ae1e326243"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 23 18:43:51 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 23 18:43:51 2014 +0100"
      },
      "message": "Fix style issue.\n\nChange-Id: I2044e01c68265c33e7fa6057efa7b6c7ac41ada4\n"
    },
    {
      "commit": "46960fe5dcc1be07b39a55114338423a73554449",
      "tree": "fb31a1fc7dc07abe3d87a26f8fd394e9f7193304",
      "parents": [
        "567e9dbc65ee183cda2a052dbf224c8c4a8f9423"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 23 10:43:43 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 23 10:43:43 2014 -0700"
      },
      "message": "Make the specification of when we need precise constants more precise.\n\nMeans that oatdump output showing values for deoptimization actually reflects\nwhat we see at runtime.\nAlso, doesn\u0027t do precise in the case of determining methods and fields for the\nquickened case, which may be an occasional performance win.\n\nChange-Id: I62c7fb244f7996ba9d52e7a7ce75c046b663fa17\n"
    },
    {
      "commit": "520f37bb5c34c5d86ad0091cb84a84c163a2fa9c",
      "tree": "8c1ebd76a690dfa328821cd26b78d48531848cfa",
      "parents": [
        "b8033db2a8dc6f7c7e29b1552177542964f56e44"
      ],
      "author": {
        "name": "Jean Christophe Beyler",
        "email": "jean.christophe.beyler@intel.com",
        "time": "Thu May 22 15:43:50 2014 -0700"
      },
      "committer": {
        "name": "Jean Christophe Beyler",
        "email": "jean.christophe.beyler@intel.com",
        "time": "Fri May 23 09:31:27 2014 -0700"
      },
      "message": "ART: Added print indices back to BitVector Dumper\n\n- Added an API to get the indices set instead of 001...0 format\n\nChange-Id: I75841e41ca9b7ef77a0717715669dbe12506d6a1\nSigned-Off-By: Jean Christophe Beyler \u003cjean.christophe.beyler@intel.com\u003e\n"
    },
    {
      "commit": "a5b8fde2d2bc3167078694fad417fddfe442a6fd",
      "tree": "287942554467eb8566291f7d021549f65763f53e",
      "parents": [
        "567e9dbc65ee183cda2a052dbf224c8c4a8f9423"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 23 15:16:44 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 23 17:12:15 2014 +0100"
      },
      "message": "Rewrite BitVector index iterator.\n\nThe BitVector::Iterator was not iterating over the bits but\nrather over indexes of the set bits. Therefore, we rename it\nto IndexIterator and provide a BitVector::Indexes() to get\na container-style interface with begin() and end() for range\nbased for loops.\n\nAlso, simplify InsertPhiNodes where the tmp_blocks isn\u0027t\nneeded since the phi_nodes and input_blocks cannot lose any\nblocks in subsequent iterations, so we can do the Union()\ndirectly in those bit vectors and we need to repeat the loop\nonly if we have new input_blocks, rather than on phi_nodes\nchange. And move the temporary bit vectors to scoped arena.\n\nChange-Id: I6cb87a2f60724eeef67c6aaa34b36ed5acde6d43\n"
    },
    {
      "commit": "1d4d7bdafd0c3d4df7bf8e907b08db9669db7023",
      "tree": "195f6b28f6e04ab4509e91a87afc2e85772d8560",
      "parents": [
        "b4b38124c06cd723cf4faa46e6670ca0b2b9d107"
      ],
      "author": {
        "name": "Alexei Zavjalov",
        "email": "alexei.zavjalov@intel.com",
        "time": "Fri May 23 17:51:59 2014 +0700"
      },
      "committer": {
        "name": "Alexei Zavjalov",
        "email": "alexei.zavjalov@intel.com",
        "time": "Fri May 23 17:51:59 2014 +0700"
      },
      "message": "ART: refactor x86/x86-64 entrypoints\n\nThis patch:\n\n- removes unused stubs in x86/64 runtimes (art_quick_l2d, art_quick_l2f\n  and art_quick_idivmod)\n- replaces art_quick_fmod, art_quick_fmodf and art_quick_is_assignable\n  entrypoints in x86-64 to the direct calls\n- removes art_quick_indexof stub in x86-64\n\nChange-Id: I6141c5c73b0b449fa3b866068b101e0be211b93e\nSigned-off-by: Alexei Zavjalov \u003calexei.zavjalov@intel.com\u003e\n"
    },
    {
      "commit": "831593646f07a960010c80df98b7afa59b57dfb5",
      "tree": "ccad69e010e8af0b179bb91581fdd7eae703b0e2",
      "parents": [
        "19cdfa15be3c7ddf9c14ae3d0b7d94f9f37ea503",
        "53dc70cc824fa71c237015de2bebb2da6b462b5d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 23 10:50:39 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 23 10:50:39 2014 +0000"
      },
      "message": "Merge \"Fix InternTable::Lookup()/Remove() for hash code collisions.\""
    },
    {
      "commit": "b4b38124c06cd723cf4faa46e6670ca0b2b9d107",
      "tree": "2d5e5e4192e5ce0a379b5a8c6c095ad14a3a4c62",
      "parents": [
        "74d055cc4337ed69d6b57179a449701207097ec4",
        "54c73caf1233e85bd924be5fdcd8ed960628413d"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri May 23 09:38:09 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 23 09:38:09 2014 +0000"
      },
      "message": "Merge \"Fix profile-backoff usage message\""
    },
    {
      "commit": "48e50e8876379d38a561096415ac43ed765f65fc",
      "tree": "c5fb88b50393e3b035cef8f90856ef5ad838a4f4",
      "parents": [
        "2054b925a635642bedd912c6da37ffa9f1d21c6d",
        "14e81447ebaa1d80aae0c53312d4ff238d3fd98a"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri May 23 08:36:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 23 08:36:20 2014 +0000"
      },
      "message": "Merge \"Add a check for null thread before trying to suspend\""
    },
    {
      "commit": "5ef3d95466ffdea0f4348a64218d08b1b5a29aa7",
      "tree": "ae529ebf5daf241137197a107ff7f2cc8a0947df",
      "parents": [
        "7d5cf703f3c03769e5b2f7ebc9d216c52ee5c70d",
        "ed65c5e982705defdb597d94d1aa3f2997239c9b"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Thu May 22 22:37:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 22 22:37:49 2014 +0000"
      },
      "message": "Merge \"AArch64: Enable LONG_* and INT_* opcodes.\""
    },
    {
      "commit": "7d5cf703f3c03769e5b2f7ebc9d216c52ee5c70d",
      "tree": "6d6f6aff838a440f418fe4a4e1451d9db8c8d5dc",
      "parents": [
        "be2cb9b284f3eca3b99571e83b7e0e3109f1ef06",
        "3bdb873122964da7937eb070cbcf2ef638a8e459"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 22 22:07:37 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 22 22:07:38 2014 +0000"
      },
      "message": "Merge \"Revert \"Fix an outstanding compaction bug in interpreter.\"\""
    },
    {
      "commit": "3bdb873122964da7937eb070cbcf2ef638a8e459",
      "tree": "3d29123f33853e11adb67bdd6ac56f19ee798a1f",
      "parents": [
        "e09ae0920be57760fb390b6944bce420fa0b5582"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 22 22:06:51 2014 +0000"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 22 22:06:51 2014 +0000"
      },
      "message": "Revert \"Fix an outstanding compaction bug in interpreter.\"\n\nThis reverts commit e09ae0920be57760fb390b6944bce420fa0b5582.\n\nChange-Id: I48036306130d5ccfec683d0dc3e9a642a02ee9c1\n"
    },
    {
      "commit": "be2cb9b284f3eca3b99571e83b7e0e3109f1ef06",
      "tree": "55a4a4c8260bb2fa8ab097dd100e62e0d263643c",
      "parents": [
        "6c8056690a77c5299d9f0bab67210a469d289c34",
        "a6e7f0872c42009ecbee82d7fbe452deef9ae65b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 22 21:57:59 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 22 21:57:59 2014 +0000"
      },
      "message": "Merge \"Move SetMonitorEnterObject outside of blocked thread state change.\""
    },
    {
      "commit": "a6e7f0872c42009ecbee82d7fbe452deef9ae65b",
      "tree": "1ba6d026f6c9a47b9961c62511ab47c6d69314dd",
      "parents": [
        "697726d42eaf804a1124c25dec58c2b0013a30e9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 22 14:43:37 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 22 14:43:37 2014 -0700"
      },
      "message": "Move SetMonitorEnterObject outside of blocked thread state change.\n\nRace condition:\nThread is suspended in monitor kBlocked, GC decides to run the\ncheckpoint on it. The GC sees that the object is non null, and goes\nto mark it, but then the thread does SetMonitorObject(nullptr).\nWhich causes a null object to be marked.\n\nChange-Id: Ie8a5074112947ec07d01ccb813ca2c1bb9ac7066\n"
    },
    {
      "commit": "c4ddc042eaf5232a3f9b111f42af39eeab6e0294",
      "tree": "99d5e9525a23d8004b847e6a11de43238a2c1729",
      "parents": [
        "88ce52a525cc4e163c7005821c36308d9a097926"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue May 13 14:47:50 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu May 22 14:38:28 2014 -0700"
      },
      "message": "Add support for jemalloc instead of dlmalloc.\n\nBug: 981363\nChange-Id: I226ce3249c0d982eb1a9fdb9d04b25737f77345d\n"
    },
    {
      "commit": "14e81447ebaa1d80aae0c53312d4ff238d3fd98a",
      "tree": "9b3651a64e67f64055d351579e83a1a2794978ff",
      "parents": [
        "3ba5511665ffd31cc766fe7774a94eb18696a845"
      ],
      "author": {
        "name": "Johnnie Birch",
        "email": "johnnie.l.birch.jr@intel.com",
        "time": "Thu May 15 11:31:14 2014 -0700"
      },
      "committer": {
        "name": "Johnnie Birch",
        "email": "johnnie.l.birch.jr@intel.com",
        "time": "Thu May 22 11:33:21 2014 -0700"
      },
      "message": "Add a check for null thread before trying to suspend\n\nThe patch fixes a jpda test failure due to a failed\nassertion in SuspendThreadByThreadId. There should be\na check for a null thread before the assertion check.\nThis was the behavior of previous code (4.4.2) where\nthis test passes, but this check was removed during\nsome refactoring of the code.\n\nChange-Id: Ia63de5f159ce1e51110bf9dc604011d07b2f048e\nSigned-off-by: Johnnie Birch \u003cjohnnie.l.birch.jr@intel.com\u003e\n"
    },
    {
      "commit": "c3db20b7e6f847339d6ecbd89846c173a7ccc967",
      "tree": "eb65dfbcbf6d06018d7f0f9bc0c14f782497d5d3",
      "parents": [
        "b8033db2a8dc6f7c7e29b1552177542964f56e44"
      ],
      "author": {
        "name": "Jean Christophe Beyler",
        "email": "jean.christophe.beyler@intel.com",
        "time": "Mon May 05 21:09:40 2014 -0700"
      },
      "committer": {
        "name": "Jean Christophe Beyler",
        "email": "jean.christophe.beyler@intel.com",
        "time": "Thu May 22 11:32:37 2014 -0700"
      },
      "message": "ART: API to dex instructions\n\n- Added the GetConstant function call in DecodedInstruction.\n- Added a few rewriter helper functions for later higher level rewriting.\n- Added Setter/Getter data and query functions.\n- Added Clobber memory/Const/Call/Cast data and query functions.\n- Added expression information (add, multiply, ...).\n- Added a IsLinear function for additions and subtractions.\n\n- Added an empty constructor for the DecodedInstruction:\n  - Useful for the creation of a MIR constructor too.\n  - Added the IsConditionalBranch utility function.\n\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\nChange-Id: Ie21f2a7779b38c1b383334f04126c2d792cae462\n"
    },
    {
      "commit": "697726d42eaf804a1124c25dec58c2b0013a30e9",
      "tree": "28b1dbbfe0bd2110e32c54293f0ea655e1a2de02",
      "parents": [
        "65e3b69b366c6b7e06b87e7a1f76d30a51b1f777",
        "e09ae0920be57760fb390b6944bce420fa0b5582"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 22 17:57:52 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 22 17:57:52 2014 +0000"
      },
      "message": "Merge \"Fix an outstanding compaction bug in interpreter.\""
    },
    {
      "commit": "65e3b69b366c6b7e06b87e7a1f76d30a51b1f777",
      "tree": "642150480ee1d4312bfc045384fcd2131972fa55",
      "parents": [
        "570370da5de2d9db8f5a48b5feb718b1a14b2727",
        "9e36931cc79ca665908db9575126881d1cfdea5a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 22 17:50:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 22 17:50:20 2014 +0000"
      },
      "message": "Merge \"Move modify_ldt_lock into global lock order.\""
    },
    {
      "commit": "e09ae0920be57760fb390b6944bce420fa0b5582",
      "tree": "acc40266093df4289ffb6728c979cafd6b5114d2",
      "parents": [
        "b8033db2a8dc6f7c7e29b1552177542964f56e44"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 15 12:39:19 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 22 10:47:44 2014 -0700"
      },
      "message": "Fix an outstanding compaction bug in interpreter.\n\nFixed a bug in DoFieldPut where the FieldHelper GetType could cause\nthread suspension which would result in a stale obj.\n\nAdded more handles in the class linker to facilitate moving fiels\nand methods in the future.\n\nRemoved un-necessarly passing handle references since these are value\ntypes and don\u0027t need to be passed by reference.\n\nAdded a special NullHandle type which allows null handles without a\nhandle scope.\n\nChange-Id: I1b51723920a2e4f4f8b2907066f578a3e879fd5b\n"
    },
    {
      "commit": "225353e2ff7072d4e4aa9d2cd9cdbfa83670e323",
      "tree": "41b4ab344e0d5eef729be167d97857112e48670e",
      "parents": [
        "5da6e2b88258733dd3856543af27ca73b395ef60",
        "4cba0d979a11f955e6ec3c0f1bf61478af7aa810"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu May 22 17:34:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 22 17:34:45 2014 +0000"
      },
      "message": "Merge \"Add a read barrier for weak roots in monitors.\""
    },
    {
      "commit": "9e36931cc79ca665908db9575126881d1cfdea5a",
      "tree": "69099016576581e3e4d6c44ee01a7a6cc7db4b2c",
      "parents": [
        "5da6e2b88258733dd3856543af27ca73b395ef60"
      ],
      "author": {
        "name": "Chao-ying Fu",
        "email": "chao-ying.fu@intel.com",
        "time": "Wed May 21 11:20:52 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 22 10:25:57 2014 -0700"
      },
      "message": "Move modify_ldt_lock into global lock order.\n\nMutex modify_ldt_lock was being removed during runtime shutdown while\ndaemons thread may still detach. Avoid this by placing in global lock\norder.\nThis fixes cts dalvik vm-tests-tf that hang on some x86 devices.\n\nBy irogers: also, tidy global locks to agree with enum constants and\nadd extra verification that the global annotalysis order agrees with\nthe LockLevel order. Bumped the oat version and moved the locks as\nLockLevel additions previously caused entrypoints to be moved. Make\nunattached lock not handle the default mutex level case by moving the\nallocated thread ids lock into the global order.\n\nChange-Id: I9d03f19d44ea254accf0ceae8022563c77f7a02f\nSigned-off-by: Chao-ying Fu \u003cchao-ying.fu@intel.com\u003e\n"
    },
    {
      "commit": "5da6e2b88258733dd3856543af27ca73b395ef60",
      "tree": "06869d3bbbee80a641e808bb95dfde63fd1abb77",
      "parents": [
        "b8033db2a8dc6f7c7e29b1552177542964f56e44",
        "2a0e954ecf7c60e6ec62d64b9382cc4ee447e224"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu May 22 17:22:00 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 22 17:22:00 2014 +0000"
      },
      "message": "Merge \"Move art host to libc++\""
    },
    {
      "commit": "ed65c5e982705defdb597d94d1aa3f2997239c9b",
      "tree": "e03618f9ddfdf42459ec17df8caf52a2fb5e2137",
      "parents": [
        "8b4b4f0ffa161ec06a2d947b832cab4b0f82ad84"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Thu May 22 15:10:18 2014 +0100"
      },
      "committer": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Thu May 22 18:02:27 2014 +0100"
      },
      "message": "AArch64: Enable LONG_* and INT_* opcodes.\n\nThis patch fixes some of the issues with LONG and INT opcodes. The patch\nhas been tested and passes all the dalvik tests except for 018 and 107.\n\nChange-Id: Idd1923ed935ee8236ab0c7e5fa969eaefeea8708\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\n"
    },
    {
      "commit": "b8033db2a8dc6f7c7e29b1552177542964f56e44",
      "tree": "3d29123f33853e11adb67bdd6ac56f19ee798a1f",
      "parents": [
        "8b4b4f0ffa161ec06a2d947b832cab4b0f82ad84",
        "a705376e3355fd307bfbf7bf72d6944c63a9f2f7"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu May 22 14:47:06 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 22 14:47:07 2014 +0000"
      },
      "message": "Merge \"Support new VMRuntime native methods\""
    },
    {
      "commit": "53dc70cc824fa71c237015de2bebb2da6b462b5d",
      "tree": "f277f20f69c25c65085af7ad2bf28268466ce6df",
      "parents": [
        "7bf9c46e93c6f7551f2645cf9bbd1ec9f797c86c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 22 12:16:44 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 22 12:45:58 2014 +0100"
      },
      "message": "Fix InternTable::Lookup()/Remove() for hash code collisions.\n\nWhen we have a hash code collision but the string is not yet\nin the intern table, the old Lookup() would iterate until\nthe end of the table, i.e. it was up to linear in the size\nof the table rather than linear in the number of colliding\nhash codes.\n\nAnd though the multimap::find() is implemented in terms of\nlower_bound() in the standard library we\u0027re using, this\nrequirement doesn\u0027t seem to be in the C++ standard. It was\ntherefore wrong to assume that we will iterate across all\nhits when starting from the iterator returned by find().\n\nChange-Id: Ie24aaea6e55750a7aafbed24b136878c5dba66eb\n"
    },
    {
      "commit": "54c73caf1233e85bd924be5fdcd8ed960628413d",
      "tree": "34fb6c896b96bda62a1dc5919ae231611ee25f68",
      "parents": [
        "79705f9bbb9e4788bc6d59889d9e6c3b7f102c18"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu May 22 12:13:54 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu May 22 12:13:54 2014 +0100"
      },
      "message": "Fix profile-backoff usage message\n\nChange-Id: Icccd7bbc0c7b6a088a00dfc7f8c52991ec87f544\n"
    },
    {
      "commit": "a705376e3355fd307bfbf7bf72d6944c63a9f2f7",
      "tree": "9973ff31bd7d51ea1922a874725e62f4b15f739d",
      "parents": [
        "bf17a08fb48fa296acb09904d4c10ba42f63f55d"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri May 16 16:56:45 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu May 22 10:29:16 2014 +0200"
      },
      "message": "Support new VMRuntime native methods\n\nImplements vmInstructionSet, is64Bit and isCheckJniEnabled methods.\n\nBug: 14888999\nBug: 14888124\nChange-Id: I8a2d3f22f84a093be2fbc74464af6aa7b2a2bebb\n"
    },
    {
      "commit": "1526c30fff72b6c600b63aebe05d5c4f65c8a29b",
      "tree": "51768c2694d1153593721907304f51b6a6c0a434",
      "parents": [
        "4996f1191cd3d5edf85981d6412aa129da2dcd06",
        "5c0049067a953d7a2383d3064a84a32d1efa3a24"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu May 22 06:52:00 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 22 06:52:01 2014 +0000"
      },
      "message": "Merge \"Secure move-exception in intepreter\""
    },
    {
      "commit": "4cba0d979a11f955e6ec3c0f1bf61478af7aa810",
      "tree": "b3e3b61af6bd079989a1bf5259daaa8006af32d4",
      "parents": [
        "388c6e273018c753d7822d09d7cda0826f0c32ed"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed May 21 21:10:23 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed May 21 21:19:17 2014 -0700"
      },
      "message": "Add a read barrier for weak roots in monitors.\n\nA weak root requires a read barrier for the to-space invariant to hold\nbecause the object pointed to by a weak root can\u0027t be marked/forwarded\nlike the one pointed to by a strong root (GC does not know if it\u0027s\nalive or not at that point) and because, without a read barrier, a\nmutator could access it and obtain a from-space reference, which would\nviolate the to-space invariant.\n\nTODO: do similar for the other types of weak roots.\n\nBug: 12687968\nChange-Id: I563a0fa4f875e0c21ac96f57696959454e13b15a\n"
    },
    {
      "commit": "4996f1191cd3d5edf85981d6412aa129da2dcd06",
      "tree": "eac9ee01c79388275c17ae53e0ddebaa1d4b618b",
      "parents": [
        "aca0ca9d949dee1bb4fe741b03a0514b324cc035",
        "57f80fa56effba065a3a71847e9a0d07164aca14"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu May 22 03:50:35 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 22 03:50:35 2014 +0000"
      },
      "message": "Merge \"Use decltype() instead of typeof()\""
    },
    {
      "commit": "aca0ca9d949dee1bb4fe741b03a0514b324cc035",
      "tree": "a388b878992cd42ea4a401659609471ceb9be2b6",
      "parents": [
        "5d8b7b22a53aecb01e4140216e2d949859c9991e",
        "2221e3bbde1bf81099eb299efe8f61ec71879086"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu May 22 03:49:21 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 22 03:49:21 2014 +0000"
      },
      "message": "Merge \"Change profiler file name parsing option\""
    },
    {
      "commit": "57f80fa56effba065a3a71847e9a0d07164aca14",
      "tree": "92edf48567d2bd9f07bf731d845f1af3fc884a76",
      "parents": [
        "9c47134233b3f191690eb142141de95aeeb62d2a"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed May 21 20:31:55 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed May 21 20:31:55 2014 -0700"
      },
      "message": "Use decltype() instead of typeof()\n\nThis fixes a build failure on Mac.\n\nChange-Id: Iee73ba990d2494fd925fd237da68cf753709a248\n"
    },
    {
      "commit": "2a0e954ecf7c60e6ec62d64b9382cc4ee447e224",
      "tree": "37d22f5d9e221ecd8a68c41d430e7b21fa3f54d1",
      "parents": [
        "299d2a2b200a94daa49c4727fd679f4461c083c7"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed May 21 14:55:02 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed May 21 19:47:17 2014 -0700"
      },
      "message": "Move art host to libc++\n\nChange-Id: Ia51a4fdfdbae7377130a43c401c2d8d241671d1e\n"
    },
    {
      "commit": "2221e3bbde1bf81099eb299efe8f61ec71879086",
      "tree": "3f475e1ed0a818a308f2b00a0f5a5c4879608798",
      "parents": [
        "89bfb2be91b1b4db1ef62e82e9b9ae13dc975264"
      ],
      "author": {
        "name": "Wei Jin",
        "email": "wejin@google.com",
        "time": "Wed May 21 18:35:19 2014 -0700"
      },
      "committer": {
        "name": "Wei Jin",
        "email": "wejin@google.com",
        "time": "Wed May 21 18:35:19 2014 -0700"
      },
      "message": "Change profiler file name parsing option\n\nThis patch renames the option for profile output file name to -Xprofile-filename: to avoid conflicts.\n\nChange-Id: I5ba1cf10a7763f083028b8262f9ce2421400c4f3\nSigned-off-by: Wei Jin \u003cwejin@google.com\u003e\n"
    },
    {
      "commit": "e9e55ac9f68b74a0fcd208685082fd6a1e89a51e",
      "tree": "9395663273bfe921a001c0657d03ce7378025fe7",
      "parents": [
        "061ece161d51bf81b8dea9e49b5f6dbb74a2936d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 21 17:48:25 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 21 17:49:27 2014 -0700"
      },
      "message": "Fix build.\n\nOld Atomic things were rebased over.\n\nChange-Id: I437041af3247c316f2a75f5ef4bd35286fc8e2b1\n"
    },
    {
      "commit": "061ece161d51bf81b8dea9e49b5f6dbb74a2936d",
      "tree": "225383cd4fd51f89bed2989a348eff7a69260f1d",
      "parents": [
        "388c6e273018c753d7822d09d7cda0826f0c32ed",
        "3e5cf305db800b2989ad57b7cde8fb3cc9fa1b9e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed May 21 23:19:19 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 21 23:19:19 2014 +0000"
      },
      "message": "Merge \"Begin migration of art::Atomic to std::atomic.\""
    },
    {
      "commit": "3ecbbfcae28a5798a86b85e42b0bb0636eb6e060",
      "tree": "b59e71e35c6ca359da7e98f9d36afc87a2eb74a1",
      "parents": [
        "9c47134233b3f191690eb142141de95aeeb62d2a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 21 14:39:45 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 21 14:39:45 2014 -0700"
      },
      "message": "ART: Fix stub test inline assembly for x86\n\nClang can handle the register pressure, but GCC can\u0027t. Make one\na memory constraint.\n\nChange-Id: I49f048b29f5677449bf6ee6282516462332ee645\n"
    },
    {
      "commit": "9c47134233b3f191690eb142141de95aeeb62d2a",
      "tree": "0e63a22c1e192b5282e3d4533b02f9ef1397c9ad",
      "parents": [
        "512d5393ff0c5a4d6037cd1b9381c50ab6884eda",
        "0ea3794c02afd7b3bbe730acc2e57edffac34f2a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 21 21:20:18 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 21 21:20:19 2014 +0000"
      },
      "message": "Merge \"ART: Make StubTest IMT sanity check a warning\""
    },
    {
      "commit": "512d5393ff0c5a4d6037cd1b9381c50ab6884eda",
      "tree": "314d113b03663e8bc10f01e586ed8a889df2af43",
      "parents": [
        "fd06f3928a3c3697fbe9f365897d2f84d7ce2e04",
        "9f21e419bea6be16c42363f09d6b1295eb74a030"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed May 21 21:18:13 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 21 21:18:13 2014 +0000"
      },
      "message": "Merge \"Work around Mac assembler differences.\""
    },
    {
      "commit": "0ea3794c02afd7b3bbe730acc2e57edffac34f2a",
      "tree": "b4d4d116b4f3c65e260310107d91b15df652ea7b",
      "parents": [
        "9488238e6afb4e327f8ab9c861df8a06cf53a5f5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 21 14:12:18 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 21 14:12:18 2014 -0700"
      },
      "message": "ART: Make StubTest IMT sanity check a warning\n\nIt seems we can\u0027t rely on the specific test against a framework\nclass. Make the sanity check a warning right now, and fix this up\nlater.\n\nChange-Id: I673edf33cb4a61e20a4ec806b311deebce86e4de\n"
    },
    {
      "commit": "9488238e6afb4e327f8ab9c861df8a06cf53a5f5",
      "tree": "65e4d697756c1a1578f03e63c622266635b19545",
      "parents": [
        "603fce9abb00f8c641bbd7f224ced0caa2e1cbd8",
        "51f763506c7bb34420242e88e1631550f94d6417"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 21 18:14:35 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 21 18:14:36 2014 +0000"
      },
      "message": "Merge \"ART: Add INVOKE_TRAMPOLINE and imt_conflict stub to 64b architectures\""
    },
    {
      "commit": "51f763506c7bb34420242e88e1631550f94d6417",
      "tree": "303449238c72ec7e4e5b24053903c430401f2282",
      "parents": [
        "299d2a2b200a94daa49c4727fd679f4461c083c7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 21 08:28:48 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 21 11:12:07 2014 -0700"
      },
      "message": "ART: Add INVOKE_TRAMPOLINE and imt_conflict stub to 64b architectures\n\n\"Generalize\" the return type notion of the interface helpers.\n\nIncludes a simple test for imt_conflict. The other interface\ntrampolines are as of yet untested.\n\nChange-Id: I30fc75f5103766d57628ff22bcbac7c7f81037e3\n"
    },
    {
      "commit": "8e4a96d9a7ba7c555032ef583a089ebd2c53f5f7",
      "tree": "6d3c4caf7bce0bd0edd2db1e131e5bf5533ebe3c",
      "parents": [
        "299d2a2b200a94daa49c4727fd679f4461c083c7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 21 10:44:32 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 21 10:55:03 2014 -0700"
      },
      "message": "Change zygote_creation_lock_ to be member instead of static.\n\nStatic variables aren\u0027t thread safe and could cause the zygote to be\ncreated twice.\n\nBug: 15133494\nChange-Id: I65c8f089bed8de93f895b62b3dcff4c936931860\n"
    },
    {
      "commit": "5c0049067a953d7a2383d3064a84a32d1efa3a24",
      "tree": "be0377c1348c8aea84a7308fd5977657b8f3622d",
      "parents": [
        "bf17a08fb48fa296acb09904d4c10ba42f63f55d"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed May 21 10:07:42 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed May 21 10:08:31 2014 +0200"
      },
      "message": "Secure move-exception in intepreter\n\nCopies exception into the shadow frame before clearing it from its thread so\nit\u0027s always reachable.\n\nChange-Id: Ifdc68280424f5099aacf0724da94889881a99551\n"
    },
    {
      "commit": "9f21e419bea6be16c42363f09d6b1295eb74a030",
      "tree": "43538d42a168373ad537a41828356aaa83daaee4",
      "parents": [
        "d3236731ca6145e0723ce8aab8c6ff634ab021c2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue May 20 23:52:19 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue May 20 23:52:19 2014 -0700"
      },
      "message": "Work around Mac assembler differences.\n\nChange-Id: Iba46c1794044e92f5a25bf7f836e0d919ed1f38c\n"
    },
    {
      "commit": "3e5cf305db800b2989ad57b7cde8fb3cc9fa1b9e",
      "tree": "52a737323ebd505cf37ca0e4b2dcee6524fba07f",
      "parents": [
        "27a2b70f612af9afc0fb5392fb10059f6a0a3569"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue May 20 16:40:37 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue May 20 21:17:03 2014 -0700"
      },
      "message": "Begin migration of art::Atomic to std::atomic.\n\nChange-Id: I4858d9cbed95e5ca560956b9dabd976cebe68333\n"
    },
    {
      "commit": "d3236731ca6145e0723ce8aab8c6ff634ab021c2",
      "tree": "66a57b3b1ad1d892cde371f6fef8d74c6fce3723",
      "parents": [
        "834cf6128cfb9b3d280c840db5bdc1d999b9d1be",
        "bd0fb61e24270b1f382ecbef4c1260c703550e84"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed May 21 01:08:10 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 21 01:08:11 2014 +0000"
      },
      "message": "Merge \"Simplify Class::IsArtFieldClass().\""
    },
    {
      "commit": "bd0fb61e24270b1f382ecbef4c1260c703550e84",
      "tree": "8ea1370cf907771d24ec4776162d92ee407ee05d",
      "parents": [
        "07d5fa63f562702d722d9a212fdef8ffc542c5eb"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue May 20 13:46:00 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue May 20 18:05:32 2014 -0700"
      },
      "message": "Simplify Class::IsArtFieldClass().\n\nFix the slight glitch that when ImageSpace::VerifyImageAllocations()\ncalled in ImageSpace::Create(), the ArtField and ArtMethod class roots\nweren\u0027t set, which were used by DCHECKs in Object::Size(), which\nVerifyImageAllocations() calls, by delaying the point of the\nVerifyImageAllocations() call to Runtime::Init() at which point the\nclass linker has set the class roots.\n\nTo completely disable read barriers from Object::SizeOf(), the\nReadBarrierOption template parameter should have been added to\nClass::GetInstanceField(), which calls GetFieldObject(), when it\u0027s\ncalled from Class::IsArtFieldClass(). This change fixes this by\nremoving the need for the call, instead of adding the\nReadBarrierOption parameter.\n\nBug: 12687968\nChange-Id: Ibbecc08f4e3b898851805d690dff8ccac55e94f2\n"
    },
    {
      "commit": "834cf6128cfb9b3d280c840db5bdc1d999b9d1be",
      "tree": "7096d80e7cfe9f6edbfb41709abd577f43eb18fa",
      "parents": [
        "b405e9196c0768db29094bb901bab0640c795a11",
        "ee618f5b4ccbb83170490e8ebdcacd469f63807f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 21 00:32:45 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 21 00:32:45 2014 +0000"
      },
      "message": "Merge \"Move another LOG to VLOG(signals)\""
    },
    {
      "commit": "b405e9196c0768db29094bb901bab0640c795a11",
      "tree": "9bc5cb38d030e214590a21cf1a3c365ff965340a",
      "parents": [
        "3035f2d288d2c1e9d2bd7a89383bbc06aae4b44d",
        "f3632835c8d643632e6d1af403b4a5c309133e08"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 21 00:16:23 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 21 00:16:24 2014 +0000"
      },
      "message": "Merge \"Add context to LinkFields asserts since the previous_size check failed\""
    },
    {
      "commit": "f3632835c8d643632e6d1af403b4a5c309133e08",
      "tree": "51a9aeb074aa5efeecea2b0423b8707fda6ae647",
      "parents": [
        "6d49184bb841f2645924361d945a8bc418fc05c6"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 20 15:36:53 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 20 16:15:45 2014 -0700"
      },
      "message": "Add context to LinkFields asserts since the previous_size check failed\n\nChange-Id: If7a6c4219f52fd772141e6f070bb7d9a1d9464c0\n"
    },
    {
      "commit": "3035f2d288d2c1e9d2bd7a89383bbc06aae4b44d",
      "tree": "80696732f8c967c59f62e7d45973397bec77ae0d",
      "parents": [
        "1271e5db25eda9ebf97d0cd8388a2b6b2f7efd1e",
        "999385ccc2056d58b63abb5169402f50e89cc13e"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue May 20 23:03:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 20 23:03:34 2014 +0000"
      },
      "message": "Merge \"Use strtod to read a double rather than operator \u003e\u003e\""
    },
    {
      "commit": "f87ef8c82433626805c6e8183bb2622805976a94",
      "tree": "b719502a8b3820ea64aab1672d1c76384773f56d",
      "parents": [
        "6d49184bb841f2645924361d945a8bc418fc05c6",
        "8ab7e78be6835d63a2cee9f234334ed8fb409781"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 20 22:16:33 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 20 22:16:34 2014 +0000"
      },
      "message": "Merge \"Improve heap verification for invalid roots.\""
    },
    {
      "commit": "999385ccc2056d58b63abb5169402f50e89cc13e",
      "tree": "33244cd55f0e3f249957f67f7afe3161e7f2ee94",
      "parents": [
        "07d5fa63f562702d722d9a212fdef8ffc542c5eb"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue May 20 15:16:02 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue May 20 15:16:02 2014 -0700"
      },
      "message": "Use strtod to read a double rather than operator \u003e\u003e\n\nThe \u003e\u003e operator doesn\u0027t work on the x86_64 build in the emulator.  This\nworks around the issue by using strtod instead.\n\nBug: 15086512\nChange-Id: Id7f13889df608ed37e1e8fdef7a449f2d272b9b5\n"
    },
    {
      "commit": "8ab7e78be6835d63a2cee9f234334ed8fb409781",
      "tree": "269a90e5efe2af987ff662062904807c3d3926da",
      "parents": [
        "fd1264475562006c93b651d33e0a6266e8093ebe"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 19 16:55:27 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 20 15:15:05 2014 -0700"
      },
      "message": "Improve heap verification for invalid roots.\n\nThe new root verification prints the root type and owner thread id as\nwell as the type of the object.\n\nAlso a bit of work for planned multi-threaded verification.\n\nBug: 14289301\n\nChange-Id: Ia73c517dc11ec6dd82f3d945604ee3836b3db536\n"
    },
    {
      "commit": "ee618f5b4ccbb83170490e8ebdcacd469f63807f",
      "tree": "667011b2daf87dae766686a053de14075b586169",
      "parents": [
        "6d49184bb841f2645924361d945a8bc418fc05c6"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon May 19 18:56:13 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 20 14:10:42 2014 -0700"
      },
      "message": "Move another LOG to VLOG(signals)\n\nBug: 15024631\nChange-Id: I5ef79292a69fe268fa52663731a38cfb3b856f32\n"
    }
  ],
  "next": "6d49184bb841f2645924361d945a8bc418fc05c6"
}
