)]}'
{
  "log": [
    {
      "commit": "8c2ff641294715864013737fdec57cdfd410270c",
      "tree": "2dd302323b4711d1a9391b8c1a8dce3de3e76e91",
      "parents": [
        "6dbf5a5a075a371cb2ff3659058e93a985485baa"
      ],
      "author": {
        "name": "Man Cao",
        "email": "manc@google.com",
        "time": "Wed May 27 17:25:30 2015 -0700"
      },
      "committer": {
        "name": "Man Cao",
        "email": "manc@google.com",
        "time": "Wed Jun 10 15:03:01 2015 -0700"
      },
      "message": "Add allocation stack traces for HPROF dump.\n\nThis feature is currently only enabled when DDMS\u0027s allocation tracking\nis enabled. In the future there should be a way to enable this feature\nbefore an application starts.\n\nAlso updates DDMS\u0027s recent allocation tracking to use a new backend\ndata structure that is shared with this feature.\n\nThe following system properties controls customizable parameters:\ndalvik.vm.allocTrackerMax: max number of objects that have allocation\n                           records, default 512K;\n\ndalvik.vm.recentAllocMax:  max number of records that are sent to DDMS\n                           when clicking \"Get allocation\" button,\n                           default 64K-1 (limit of the protocol);\n\ndalvik.vm.allocStackDepth: max number of stack frames in an allocation\n                           record, default 4.\n\nBug: 20037135\nChange-Id: I26ed378a5613678bd3c43e846025f90470a8e059\n"
    },
    {
      "commit": "73d01bc3b227a2090be4b383c4731e1a520a282d",
      "tree": "212f20bd769ad495cb15da9aa71426f0f2ab8f06",
      "parents": [
        "edc9ea1047a0e31fc55442c60871ebe1f7eb15f4",
        "da9badb9edea5e0d18cd9f97eff0d0937ad48310"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 09 23:00:48 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 09 23:00:49 2015 +0000"
      },
      "message": "Merge \"ART: Check long and double register pairs in invokes\""
    },
    {
      "commit": "a574b0e4772e57134538c3c098d7538d957edc90",
      "tree": "03c1db0cdb463e28e3336cb14f517c3c547d8b30",
      "parents": [
        "26b97f87dcd86934f8b75e018c80bb4e8d501b03"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Jun 04 18:12:26 2015 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Jun 09 11:37:41 2015 -0700"
      },
      "message": "Make dex file verifier check for dups between direct and virtual methods.\n\nThe dex file verifier now rejects classes that have the same method index\nin both direct and virtual methods.\n\nBug: 17878919\nChange-Id: I431b4715e39ca2cce4df3ebef020b7ec0661a4c0\n"
    },
    {
      "commit": "da9badb9edea5e0d18cd9f97eff0d0937ad48310",
      "tree": "ed2f0b85561daa715988f644482fbdd99995656d",
      "parents": [
        "ccd6337f31d13706c602f3d9436e9b4025075b63"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 05 20:22:12 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 09 11:25:42 2015 -0700"
      },
      "message": "ART: Check long and double register pairs in invokes\n\nFor invokes, ensure that long and double parameters are actually\nin registers pairs. We were testing the pair, but skipping the\nactual high parameter register.\n\nBug: 17410612\nChange-Id: I8f4c3335ea8b7dc3cf252bee52a5a706ae8905f8\n"
    },
    {
      "commit": "6b0d6c62cbfad62c42e426de1641f2ff7473a446",
      "tree": "1da0efcb04ddf6ba97bb13313b0e99d3b281dc6d",
      "parents": [
        "559f11f0d5f6b932e5b01f2a7c26604908b7d48d",
        "bba348ef12b8dad2bdb8ce32bd0202ad7a38a315"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Jun 09 16:05:14 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 09 16:05:15 2015 +0000"
      },
      "message": "Merge \"Bring back verbosity override\""
    },
    {
      "commit": "f795869da0a1fa006fdcdacd8afb6149a63fc1a7",
      "tree": "b4cd23012e62b80788870f2c85c30fc6032299fa",
      "parents": [
        "430afefe1cced35cf5eb12ce7a6dcbfc5007c97e"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Jun 09 14:09:14 2015 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Jun 09 17:17:09 2015 +0200"
      },
      "message": "Follow up on CL 151605\n\n- Fixes return type of StackedShadowFrameRecord::GetType\n- Makes StackedShadowFrameType an enum class (scoped enum)\n- Moves DeoptimizationReturnValueRecord and StackedShadowFrameRecord\n  to thread.cc file and use forward declaration in thread.h header\n- Fixes tools/generate-operator-out.py for scoped enum classes.\n\nBug: 20845490\nChange-Id: I6b67e288b1db563699161e58ec2e2330d42dd8f5\n"
    },
    {
      "commit": "bba348ef12b8dad2bdb8ce32bd0202ad7a38a315",
      "tree": "493b8a7416d05fbabe2510cde693ec5d6355ae0f",
      "parents": [
        "430afefe1cced35cf5eb12ce7a6dcbfc5007c97e"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Jun 01 08:28:18 2015 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Jun 09 15:33:00 2015 +0200"
      },
      "message": "Bring back verbosity override\n\nBrings back the possibility to override verbosity locally (after\ncommand-line parser changes). Also adds a test for \"-verbose:deopt\"\ncommand-line option.\n\nChange-Id: I634d5226ef473ec4d965d620e973e9e677c0069d\n"
    },
    {
      "commit": "38c8221b8f8bd0411006c44d3126f78eb6a8e9ab",
      "tree": "090dfc7d5b12fe21050b1d29a4ed2d7bff7294f0",
      "parents": [
        "a56b2e09cc311d3b8eb9384decc76a13ed5da6e9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 04 16:22:41 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 08 11:32:47 2015 -0700"
      },
      "message": "More LOW_4G optimizations\n\nEagerly try to map at an address when it doesn\u0027t overlap with\nthe ART known maps.\n\nReduces time spent creating the heap on N9 from ~100ms to ~10ms.\n\n(cherry picked from commit 3ae250c16bae3462e040b844dbc2e2fc732d67ba)\n\nBug: 20727525\nChange-Id: Ie8982ca9d1f3158104b2b53b992c3a28841fc443\n"
    },
    {
      "commit": "1f2d3ba6af52cf6f566deb38b7e07735c9a08fb6",
      "tree": "af6ae612d43c50703292d39a8a0b37dda3f919a6",
      "parents": [
        "ccd6337f31d13706c602f3d9436e9b4025075b63"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon May 18 12:12:50 2015 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Jun 08 00:53:55 2015 -0700"
      },
      "message": "Fix nested deoptimization.\n\nHandle nested deoptimization cases. Create a stacked shadow frame\nrecords to keep track of deoptimization shadow frames. Shadow frames\nunder construction can be tracked in the same stack.\n\nBug: 20845490\nChange-Id: I768285792c29e7c3cfcd21e7a2600802506024d8\n"
    },
    {
      "commit": "ccd6337f31d13706c602f3d9436e9b4025075b63",
      "tree": "85acf715799304d142006e8211a513e776c49fe7",
      "parents": [
        "eb4598948fdf013241f8f8598c559f0ce92eb8b4",
        "d9e230185873d9d998d77d17107029e0603e82d6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Jun 07 22:39:51 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Jun 07 22:39:52 2015 +0000"
      },
      "message": "Merge \"ART: Reload class on miranda method in verifier\""
    },
    {
      "commit": "d9e230185873d9d998d77d17107029e0603e82d6",
      "tree": "7362a7e9a9f91591b36c3efdcebcb7cc0621649e",
      "parents": [
        "38b66b6fed1adcc1da4b931a32f78c5290a97c1e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 04 22:19:58 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Jun 07 15:29:40 2015 -0700"
      },
      "message": "ART: Reload class on miranda method in verifier\n\nWhen checking the receiver of a call and we have a miranda method,\nreload the class from the method index instead of using the declared\nclass - which is the interface class, not the abstract class.\n\nBug: 21646347\nChange-Id: I5bceab75c3b76233cb42ea5cf0214d32c8149994\n"
    },
    {
      "commit": "69b5d8febe6dd552d427c106f3e3f8cf715206b0",
      "tree": "510f2cbeca12e5247f0441aca7b3506297571ead",
      "parents": [
        "12768a0b8cd6d1fd4953e24cd84edfbc3d8a9d79"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 03 15:43:16 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Jun 07 15:25:55 2015 -0700"
      },
      "message": "Revert \"Revert \"Turn off duplicate-classes checking\"\"\n\nThis reverts commit 18a1827a159f1b235f3fcc934f428059185f550e.\n\nBug: 21333911\n\n(cherry picked from commit 0fc16a09b4d2323f9c2b6aabc81ce120b278329b)\n\nChange-Id: I8cb96efbf7151b238f3ee137a938b20ddfaf0ebc\n"
    },
    {
      "commit": "12768a0b8cd6d1fd4953e24cd84edfbc3d8a9d79",
      "tree": "b9127961ff5116fdfaf20e67fc20bc2f82cc96a7",
      "parents": [
        "fc3f39eafd4c27f5f616f309c9cbff80d88a48ed"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 21 20:33:40 2015 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Jun 07 15:25:34 2015 -0700"
      },
      "message": "Revert \"DO NOT MERGE ART: Turn off duplicate-classes checking\"\n\nThis reverts commit aafcfca5fe545365ef377fff2897b8a908f03e71.\n\nBug: 21333911\n\n(cherry picked from commit 18a1827a159f1b235f3fcc934f428059185f550e)\n\nChange-Id: Ibbc6b1be8bebc1d0ab9c5955b34eb89f40577baa\n"
    },
    {
      "commit": "fc3f39eafd4c27f5f616f309c9cbff80d88a48ed",
      "tree": "510f2cbeca12e5247f0441aca7b3506297571ead",
      "parents": [
        "c1d8da19488f78f06c9c7b09cfcce9523d755d51"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 20 14:48:10 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Jun 07 15:24:53 2015 -0700"
      },
      "message": "DO NOT MERGE ART: Turn off duplicate-classes checking\n\nBug: 21333911\n\n(cherry picked from commit aafcfca5fe545365ef377fff2897b8a908f03e71)\n\nChange-Id: I9832526a6d2996aadb459e3ec0930cbaf151478a\n"
    },
    {
      "commit": "b5de3bb65556950d5cce1dea3ea6d80adcc5051d",
      "tree": "092ccd0bde09ae445b10339c149eb403e1e82901",
      "parents": [
        "38b66b6fed1adcc1da4b931a32f78c5290a97c1e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 05 13:21:05 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 05 16:21:47 2015 -0700"
      },
      "message": "Use runFinalizationWithTimeout for native allocations\n\nPrevents deadlocks by not waiting longer than 250ms for finalizers\nto complete.\n\n(cherry picked from commit 3b532d744034b43ed329a3198f15846d80fec3f0)\n\nBug: 21544853\nChange-Id: I57b2f7ae8b74185922eb3c15ba0ab71a4d2348aa\n"
    },
    {
      "commit": "054a078ecebfb84b5003f2d0239c472de53267e2",
      "tree": "bb1fe30d8e74e8204e93ad9db0a1c775f5be42fe",
      "parents": [
        "da2fd5aa2cbdab371f9a1c29ff4e4dfd09305fdc"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Apr 07 10:56:50 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 04 16:17:21 2015 -0700"
      },
      "message": "Add atrace calls to runtime start and heap create\n\n(cherry picked from commit 7fabaa6ba1927d21a317c03499b705cbde4f6a47)\n\nBug: 20727525\n\nChange-Id: I91a74b793fb9eda8ed580244a6a5fd313ef2eb27\n"
    },
    {
      "commit": "da2fd5aa2cbdab371f9a1c29ff4e4dfd09305fdc",
      "tree": "6840daccc4fd18e9f81ec2a8d07d39db17c4b4b8",
      "parents": [
        "8c46e0d57e52d78196f981d41b9d0434abd6d592",
        "12bd7210bb2f5738e33dfa3f2f1cba2e0aab4955"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Jun 04 22:38:10 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 04 22:38:11 2015 +0000"
      },
      "message": "Merge \"If heap poisoning is on, pass the relevant flag to LOCAL_ASFLAGS.\""
    },
    {
      "commit": "7889a77e464b820745c9507ccd484f68e7b1c650",
      "tree": "eb6ffe8edece5a47c7aaa7363a32e6b89f75cec9",
      "parents": [
        "6a1c92f1e4a455d802ab0d0ac47504cdd7c12f0f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 04 13:42:14 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 04 15:20:03 2015 -0700"
      },
      "message": "Add optimization for LOW_4G allocator\n\nThe optimization uses the maps_ field to skip over regions which we\nknow wont be large enough for the request.\n\nReduces time to create heap from 500-700ms to 100ms on N9.\n\n(cherry picked from commit 1c8bef4a71612f10b89b102434f70de5a127cc74)\n\nBug: 20727525\n\nChange-Id: I4fa92d58c2e135ba31a03ababff46669089bb542\n"
    },
    {
      "commit": "12bd7210bb2f5738e33dfa3f2f1cba2e0aab4955",
      "tree": "ceff4c27b7d3173da61dda12b1b05e062e82e3d9",
      "parents": [
        "2519fc40d4ae89322d28d1ff610fe81bb90fb564"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jun 04 17:50:27 2015 +0100"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Jun 04 11:26:19 2015 -0700"
      },
      "message": "If heap poisoning is on, pass the relevant flag to LOCAL_ASFLAGS.\n\nThis change ensures assembly files honoring heap poisoning\n(notably used by stub_test) are compiled with\n-DART_HEAP_POISONING\u003d1 when this feature is turned on.\n\nBug: 21621105\nChange-Id: I13fe456cd2733a09bdfd3a9808cfd70513b14698\n"
    },
    {
      "commit": "fd0fb02c728689ca32a12476c707b96f6ca3e1fe",
      "tree": "33b6cb3239bf5e74e7f68ea37f6ef885179ea0ff",
      "parents": [
        "962863b6481163eb00e7621ec6f854cb0b6f67bc",
        "08ac922cf18e6a34a964a89031505395eeeeef2e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 04 16:54:46 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 04 16:54:47 2015 +0000"
      },
      "message": "Merge \"Fix JNI GetSuperClasss\""
    },
    {
      "commit": "f677ebfd832c9c614fea5e6735725fec2f7a3f2a",
      "tree": "051b3ba6343bdbca4929d728dd5c0341e4383a08",
      "parents": [
        "c47908e8c32fd58bc4dc75998a80f706954db1dc"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri May 29 16:29:43 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jun 04 17:25:02 2015 +0100"
      },
      "message": "Cache stack map encoding\n\nOperations on CodeInfo and StackMap objects repeatedly read encoding\ninformation from the MemoryRegion. Since these are 3-bit-loads of\nvalues that never change, caching them can measurably reduce compile\ntimes.\n\nAccording to benchmarks, this patch saves 1-3% on armv7, 2-4% on x86,\nand 0-1% on x64.\n\nChange-Id: I46b197513601325d8bab562cc80100c00ec28a3b\n"
    },
    {
      "commit": "08ac922cf18e6a34a964a89031505395eeeeef2e",
      "tree": "c3f73ff30c1ecaabe76ef45b71d0cc6763e4bf04",
      "parents": [
        "6d8bd45e585d549bda42da22ee96e7149cfd720d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri May 22 13:43:00 2015 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 04 09:23:11 2015 -0700"
      },
      "message": "Fix JNI GetSuperClasss\n\nChange-Id: I005e9f84220dabfcea7cbc7b7b0ad422dd435a40\n"
    },
    {
      "commit": "732358201f5c319efe9119c2f61116ec85ad4187",
      "tree": "bbd497c35e4d615469d983b068b00de5b16f6150",
      "parents": [
        "6d8bd45e585d549bda42da22ee96e7149cfd720d",
        "ef486052f89f088dfc3fe31f6dce974c8f4ce522"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Jun 04 15:38:05 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 04 15:38:09 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Modification to the way boot classpath resources are loaded\"\"\""
    },
    {
      "commit": "ef486052f89f088dfc3fe31f6dce974c8f4ce522",
      "tree": "8024d7c18f7f2166a51603684f2bfdedf50c4305",
      "parents": [
        "1e27c5bd372fbe55c46127c8f233a13d9994334c"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Jun 04 12:24:08 2015 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Jun 04 12:24:08 2015 +0000"
      },
      "message": "Revert \"Revert \"Modification to the way boot classpath resources are loaded\"\"\n\nThis reverts commit 1e27c5bd372fbe55c46127c8f233a13d9994334c.\n\nChange-Id: I8f45a890ae1d3c0b0497e4fea4fb5a4c7a07b59f\n"
    },
    {
      "commit": "f6c2a2743d70966cf9ff02294276549ce4dc8683",
      "tree": "a0d23e8e419f9f4a5d50a3e6f1233666987050f1",
      "parents": [
        "dc4a4e0fa3af68d493fd49e7887cdcb748d64b6d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 03 17:32:42 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 03 18:35:03 2015 -0700"
      },
      "message": "Fix valgrind large_object_space_test\n\nAlso some cleanup.\n\n(cherry picked from commit c991403cd8b869e4a38c11c6a58223b82b89a1b2)\n\nChange-Id: I9c1a8093e6356f1b52e332009429b77fa5c1d448\n"
    },
    {
      "commit": "dc4a4e0fa3af68d493fd49e7887cdcb748d64b6d",
      "tree": "910daeab3e02af2762726f44f753d9b32bbffbad",
      "parents": [
        "455f320d7238e1902b36553cddf4412ae7ee2e31",
        "e7158116f345df6df73f0df7ebdc2be8e0e4f3e8"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 03 23:12:44 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 03 23:12:44 2015 +0000"
      },
      "message": "Merge \"Add a way to determine if a large object is a zygote object\""
    },
    {
      "commit": "449357d3f61bdd134967ecdacc3516e1707cf882",
      "tree": "650ef203d23926485398200888cadfc9aa7608fc",
      "parents": [
        "2519fc40d4ae89322d28d1ff610fe81bb90fb564"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 01 22:29:51 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 03 16:10:33 2015 -0700"
      },
      "message": "ART: Refactor Thread::Init\n\nThis refactor allows the parent thread to allocate the JNIEnvExt\nfor the child (with a fallback in place in Init). This allows to\nthrow an OOME in CreateNativeThread instead of aborting in the\nchild.\n\nBug: 21291279\n\n(cherry picked from commit 520abbd0edcf333f07164539620ce65258c72383)\n\nChange-Id: Iccc1a5c202999f5bfacec706d9833e53135ba2fa\n"
    },
    {
      "commit": "e7158116f345df6df73f0df7ebdc2be8e0e4f3e8",
      "tree": "eb22dd962fe56325a505eaacfdf07e3cc97c7904",
      "parents": [
        "2519fc40d4ae89322d28d1ff610fe81bb90fb564"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 03 13:32:15 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 03 16:07:29 2015 -0700"
      },
      "message": "Add a way to determine if a large object is a zygote object\n\nAlso fix a slight memory leak in LargeObjectMapSpace.\n\nBug: 20674158\n\n(cherry picked from commit 8f23620d45399286564986d2541cda761b3fe0ac)\n\nChange-Id: I2416df484e5b84a8c5cc0b5664c8cb102dc235f6\n"
    },
    {
      "commit": "2519fc40d4ae89322d28d1ff610fe81bb90fb564",
      "tree": "37bb34ad49586683c78e7c44a589d0e07b875270",
      "parents": [
        "1710bf308c1465d2130547c0aa9066d28d57648b",
        "8ac75952f13f0a80803628f0c2aa06120ad42126"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 03 19:54:30 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 03 19:54:31 2015 +0000"
      },
      "message": "Merge \"ART: Prune FindArrayClass cache in image writer\""
    },
    {
      "commit": "1710bf308c1465d2130547c0aa9066d28d57648b",
      "tree": "a481a80d4d1580041e8eb732abeb8fca6d54bb13",
      "parents": [
        "ffbf83b6e9ff4e3dd12a99cb607d4d3a6630d7bc",
        "1d8199d8215a6ee7b1904edc47372d83fcdee5a3"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jun 03 19:15:05 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 03 19:15:06 2015 +0000"
      },
      "message": "Merge \"Tidy up spelling\""
    },
    {
      "commit": "7c1f53e4253e6acff5e76f00e6bf666518068c4d",
      "tree": "3b07161966b6f3f7d0c475ef06d9b274b19f2f16",
      "parents": [
        "0c46694c182655150d1f8faf7992e844c07710f2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 03 10:51:13 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 03 11:08:37 2015 -0700"
      },
      "message": "Emit instance fields for java.lang.Object in hprof\n\nPreviously we omitted these fields.\n\n(cherry picked from commit 0adc90eb0592e220f787f87dbef3a9b5c1db2080)\n\nBug: 20726205\nChange-Id: I81c55919a4bd015bc0a4e7259a41a05dab534e11\n"
    },
    {
      "commit": "8ac75952f13f0a80803628f0c2aa06120ad42126",
      "tree": "1dbf82e26b362f2dd89644050507aa5345373ecd",
      "parents": [
        "0c46694c182655150d1f8faf7992e844c07710f2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 02 21:01:45 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 03 11:03:00 2015 -0700"
      },
      "message": "ART: Prune FindArrayClass cache in image writer\n\nThe ClassLinker cache speeds up FindArrayClass requests, but all\nentries are roots. It is possible that an entry is a non-image\nclass when creating the boot image, artificially keeping the\nclass around.\n\nBug: 21596650\n\n(cherry picked from commit 44905ce1c97613a5cb44046049843fe1029a64cf)\n\nChange-Id: Ief9b439945d0e293a3cb5dcddfeb189b5e174f06\n"
    },
    {
      "commit": "91b01c56ddd3f7eb4c0c28138e2a1a8d5ab969a8",
      "tree": "70baee08910f07bf5b455b9ad44ce67526359bd7",
      "parents": [
        "c836bc80d10bad016422b4824c471d3513850666",
        "1e27c5bd372fbe55c46127c8f233a13d9994334c"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jun 03 15:47:15 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 03 15:47:17 2015 +0000"
      },
      "message": "Merge \"Revert \"Modification to the way boot classpath resources are loaded\"\""
    },
    {
      "commit": "1e27c5bd372fbe55c46127c8f233a13d9994334c",
      "tree": "46d04086aaafd8a6d4a015df66865d04ed426ac8",
      "parents": [
        "0e08b767f1bd0b892e3ac5724d517caae70f5c04"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jun 03 15:46:29 2015 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jun 03 15:46:29 2015 +0000"
      },
      "message": "Revert \"Modification to the way boot classpath resources are loaded\"\n\nThis reverts commit 0e08b767f1bd0b892e3ac5724d517caae70f5c04.\n\nChange-Id: Ie3d3caec98f5a65759bb6d44c1f8c76dc6aa2afa\n"
    },
    {
      "commit": "973139558988ab2e89819b9ed9fc4af048be8ce4",
      "tree": "1fdafbbd07528336da9b2349d1c9fd84b74a7a3f",
      "parents": [
        "6a0d5e7fe6dc0c9d3dd941ab991203f2d5d1c354",
        "0e08b767f1bd0b892e3ac5724d517caae70f5c04"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jun 03 14:59:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 03 15:00:01 2015 +0000"
      },
      "message": "Merge \"Modification to the way boot classpath resources are loaded\""
    },
    {
      "commit": "7922d0f2ef6a9fa7adc3b9417246aabea2474732",
      "tree": "c5c9e9106287694c80d7b262e1d2dbf176d59ae9",
      "parents": [
        "99c2abcb085d254b17a870442ca188fa09ab58de",
        "f2650d1f957b158496de8016bc43fb575e81d6bc"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jun 03 11:00:37 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 03 11:00:37 2015 +0000"
      },
      "message": "Merge \"Show stack maps and Dex register maps in oatdump\u0027s assembly code.\""
    },
    {
      "commit": "c6328be4c04fca6430379efcf86fcb2bb28414ad",
      "tree": "11fe3271a43d4d60693b0cfe05101cbc9aa8cc0d",
      "parents": [
        "49e3b6257c1c1a139df75f5f8e80e86f1c473409"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jun 03 11:26:05 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jun 03 11:26:05 2015 +0100"
      },
      "message": "Fix linter-related error.\n\nChange-Id: Ie8fb07a46ea6231c2585155249ebb6e2654f7a52\n"
    },
    {
      "commit": "49e3b6257c1c1a139df75f5f8e80e86f1c473409",
      "tree": "f53cd75800d25ecdc3661807ef10c90ca7f3d7a8",
      "parents": [
        "1aebdae18678403bdac078cbbe1f7dd4243c44f3",
        "5b3ee56cd63ee9e3c70c0412d044b81ab9c94513"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jun 03 09:45:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 03 09:45:58 2015 +0000"
      },
      "message": "Merge \"Delegate long-to-float type conversions to the runtime on ARM.\""
    },
    {
      "commit": "bf44d42d978861f33fd5978f49392db3321ae414",
      "tree": "9026c1e27e713bebc3d23139dfb0263ca3435ba1",
      "parents": [
        "35d62ce1801aad45233ae72c1bd665f8709e4a6d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 02 11:42:18 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 02 17:51:53 2015 -0700"
      },
      "message": "Add a way to SuspendAll for a long duration\n\nHprof uses this mode to not cause thread suspend timeouts if GC tries\nwhile the hprof dump is running.\n\n(cherry picked from commit 77be6635f9b07a8a794924c5fb9b071949776a6d)\n\nBug: 21063989\nChange-Id: Ic6304620afd1489719a7e0e4299f829c90fe27cc\n"
    },
    {
      "commit": "4d64cd45acc6a26742e8237eb65136998612820d",
      "tree": "7cc3be09a443f0510fe73c4267eefbb93d1b82f4",
      "parents": [
        "4757a3335c8e0b12060fe619ee7b8fda08ec580d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 02 16:38:29 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 02 17:18:03 2015 -0700"
      },
      "message": "Fix tracing\n\nMove back to 32 bit method IDs, add a bijective map for method IDs.\n\nAlso some cleanup.\n\n(cherry picked from commit d40bcc4fab1589e3aac0f4b59217c6ab4e72102a)\n\nBug: 19264997\nChange-Id: Icdd36591df53ff975d30b9000cfe67d3ae8c51d5\n"
    },
    {
      "commit": "22c1caa6fad7846cdf7de30323c6c7dc860b9b03",
      "tree": "7dd70494257ce55bbbd118cc9568cc96934a1a4e",
      "parents": [
        "ac3a02b0f1ed10ed236c87c71f50261c8d522f74"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 02 13:40:12 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 02 14:20:52 2015 -0700"
      },
      "message": "Add more info for attempting to delete non-JNI local reference\n\nNow we print the stack trace of the method which tried to remove the\nnon-JNI local reference.\n\nAdded test, example output:\n Attempt to remove non-JNI local reference, dumping thread\n \"main\" prio\u003d5 tid\u003d1 Runnable\n   | group\u003d\"main\" sCount\u003d0 dsCount\u003d0 obj\u003d0x12c2b400 self\u003d0xf878af28\n   | sysTid\u003d32662 nice\u003d0 cgrp\u003ddefault sched\u003d0/0 handle\u003d0xf73df700\n   | state\u003dR schedstat\u003d( 154297228 636505 121 ) utm\u003d5 stm\u003d10 core\u003d11 HZ\u003d100\n   | stack\u003d0xff6f2000-0xff6f4000 stackSize\u003d7MB\n   | held mutexes\u003d \"mutator lock\"(shared held)\n   native: #00 pc 00455a7f  /out/host/linux-x86/lib/libartd.so (art::DumpNativeStack(std::__1::basic_ostream\u003cchar, std::__1::char_traits\u003cchar\u003e \u003e\u0026, int, char const*, art::ArtMethod*, void*)+191)\n   native: #01 pc 00425d79  /out/host/linux-x86/lib/libartd.so (art::Thread::DumpStack(std::__1::basic_ostream\u003cchar, std::__1::char_traits\u003cchar\u003e \u003e\u0026) const+473)\n   native: #02 pc 0028c555  /out/host/linux-x86/lib/libartd.so (art::IndirectReferenceTable::Remove(unsigned int, void*)+421)\n   native: #03 pc 003319c8  /out/host/linux-x86/lib/libartd.so (art::JNI::DeleteLocalRef(_JNIEnv*, _jobject*)+56)\n   native: #04 pc 0012db14  /out/host/linux-x86/lib/libartd.so (art::CheckJNI::DeleteRef(char const*, _JNIEnv*, _jobject*, art::IndirectRefKind)+292)\n   native: #05 pc 00122176  /out/host/linux-x86/lib/libartd.so (art::CheckJNI::DeleteLocalRef(_JNIEnv*, _jobject*)+54)\n   native: #06 pc 00005724  /out/host/linux-x86/lib/libarttest.so (Java_Main_removeLocalObject+36)\n   native: #07 pc 00004d6e  /tmp/test-32506/dalvik-cache/x86/tmp@mathieuc@test-32506@004-JniTest.jar@classes.dex (void Main.removeLocalObject(java.lang.Object)+130)\n   at Main.removeLocalObject(Native method)\n   at Main.testRemoveLocalObject(Main.java:118)\n   at Main.main(Main.java:37)\n\n(cherry picked from commit ff6d8cffb7c14eee56df16d1422b1fcc180decde)\n\nBug: 20683465\nChange-Id: I56b99c77ae7020cabf1aaeb1d5317b1d5ba940e5\n"
    },
    {
      "commit": "bfa5eb6e8d15ea73a36f8df449630f285a91e995",
      "tree": "de306b9ffb819e628c49f1c24d1f4ee33ad08319",
      "parents": [
        "61d894850cfcbae91ff472a24b5ae9e33394f24c"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri May 29 15:04:41 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Jun 02 11:46:14 2015 -0700"
      },
      "message": "Add heap poisoning support to the entrypoints.\n\nIn preparation for full compiler/managed-code support.\n\nEnable stub_test with heap poisoning.\n\nBug: 12687968\nChange-Id: I79fc54ce6386c0a1eb9621759bb4cc23bc393a75\n"
    },
    {
      "commit": "1d8199d8215a6ee7b1904edc47372d83fcdee5a3",
      "tree": "db860e447157f5b005fad2c71bedc63ad5d79050",
      "parents": [
        "637be5cefe1462b8d0bd5e065bd64a10f01647ac"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jun 02 11:01:10 2015 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jun 02 11:01:16 2015 -0700"
      },
      "message": "Tidy up spelling\n\nChange-Id: I65fba9d8310ff3759322cec3345235e6472f4cfb\n"
    },
    {
      "commit": "a40c74a7a4341257cf14822d54ca233617216129",
      "tree": "302bdc91993f03925aba7593f42206d4b7ca6ea1",
      "parents": [
        "3a4a67253d1ee65a46d6f04dbebc72a5372e0e57"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 02 09:56:04 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 02 10:26:25 2015 -0700"
      },
      "message": "Update IMT for stale miranda methods\n\nFixes occasional crash in dex2oat.\n\n(cherry picked from commit 519fd543625da68ef93f0cd5539c949e5e74e04e)\n\nBug: 19264997\nChange-Id: Icb1a323d8c44fa40309486e17aec56d2c2588e67\n"
    },
    {
      "commit": "5b3ee56cd63ee9e3c70c0412d044b81ab9c94513",
      "tree": "b57f056c5e4ad18ba7c89034bbbb51b90820e648",
      "parents": [
        "122addc3962207badd364b00a75a58639e76b10c"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Apr 14 16:02:41 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jun 02 17:37:40 2015 +0100"
      },
      "message": "Delegate long-to-float type conversions to the runtime on ARM.\n\nOn ARM, translate long-to-float type conversions (from both\nQuick and Optimizing) as calls to the runtime routine\nart_l2f, instead of generating ad hoc code, so as to improve\nthe precision of the conversions.\n\nBug: 20413424\nChange-Id: I8c414ee1c6f4ff1f32ee78f75734cfd3cf579f71\n"
    },
    {
      "commit": "80f7a57e2aec7515c7a54c4b5c9e703a66623fea",
      "tree": "b4b61f6a96a7d004ffa83318735fc639385f5519",
      "parents": [
        "637be5cefe1462b8d0bd5e065bd64a10f01647ac"
      ],
      "author": {
        "name": "Nikola Veljkovic",
        "email": "Nikola.Veljkovic@imgtec.com",
        "time": "Tue Jun 02 17:27:53 2015 +0200"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 02 15:38:38 2015 +0000"
      },
      "message": "[MIPS64] Fix art_quick_invoke_stub argument offsets.\n\nArtMethod reference\u0027s size got bigger, so we need to move other args\nand leave enough space for ArtMethod* and \u0027this\u0027 pointer.\n\nThis fixes mips64 boot.\n\nBug: 19264997\nChange-Id: I47198d5f39a4caab30b3b77479d5eedaad5006ab\n"
    },
    {
      "commit": "f10a25f961eb8029c01c84fe8eabd405055cca37",
      "tree": "a0fd9dfa459689fa2929a89310ebcd3a45607e5f",
      "parents": [
        "1682e1aa3463c2e6a8e5f4a9d3f4d13a0e31e3da"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Jun 02 14:29:52 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Jun 02 14:36:09 2015 +0100"
      },
      "message": "ART: Fast copy stack mask\n\nStackMap::SetStackMask will currently copy a BitVector into a Memory-\nRegion bit by bit. This patch adds a new function for copying the data\nwith memcpy.\n\nThis is resubmission of CL I28d45a590b35a4a854cca2f57db864cf8a081487\nbut with a fix for a broken test which it revealed.\n\nChange-Id: Ib65aa614d3ab7b5c99c6719fdc8e436466a4213d\n"
    },
    {
      "commit": "d84b4384bc14a6bc256ad85955eca0582e6b2364",
      "tree": "c6b4bb107841320abbaa1402484df67c3f4a0a3b",
      "parents": [
        "6b10c9b2c0e62193ab9df4d63aedea1d0798e742"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Jun 02 12:42:40 2015 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Jun 02 12:42:40 2015 +0000"
      },
      "message": "Revert \"ART: Fast copy stack mask\"\n\nDCHECK failure, need to investigate\n\nThis reverts commit 6b10c9b2c0e62193ab9df4d63aedea1d0798e742.\n\nChange-Id: Ie1d1cc6fb71367bc5ac5d6a260af8de316a758dd\n"
    },
    {
      "commit": "6b10c9b2c0e62193ab9df4d63aedea1d0798e742",
      "tree": "9930b839777184008b38e5504f1274c4cbfd87e1",
      "parents": [
        "f86808b55b550962c627b50511b98f4de8cd0e60"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri May 29 16:33:09 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Jun 02 12:30:46 2015 +0100"
      },
      "message": "ART: Fast copy stack mask\n\nStackMap::SetStackMask will currently copy a BitVector into a Memory-\nRegion bit by bit. This patch adds a new function for copying the data\nwith memcpy.\n\nChange-Id: I28d45a590b35a4a854cca2f57db864cf8a081487\n"
    },
    {
      "commit": "cf3b1a3fb0c37ffa596dfae62f86b46a4d521c41",
      "tree": "1bf13057867c9a8f20713c112f3cb3a6dfd6cdd2",
      "parents": [
        "4181a96a151c6444232c4951a2f837c8e2e15d35"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 01 14:30:06 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 01 15:49:33 2015 -0700"
      },
      "message": "Copy miranda methods before suspend point\n\nThis fixes a bug where moving GC could happen at vtable CopyOf and\nresult miranda methods having stale pointers since they are not part\nof the class roots at this point.\n\nAlso some minor cleanup.\n\nBug: 21564728\nChange-Id: Ife520db6973782e40edcb2074c17274b799af738\n"
    },
    {
      "commit": "4181a96a151c6444232c4951a2f837c8e2e15d35",
      "tree": "9a8702eeec37e32f5933bc2ae91eda4cb299b67b",
      "parents": [
        "5986c72f85ff5af78cf5be10d53534947f8097a4",
        "4edd8476339fd93ba8ff384ad107f1fc662e64a3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 01 20:15:19 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 01 20:15:19 2015 +0000"
      },
      "message": "Merge \"Fix accidental IMT and root marking regression\""
    },
    {
      "commit": "4edd8476339fd93ba8ff384ad107f1fc662e64a3",
      "tree": "6937496e8d32791ca450ef923d7e4b27eb07bf08",
      "parents": [
        "7b9f214463b9a5a49b497421713efead3fb32ec4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 01 10:47:36 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 01 10:51:42 2015 -0700"
      },
      "message": "Fix accidental IMT and root marking regression\n\nWas always using the conflict trampoline. Also included fix for\nregression in GC time caused by extra roots. Most of the regression\nwas IMT.\n\nFixed bug in DumpGcPerformanceInfo where we would get SIGABRT due to\ndetached thread.\n\nEvaluateAndApplyChanges:\nFrom ~2500 -\u003e ~1980\nGC time: 8.2s -\u003e 7.2s due to 1s less of MarkConcurrentRoots\n\nBug: 19264997\nChange-Id: I4333e80a8268c2ed1284f87f25b9f113d4f2c7e0\n"
    },
    {
      "commit": "b588f4c037d27dedeef358b478c281ebb3fbb900",
      "tree": "e9ea063f9dea2612083f1938c981b8950b873f8c",
      "parents": [
        "c2ec62874804f341439455fb00a128010139d0fc"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 26 13:35:39 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 01 09:51:45 2015 -0700"
      },
      "message": "ART: Fix wrong hard-failure handling in verifier\n\nCorrectly return null for the method when a hard failure is\nencountered. Also improve logging for order failures. Add a\nregression test.\n\nBug: 20224106\n\n(cherry picked from commit 3b74e275838729c5023cd80116f1b3b81306ee19)\n\nChange-Id: I6e08202617147378b204af169308b67fc69f92c6\n"
    },
    {
      "commit": "c2ec62874804f341439455fb00a128010139d0fc",
      "tree": "9d569f627cb43e0953deff92a5dead507c7d2204",
      "parents": [
        "1f94058f901ab5cd1a9870d45ff29b9d5d0a8802",
        "415fd0833fe44b99ed57353f4bd7572681506daa"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Jun 01 10:31:09 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 01 10:31:09 2015 +0000"
      },
      "message": "Merge \"Fix JDWP tests after ArtMethod change\""
    },
    {
      "commit": "415fd0833fe44b99ed57353f4bd7572681506daa",
      "tree": "5c798549945457a86faf181495337722335ae4b0",
      "parents": [
        "a96bea54b7e3def5490d169f2bf92be2e68dd001"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Jun 01 11:42:27 2015 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Jun 01 12:27:32 2015 +0200"
      },
      "message": "Fix JDWP tests after ArtMethod change\n\nFixes Throwable::GetStackDepth for exception event detection after\ninternal stack trace representation change.\n\nAdds missing ArtMethod::GetInterfaceMethodIfProxy call in case of\nproxy method.\n\nBug: 19264997\nChange-Id: I363e293796848c3ec491c963813f62d868da44d2\n"
    },
    {
      "commit": "6e1372f19bce533d2b7b1df22570f072cb53ea90",
      "tree": "b91bb1cd3bb190b83165cb82a9f996f4e20b163f",
      "parents": [
        "a96bea54b7e3def5490d169f2bf92be2e68dd001"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 01 11:02:59 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 01 11:02:59 2015 +0100"
      },
      "message": "ART: Fix casts for 64-bit pointers on 32-bit compiler.\n\nBug: 19264997\nChange-Id: Ief45cdd4bae5a43fc8bfdfa7cf744e2c57529457\n"
    },
    {
      "commit": "e3b034a6f6f0d80d519ab08bdd18be4de2a4a2db",
      "tree": "660cc713e0ad2d71ccd1e0af1399c92665b626c7",
      "parents": [
        "119a8025bbc1c6f4a2d537e9a6d22f33ef31e552"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun May 31 14:29:23 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun May 31 17:36:10 2015 -0700"
      },
      "message": "Fix some ArtMethod related bugs\n\nAdded root visiting for runtime methods, not currently required\nsince the GcRoots in these methods are null.\n\nAdded missing GetInterfaceMethodIfProxy in GetMethodLine, fixes\n--trace run-tests 005, 044.\n\nFixed optimizing compiler bug where we used a normal stack location\ninstead of double on ARM64, this fixes the debuggable tests.\n\nTODO: Fix JDWP tests.\n\nBug: 19264997\n\nChange-Id: I7c55f69c61d1b45351fd0dc7185ffe5efad82bd3\n"
    },
    {
      "commit": "e401d146407d61eeb99f8d6176b2ac13c4df1e33",
      "tree": "17927f9bfe7d2041b5942c89832d55f9dedb24c5",
      "parents": [
        "2006b7b9b8e32722bd0d640c62549d8a0ac624b6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 22 13:56:20 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 29 18:45:49 2015 -0700"
      },
      "message": "Move mirror::ArtMethod to native\n\nOptimizing + quick tests are passing, devices boot.\n\nTODO: Test and fix bugs in mips64.\n\nSaves 16 bytes per most ArtMethod, 7.5MB reduction in system PSS.\nSome of the savings are from removal of virtual methods and direct\nmethods object arrays.\n\nBug: 19264997\nChange-Id: I622469a0cfa0e7082a2119f3d6a9491eb61e3f3d\n"
    },
    {
      "commit": "400ce0087ed0a41f385b55d555afc4616166965a",
      "tree": "338d673ee59a3c850333465c9ca4c617acc42af4",
      "parents": [
        "0366344363c66138e5cfbac6de12cdbb3ac5c76e"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri May 29 10:53:17 2015 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri May 29 15:37:36 2015 -0700"
      },
      "message": "Add unstarted runtime test for String.\u003cinit\u003e.\n\nBug: 21173514\n\n(cherry picked from commit 73a937740841154eb32a0aa15f938f1c06f26091)\n\nChange-Id: If7bd360c396e2594f34efe3a6237f77c7129112b\n"
    },
    {
      "commit": "75939a2ba24ca4da3f33f89928cca1540c5ddfc6",
      "tree": "a2450c793db5786d82c1f70730921e21dc0e47e1",
      "parents": [
        "6cce3c9d4219f1d45de9dd2af86f860c42af0a78",
        "d5e5a0e61b5b1fe0aaa7edc25a08adebd5a92353"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 29 16:44:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 29 16:44:08 2015 +0000"
      },
      "message": "Merge \"Fix double-exception in super-class method validation.\""
    },
    {
      "commit": "f2650d1f957b158496de8016bc43fb575e81d6bc",
      "tree": "37bf1dff25dbd38f6cfdbaace07a50eb92f8c43d",
      "parents": [
        "0028b9d3b7d73ba0a045d50a0fe2797e51a4e6b6"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 28 14:53:28 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri May 29 16:39:18 2015 +0100"
      },
      "message": "Show stack maps and Dex register maps in oatdump\u0027s assembly code.\n\nStack maps and Dex register maps are not longer displayed\nin CodeInfo sections, unless `--dump:code_info_stack_maps\u0027\nis passed to oatdump.\n\nChange-Id: Id82adb406d7e56cda27df8e5a8bd328a88b9ee11\n"
    },
    {
      "commit": "0028b9d3b7d73ba0a045d50a0fe2797e51a4e6b6",
      "tree": "445ae99d0916ebf8bead19e3970a4361769e4d67",
      "parents": [
        "66a7d7a4612b0dfb8a409fbf05bbefd07122fd80",
        "03c2cc89428914adf52229d6a3867eef6127911a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 29 15:26:21 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 29 15:26:21 2015 +0000"
      },
      "message": "Merge \"ART: Add support for special handlers in sigchainlib\""
    },
    {
      "commit": "d23eeef3492b53102eb8093524cf37e2b4c296db",
      "tree": "57d3e9ab2853d5b8092568bb3d29bc850c113315",
      "parents": [
        "a15c78d3cc28f514a482ffd792a767e97fe53c95"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 18 22:31:29 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 29 14:15:04 2015 +0100"
      },
      "message": "Support for inlining methods that call/throw.\n\nMostly fixes here and there to make it working.\n\nChange-Id: I1b535e895105d78b65634636d675b818551f783e\n"
    },
    {
      "commit": "d5e5a0e61b5b1fe0aaa7edc25a08adebd5a92353",
      "tree": "6b017f4caba557bc1720ff8ab4b7699969902d20",
      "parents": [
        "b4e2fbbed28c3bcdb8fd0fee5a201ba78e1edf28"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 08 12:26:59 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 29 11:11:40 2015 +0100"
      },
      "message": "Fix double-exception in super-class method validation.\n\nBug: 19333589\nChange-Id: I2399c4058d488bbdbf6709c63e367f1b7c251b1d\n"
    },
    {
      "commit": "336013702f77a0abdc56a90ef75d88264f6247b6",
      "tree": "e6609d47f24b48d117e3292e73a7d87566bcdbd8",
      "parents": [
        "78011df89ac172d25f337132386c2a284b34dfdd",
        "a4e0e67611f54180694e0807d6599c1132269b6c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 29 00:47:42 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 29 00:47:42 2015 +0000"
      },
      "message": "Merge \"ART: Add Mips o32 callee-save registers to SaveAll frame\""
    },
    {
      "commit": "24c24d43f53224bf41a41eb214c5256dda93668d",
      "tree": "fc7cc7cdb1dc9ad5003c5c0ac3a65e8511d19795",
      "parents": [
        "023e6f6d67d6ab520e194d142f3adaafb6e3a11d",
        "83c81955bfbfe8fbe6daf215ca73e436747e3e60"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu May 28 22:47:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 28 22:47:58 2015 +0000"
      },
      "message": "Merge \"Fix updating of JNI references for String.\u003cinit\u003e.\""
    },
    {
      "commit": "03c2cc89428914adf52229d6a3867eef6127911a",
      "tree": "26cfbf0947d3e9d7f9faf85cf440d37daa8c09ee",
      "parents": [
        "c06841dac1443e99e92596f15caa82c99bfee010"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 22 18:31:50 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 28 11:49:47 2015 -0700"
      },
      "message": "ART: Add support for special handlers in sigchainlib\n\nAdd support for a special managed handler in sigchainlib that\nwill be called as the first user handler.\n\nUse this support for native bridge v2. Extend test 115-native-bridge\nto test the functionality.\n\nBug: 20217701\nChange-Id: I78cc01fbdabe169154ff6b94c9f3ddb95b5c7448\n"
    },
    {
      "commit": "8363c772581bf00ebcdc2e38391b4bfae51beb75",
      "tree": "c66a6da00fac8432293a6328eebee78995b53406",
      "parents": [
        "b4e2fbbed28c3bcdb8fd0fee5a201ba78e1edf28"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu May 28 16:12:43 2015 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu May 28 17:50:28 2015 +0100"
      },
      "message": "Add --generate-debug-info flag and remove the other two flags.\n\nReplace the flags --include-debug-symbols and --include-cfi\nwith single flag called --generate-debug-info (with alias -g).\n\nThe name \"symbol\" was not ideal, since depending on context it\nmay be interpreted as \"ELF symbols\", or \"debugging information\".\n\nThis CL also means that we have only the options to include\neither all debugging information or none.  This should be fine,\nsince we can use standard tools to strip anything we do not want.\n\nChange-Id: I721fded56d755d7eed0ef36aa84e841a1f5747f8\n"
    },
    {
      "commit": "a4e0e67611f54180694e0807d6599c1132269b6c",
      "tree": "558d183391a3d2ebff1e3ab6666bead42105cc26",
      "parents": [
        "b4e2fbbed28c3bcdb8fd0fee5a201ba78e1edf28"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 27 18:31:42 2015 -0700"
      },
      "committer": {
        "name": "Nikola Veljkovic",
        "email": "Nikola.Veljkovic@imgtec.com",
        "time": "Thu May 28 16:20:15 2015 +0200"
      },
      "message": "ART: Add Mips o32 callee-save registers to SaveAll frame\n\nThe floating point registers f20-f31 are callee-save in the Mips\nABI. While the managed code does not touch them, they need to be\nsaved when throwing an exception, so that they will be correctly\nrestored and not smashed.\n\nBug: 21266656\nChange-Id: Ia96d52ce7fb41bf604da1797ce4d7a703e292415\n"
    },
    {
      "commit": "31db3432157caac55584a59827c69b303ba09d13",
      "tree": "e3386ac519070582ef468021e6d94c0f1b96d359",
      "parents": [
        "2b2288f2abbcdcd1201b322008fa30495d724d51",
        "52f5f93873ec244320e05b033243c5c7a3ae40e2"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu May 28 09:56:32 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 28 09:56:32 2015 +0000"
      },
      "message": "Merge \"Fix single-step in native thread\""
    },
    {
      "commit": "52f5f93873ec244320e05b033243c5c7a3ae40e2",
      "tree": "bbd55d9daa0ef2584d958dee376561426f335463",
      "parents": [
        "03b5a398a96ea29c39ddfe3d810245b868d2871f"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu May 28 11:00:57 2015 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu May 28 11:35:01 2015 +0200"
      },
      "message": "Fix single-step in native thread\n\nIf we attempt to single-step in a thread that is not running Java\ncode, there is no current method on the stack. So we need to check\nfor null before trying to decode debug info.\n\nBug: 21320157\nChange-Id: Idef9954d14e1eb7185f25d2a6e238135ac52d35f\n"
    },
    {
      "commit": "83c81955bfbfe8fbe6daf215ca73e436747e3e60",
      "tree": "c4edffdab08d61120c7d6590fa46f9f054a50365",
      "parents": [
        "b71c5878e6607fdc6a6f8624f4e9507d25116a53"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed May 27 19:29:29 2015 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed May 27 19:46:50 2015 -0700"
      },
      "message": "Fix updating of JNI references for String.\u003cinit\u003e.\n\nWas missing updates to globals and weak globals.\n\nBug: 21288130\nBug: 21440428\n\n(cherry picked from commit 1a302fb4f84525289c1cf7a437f5be1999a75251)\n\nChange-Id: I41b64e8aae906f5986de483db096d8191e45f260\n"
    },
    {
      "commit": "d99aae117984dc655abbd408d1caa7cc09e4e6c8",
      "tree": "38eb09f3a30b5e1a2504408393f0139abecfef3c",
      "parents": [
        "33d75bc75c72db7e5b1ea4ad0be287b1dfd72e69",
        "15efde2badd80b8b124f8e1444165e4afbac17f0"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed May 27 22:44:25 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 27 22:44:26 2015 +0000"
      },
      "message": "Merge \"Reset libc targetSdkVersion\""
    },
    {
      "commit": "33d75bc75c72db7e5b1ea4ad0be287b1dfd72e69",
      "tree": "f2bdf02aba34e7d59c760df1b54bb3c789ee6648",
      "parents": [
        "65efe9192390187674108b9c895ba225628bb07b",
        "3b45ef277e4a5f7e0314d5df7ef82e480156ba75"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 27 22:41:30 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 27 22:41:31 2015 +0000"
      },
      "message": "Merge \"ART: Fix VerifyObject runtime verification\""
    },
    {
      "commit": "65efe9192390187674108b9c895ba225628bb07b",
      "tree": "f3146446f0131cbd64da2320dfc8b62988b3273f",
      "parents": [
        "13df71cea8c774d28e834497288f67cb2bbb16b0",
        "f8980875ef8fb0ce86be4ed2c0af7070f5ae9cfd"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed May 27 21:39:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 27 21:39:30 2015 +0000"
      },
      "message": "Merge \"Split .oat_patches to multiple sections.\""
    },
    {
      "commit": "15efde2badd80b8b124f8e1444165e4afbac17f0",
      "tree": "043819e50737fc6c3ba619b0e708e7864c7a801a",
      "parents": [
        "dc31313c4577bb4c00d90774159c84e738ed348d"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri May 22 18:03:34 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed May 27 14:10:16 2015 -0700"
      },
      "message": "Reset libc targetSdkVersion\n\n This will let libc/linker know which sdk version\n is targeted by the app. This is needed to work around\n incorrect DT_NEEDED entries in old apps.\n\nBug: http://b/21364029\nChange-Id: I2f2907104106aac6c8831381ca171dc0302e6a9d\n"
    },
    {
      "commit": "3b45ef277e4a5f7e0314d5df7ef82e480156ba75",
      "tree": "1df28568b9e7e4e50102b7f834fab6e943c444a5",
      "parents": [
        "c06841dac1443e99e92596f15caa82c99bfee010"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 26 21:34:09 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 27 08:24:03 2015 -0700"
      },
      "message": "ART: Fix VerifyObject runtime verification\n\nUpdate some bit-rotted code to work again. Most tests now work, for\nsome the verification overhead results in a timeout.\n\nChange-Id: Ieab4f2de474a05e915e24abc93da3c2eeed996eb\n"
    },
    {
      "commit": "0396ed7d3ad30778cb4af19e7086bea0deace9b9",
      "tree": "cab609c648e04f63bcd52dfa9510d4a88a761997",
      "parents": [
        "6c70104dc3ecd66b46f56cae068a14e12021c9f2"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed May 27 15:12:19 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed May 27 15:24:30 2015 +0100"
      },
      "message": "Improve art::CodeInfo dumping.\n\n- Refactor existing dumping code into a set of new routines.\n- Use art::Indenter to properly indent in the output.\n- Add an additional argument to art::CodeInfo::Dump to\n  enable or disable the dumping of stack maps and Dex\n  register maps.\n\nChange-Id: I52814095ff465522302d5d69d416726369ca5258\n"
    },
    {
      "commit": "5b09ea0af468d9232cf725ac7f7e73c145892c5c",
      "tree": "9ae48c564dcf44681052ed05427a906f33aaf670",
      "parents": [
        "00f09ff93480d5f43aaf657650a59d57330184aa"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 27 14:07:08 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 27 14:11:25 2015 +0100"
      },
      "message": "ART: Use kBadFprBase on mips64 and arm64.\n\nFix incorrect usage of kBadGprBase to avoid misleading and\nambiguous data in crash investigations.\n\nBug: 21266656\nChange-Id: I1de6cd621d770be586f8140e86833769865b42c6\n"
    },
    {
      "commit": "00f09ff93480d5f43aaf657650a59d57330184aa",
      "tree": "952fd14c94e588caab7af9dd25f296dd68914c99",
      "parents": [
        "ec1170a4bf9d1c0baa00640d2cbc1e6870bc7f68",
        "8ea18d0f066f63fa4e5d154f14327468bf288e2b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 27 11:08:51 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 27 11:08:51 2015 +0000"
      },
      "message": "Merge \"Pass the dex method index directly to interface trampoline.\""
    },
    {
      "commit": "8ea18d0f066f63fa4e5d154f14327468bf288e2b",
      "tree": "a575e8d0f826ab8b3aaae949c22cc6c73ca040fb",
      "parents": [
        "092a5656937a319449346e8c356f3f4c2870d81c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 26 16:29:08 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 27 12:07:34 2015 +0100"
      },
      "message": "Pass the dex method index directly to interface trampoline.\n\nThis avoids computing the dex pc and re-finding the method\nindex again. I have kept the code for kDebugBuild.\n\nChange-Id: Icd60e0deade755e32b54021c0875b1af592b8c3e\n"
    },
    {
      "commit": "f8980875ef8fb0ce86be4ed2c0af7070f5ae9cfd",
      "tree": "9750cf170ec12bbd0638c5e373a35fe832999173",
      "parents": [
        "eabafcefca8ead8309dccc1c5510e6e0845e471d"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri May 22 17:04:47 2015 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed May 27 01:44:02 2015 +0100"
      },
      "message": "Split .oat_patches to multiple sections.\n\n.oat_patches section currently contains encoded patch locations for\nseveral other sections. Split it to several sections - one for each\nof the destination sections. For example, .text.oat_patches section\ncontains patch locations for the .text section.\n\nThis ensures that if we strip some the sections using standard\ntools, we strip the corresponding .oat_patches section as well.\n\nIt also makes the overall design simpler.\nI should have done it this way in the first place.\n\nSince ApplyOatPatches has been simplified and uses unaligned memory\naccess, this also fixes bug 21403573.\n\nBug:20556771\nBug:21403573\nChange-Id: Iae7c423911507b524eec500e8d61744046fcd3ba\n"
    },
    {
      "commit": "eabafcefca8ead8309dccc1c5510e6e0845e471d",
      "tree": "f673a2369ebb5a19a0bf20d4f0fc79724406b39d",
      "parents": [
        "2dde2a17bfeca795d2ab17795952770487d848b0",
        "72133adde48a7d48afc6becb505a26431cc28e74"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Tue May 26 21:49:25 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 26 21:49:26 2015 +0000"
      },
      "message": "Merge \"Fix alloc-dealloc-mismatch (new[] vs delete) in tests.\""
    },
    {
      "commit": "72133adde48a7d48afc6becb505a26431cc28e74",
      "tree": "76465dcb8b4e456a788186fdd6ee3627e8ce40e8",
      "parents": [
        "847d902cc274d0c317fd94b5b5a058cba94828c6"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Tue May 26 14:44:23 2015 -0700"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Tue May 26 14:44:23 2015 -0700"
      },
      "message": "Fix alloc-dealloc-mismatch (new[] vs delete) in tests.\n\nChange-Id: I680eaf819f7d7d3a4149c833b6739cba4b7e21be\n"
    },
    {
      "commit": "0eb42511405f3919572a480a009426dfb776cfb5",
      "tree": "9921d6a6f34a3d34da7b3a713ddfd8e466061e62",
      "parents": [
        "5c592b598742569be4819bdc0e32242a4e1a7693"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 26 20:42:30 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 26 20:42:30 2015 +0100"
      },
      "message": "Fix mac build: cast fpr callee save addresses.\n\nBring back reinterpret_cast\u003c\u003es removed by\n    https://android-review.googlesource.com/151309 .\nThey are needed for mac builds.\n\nBug : 13925192\n\nChange-Id: I7728c39a867a278000c84d75440b31e818c3bfcf\n"
    },
    {
      "commit": "ce39200492e2715a94d96fbd39fa42b46115c255",
      "tree": "a295d2f9265092513d728122cd201943288a8820",
      "parents": [
        "dc31313c4577bb4c00d90774159c84e738ed348d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 26 19:57:30 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 26 20:12:19 2015 +0100"
      },
      "message": "Fix mac build: include \u003csys/time.h\u003e in time_utils.cc .\n\nRequired for gettimeofday(). Not needed in utils.cc .\n\nBug: 13925192\nChange-Id: If06840d8a47c9193ccc7bd4cee5c16fcf76d9729\n"
    },
    {
      "commit": "dc31313c4577bb4c00d90774159c84e738ed348d",
      "tree": "5f850028ebc8843cdcaf56c5fc122bd660937603",
      "parents": [
        "03b5a398a96ea29c39ddfe3d810245b868d2871f",
        "80afd02024d20e60b197d3adfbb43cc303cf29e0"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 26 17:42:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 26 17:42:31 2015 +0000"
      },
      "message": "Merge \"ART: Clean up arm64 kNumberOfXRegisters usage.\""
    },
    {
      "commit": "03b5a398a96ea29c39ddfe3d810245b868d2871f",
      "tree": "15634c13a9e0c2db0cca6562b2565f3f4de7f406",
      "parents": [
        "1b742fccf9ca68b783fdbd559a3fcbdafab48852",
        "679b1cf291f364dcc3a142f53a07b0ad15c01e9a"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue May 26 17:02:43 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 26 17:02:44 2015 +0000"
      },
      "message": "Merge \"Fix for potential moving GC bugs around proxy class.\""
    },
    {
      "commit": "1b742fccf9ca68b783fdbd559a3fcbdafab48852",
      "tree": "552fd010c0e08132c7ef9d1686569be73398a257",
      "parents": [
        "c06841dac1443e99e92596f15caa82c99bfee010",
        "ae0d7decd82420566b515d91f0d996c4ebd17c97"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue May 26 17:01:24 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 26 17:01:41 2015 +0000"
      },
      "message": "Merge \"Log the process memory maps on host SIGSEGV.\""
    },
    {
      "commit": "679b1cf291f364dcc3a142f53a07b0ad15c01e9a",
      "tree": "09df9c6c9a7dd5a7c62e6d42c281db7e68594b38",
      "parents": [
        "ca27be7a95e1b238c76a4a5fccaad2a3416766c2"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu May 21 12:05:27 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue May 26 10:00:49 2015 -0700"
      },
      "message": "Fix for potential moving GC bugs around proxy class.\n\n- Handlerize proxy_class which is live across multiple allocation\n  points in ClassLinker::CreateProxyClass().\n\n- In ClassLinker::CreateProxyClass(), insert a proxy class into the\n  class table before creating ArtFields for it (and update it later in\n  LinkClass()) because the field roots (ArtField::declaring_class_)\n  won\u0027t be updated by GC unless the class is in the class table. If GC\n  happens before they are updated by FixupTemporaryDeclaringClass()\n  from LinkClass(), FixupTemporaryDeclaringClass() may not update the\n  field roots correctly because the old class may already be moved but\n  the fields roots may not. Reduce a window of time where the fields\n  roots could be stale.\n\n- In ClassLinker::LinkClass(), directly wrap a new class in a handle\n  to avoid a window of time where new_class may be potentially stale.\n\n- Print more diagnostic info about the holder of the field upon a mark\n  sweep invalid ref crash.\n\n- Add an additional sanity check in Field::GetArtField().\n\n(cherry pick commit 08d1b5f2296c0f51507b8b443f4e39dfc161572c)\n\nBug: 20557050\n\nChange-Id: I9ad32d304922da96b7e1fad262d97de21cbac776\n"
    },
    {
      "commit": "80afd02024d20e60b197d3adfbb43cc303cf29e0",
      "tree": "ef054c7b4f2a739f7cf063e0bc4c501c2c7e41b5",
      "parents": [
        "559b178e34c5d92e7932f92e5d8a981ac334606f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 19 18:08:00 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 26 15:59:02 2015 +0100"
      },
      "message": "ART: Clean up arm64 kNumberOfXRegisters usage.\n\nAvoid undefined behavior for arm64 stemming from 1u \u003c\u003c 32 in\nloops with upper bound kNumberOfXRegisters.\n\nCreate iterators for enumerating bits in an integer either\nfrom high to low or from low to high and use them for\n\u003carch\u003eContext::FillCalleeSaves() on all architectures.\n\nRefactor runtime/utils.{h,cc} by moving all bit-fiddling\nfunctions to runtime/base/bit_utils.{h,cc} (together with\nthe new bit iterators) and all time-related functions to\nruntime/base/time_utils.{h,cc}. Improve test coverage and\nfix some corner cases for the bit-fiddling functions.\n\nBug: 13925192\nChange-Id: I704884dab15b41ecf7a1c47d397ab1c3fc7ee0f7\n"
    },
    {
      "commit": "c06841dac1443e99e92596f15caa82c99bfee010",
      "tree": "78c3c02a612e1f018ca1e67ecd42eb7bad8b7ab9",
      "parents": [
        "41f27292e10792165bfdf67b9a35ccaea1a6872e",
        "f39c9eb7f85de1c4ddd50ab9ca0e095e62ce2518"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue May 26 14:43:33 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 26 14:43:33 2015 +0000"
      },
      "message": "Merge \"Fix a few literals and assertions.\""
    },
    {
      "commit": "6530baf76ef7a62f2d76a6735ad461d7d59cf0e4",
      "tree": "663de5d35062e3e6d6c953a2b2da967b8464fb2c",
      "parents": [
        "ce63cf656bb5b25051d580a58086f4bf15fb878b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 26 15:22:58 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 26 15:22:58 2015 +0100"
      },
      "message": "Move the catalog after the stack maps.\n\nFetching a stack map should be cheap, and therefore we should\nnot compute the size of the catalog.\n\nChange-Id: Iff6accb7832bdfa6d209a0928d6088b8b57c1aa4\n"
    },
    {
      "commit": "f39c9eb7f85de1c4ddd50ab9ca0e095e62ce2518",
      "tree": "4b6c188072c70f25ada005974e1605cb71c845d2",
      "parents": [
        "ce63cf656bb5b25051d580a58086f4bf15fb878b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue May 26 15:02:07 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue May 26 15:02:07 2015 +0100"
      },
      "message": "Fix a few literals and assertions.\n\nChange-Id: I0a1e9db607ec7325e17568b034ba90e68d2298f9\n"
    },
    {
      "commit": "092a5656937a319449346e8c356f3f4c2870d81c",
      "tree": "4937b3818d393b05e7461a0dc98c0b483402f475",
      "parents": [
        "8a8d8252f52bec14a8fe2b6f88e1f184c63cf351",
        "de48aa6708a3d5dacf7db3d64965e23261fb15d3"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue May 26 13:00:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 26 13:00:34 2015 +0000"
      },
      "message": "Merge \"JDWP: fix breakpoint on catch statement\""
    },
    {
      "commit": "de48aa6708a3d5dacf7db3d64965e23261fb15d3",
      "tree": "f26124e483ab84d2009c735897c3a4beaf37cb39",
      "parents": [
        "dc80984a9e24d6e46fab9461f01d7a27e656cf90"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue May 26 11:53:39 2015 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue May 26 12:32:56 2015 +0200"
      },
      "message": "JDWP: fix breakpoint on catch statement\n\nSetting a breakpoint on a catch statement in the source actually\ninstalls the breakpoint on a DEX move-exception instruction. At this\npoint, an exception is pending in the current thread.\n\nThe issue is no exception must be pending in the current thread to\nreport the breakpoint event. This is required to be able to call JNI\nfunctions to create JDWP ids.\n\nThis CL fixes it by clearing the pending exception before reporting\nevent and restore it after reporting the event.\n\nBug: 21382373\nChange-Id: Id3c60cca398135a3e0859a1ccb645b9c99d5ca76\n"
    },
    {
      "commit": "ae0d7decd82420566b515d91f0d996c4ebd17c97",
      "tree": "d5b4323fdc78a736964f1f7c2cbc4863f49b4278",
      "parents": [
        "ca27be7a95e1b238c76a4a5fccaad2a3416766c2"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri May 22 18:15:10 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri May 22 18:15:10 2015 -0700"
      },
      "message": "Log the process memory maps on host SIGSEGV.\n\nBug: 19894268\nChange-Id: Ib35f858de2519e24422a2ed19c68cfbdfd4173b3\n"
    },
    {
      "commit": "ca27be7a95e1b238c76a4a5fccaad2a3416766c2",
      "tree": "1988f3a92900004b9b31fb938e5167b48b122735",
      "parents": [
        "e7654e5ab8668d14aab0d4bf1b3631ef150b36dd",
        "9bd88b0933a372e6a7b64b850868e6a7998567e2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 22 23:07:36 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 22 23:07:36 2015 +0000"
      },
      "message": "Merge \"ARM64: Move xSELF from x18 to x19.\""
    },
    {
      "commit": "e12997fbce8e22431be58cac9db2535f7b4a7ac3",
      "tree": "ae167aa833e1ef249d121b179c95827fa4e7ec6c",
      "parents": [
        "aa49c23d47e5fdfcf51380550ee864e9d30d082b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 22 14:01:33 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 22 14:01:33 2015 +0100"
      },
      "message": "Return an invalid StackMap when one cannot be found.\n\nThis avoids aborting when handling a crash.\n\nChange-Id: Ie5b5d48061fa9258b349b0284f7b00c5855d9fbd\n"
    },
    {
      "commit": "9bd88b0933a372e6a7b64b850868e6a7998567e2",
      "tree": "bcd275674c1234842b757ea8e100c4030f9ac6fe",
      "parents": [
        "01cb410f4ad23135671d821ba36c269f8c82affa"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@linaro.org",
        "time": "Wed Apr 22 16:24:46 2015 +0100"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Fri May 22 12:01:07 2015 +0100"
      },
      "message": "ARM64: Move xSELF from x18 to x19.\n\nThis patch moves xSELF to callee saved x19 and removes support for\nETR (external thread register), previously used across native calls.\n\nChange-Id: Icee07fbb9292425947f7de33d10a0ddf98c7899b\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@linaro.org\u003e\n"
    }
  ],
  "next": "0e08b767f1bd0b892e3ac5724d517caae70f5c04"
}
