)]}'
{
  "log": [
    {
      "commit": "f46e9d76c1fb99f0bb3a9a68f5b421d29ab25f7a",
      "tree": "1414c3a6ec56163e464c268382408003c20246e7",
      "parents": [
        "fdc9af0ed76aa1a6efa05b122c9bcfdbb7e1e991",
        "e34c71ce21dbc9fac3427df887e90e1311b6fa8e"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jun 24 17:04:28 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 24 17:04:29 2015 +0000"
      },
      "message": "Merge \"Increase alt signal stack to 32K on host.\""
    },
    {
      "commit": "e34c71ce21dbc9fac3427df887e90e1311b6fa8e",
      "tree": "567e525f1b38049e39a93a734d136cd34f0ac2bd",
      "parents": [
        "f16474d08ed51a3ccfaa70360aefdf12ebc79da1"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jun 24 09:37:39 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jun 24 09:42:27 2015 -0700"
      },
      "message": "Increase alt signal stack to 32K on host.\n\nOn host, when there is a crash, the code tries to do an unwind\nfrom the signal handler. Under some conditions this can require\na stack larger than 16K, so increase this value to 32K.\n\nThe symptom of this is that you get an empty backtrace running\nart tests when there is a crash.\n\nBug: 21949571\nChange-Id: I8306da55e35212a0f349e43a7f2ad546e8da8c76\n"
    },
    {
      "commit": "4824c27988c8eeb302791624bb3ce1d557b0db6c",
      "tree": "c14f74d9cc4c93cab04bee5c723e420a87db9cb3",
      "parents": [
        "22c4edd865bfdea29e80a789cef70e8e51d2a3a5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 24 15:53:03 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 24 17:01:08 2015 +0100"
      },
      "message": "Use a flag from the verifier to know if we should compile.\n\nOnly used for the lack of bottom type in the aget-object case\nfor now. Could be used for more.\n\nbug:21865466\n\nChange-Id: I64c2c84dfa1c0d259631e65e5f44b94e4139e6a7\n"
    },
    {
      "commit": "a12f729e7165780e73857e6248af0df00ad6ce2b",
      "tree": "7f3874eafcb7852a74b2c26ac38b6d191b7faf36",
      "parents": [
        "582195dfcee32586b71b0ed00a973cfc7d7b8b57",
        "9638b64f167d2447d118664c1e1276501e4a1ecc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 24 09:03:56 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 24 09:03:58 2015 +0000"
      },
      "message": "Merge \"Remove bogus DCHECK.\""
    },
    {
      "commit": "9638b64f167d2447d118664c1e1276501e4a1ecc",
      "tree": "2e6e562d6632b36cc279985900983ca420629ebc",
      "parents": [
        "d4a02cfc59a449d216faa687cfdaa4252b4a433f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 23 18:16:46 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 24 10:02:22 2015 +0100"
      },
      "message": "Remove bogus DCHECK.\n\nSpotted by running libcore tests with libartd.so. The FindClass\ncall will throw the exception if the element type is void.\n\nChange-Id: Ic5df7eb6c9934b8e70f7bfdcfe533e5c1ad5c518\n"
    },
    {
      "commit": "442cfa4cf08d4da6b95c48529bc79873fe6ff332",
      "tree": "7f2c89a0e35c8ffcfd8d0ef0a86906da4d74477c",
      "parents": [
        "6f327bfb6c9c45578794ff8ae3790189968af751",
        "07d7eab545916ef0602afddae162f5b6b1a68b7d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 23 23:10:45 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 23 23:10:46 2015 +0000"
      },
      "message": "Merge \"Fix field ordering for String in hprof\""
    },
    {
      "commit": "6f327bfb6c9c45578794ff8ae3790189968af751",
      "tree": "9fb904367407e16a4ec03d90a08d8f4e38c5d1c0",
      "parents": [
        "b1452c2fb01bfb663dbac94010c73b97e0c094e8",
        "f23f33de8b3e9abd16720e0f48d43d63d41dee16"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 23 23:03:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 23 23:03:08 2015 +0000"
      },
      "message": "Merge \"ART: Follow-up to 507cc6f83bf6379728f2dd20391f2ed5fbfe6371\""
    },
    {
      "commit": "f23f33de8b3e9abd16720e0f48d43d63d41dee16",
      "tree": "837e9d42fba572427596a6be4dbbb0745bdb47a3",
      "parents": [
        "ec3a4e7cdc4f268b40d923227c125429f4ee4884"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 23 14:18:17 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 23 16:02:16 2015 -0700"
      },
      "message": "ART: Follow-up to 507cc6f83bf6379728f2dd20391f2ed5fbfe6371\n\nDo not trigger DCHECK aborts for final and abstract classes when\nthey are used from other classes. Instead issue a soft error that\nleads to a runtime failure.\n\nBug: 21873151\nChange-Id: Ie5251a176722811b3c74585222874313a53f7e02\n"
    },
    {
      "commit": "07d7eab545916ef0602afddae162f5b6b1a68b7d",
      "tree": "cc8db5933a30c5b3a7b08f420874e40cbd26b060",
      "parents": [
        "b1452c2fb01bfb663dbac94010c73b97e0c094e8"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 23 15:45:15 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 23 15:55:50 2015 -0700"
      },
      "message": "Fix field ordering for String in hprof\n\nWe were inserting value field after the Object field instead of\nthe String fields.\n\n(cherry picked from commit c94c6a751ef1ee31cbc3b924835290bcdef731a0)\n\nBug: 22043800\nChange-Id: Ibaddbd7299562949e32eceb625feac325539e3ce\n"
    },
    {
      "commit": "ec96923620cb6f8a8f8205d89ea30f147e76e7fa",
      "tree": "ebe93bed818cf44c3dc9db20b710301605dcc8ee",
      "parents": [
        "bb3dabaf804e0d0bd2bf34e69091b2f86fd4e78b"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Jun 22 20:20:30 2015 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Jun 23 15:06:29 2015 -0700"
      },
      "message": "Make dex file verifier check that indexes are increasing.\n\nNote that this still allows duplicates.\n\nBug: 21868011\n\n(cherry-picked from commit dd32833e24241508aa697d5349edf6aba9922434)\n\nChange-Id: Ifcb2cda465d9451c16b122185a260ca8cebc41c5\n"
    },
    {
      "commit": "107b61bbccc5b6554084877853699e2f5ea86db3",
      "tree": "bf5338d99009c112ac8a8604112e208d090b970a",
      "parents": [
        "d4a02cfc59a449d216faa687cfdaa4252b4a433f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jun 23 15:39:01 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jun 23 15:41:27 2015 +0100"
      },
      "message": "ART: Improve Indenter performance.\n\nThis reduces the time taken by oatdump_test by ~15s (16%)\non host and ~30s (5%) on N5. The Indenter.overflow() was\npreviously the hottest function according to perf.\n\nChange-Id: I96eb69ce3f5420cd09dba23b29f8025cedc3d80a\n"
    },
    {
      "commit": "d4a02cfc59a449d216faa687cfdaa4252b4a433f",
      "tree": "dc0f23e71354403028b30f1592637e2d66db6210",
      "parents": [
        "0022bdf71533a300deebe6b9cf287eaceeb0620c",
        "33d6903e570daf8f3cf7c1f6ebd9a6dd22c7c23c"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jun 23 13:53:54 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 23 13:53:55 2015 +0000"
      },
      "message": "Merge \"Replace some run-time assertions with compile-time ones in ART.\""
    },
    {
      "commit": "508755a3d4d3d67aa834c033c79073c0a08a8fbd",
      "tree": "afa4cd5bfcb6e65f67456083cca01ba801a82834",
      "parents": [
        "87dc1b09cee6e972fbe3ad48ba8b5ae68d37085f",
        "555b3d0fc62ecccb590dc8a07736ca4eda8722e7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 23 11:32:10 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 23 11:32:11 2015 +0000"
      },
      "message": "Merge \"Use GetOffsetDuringLinking instead of GetOffset.\""
    },
    {
      "commit": "555b3d0fc62ecccb590dc8a07736ca4eda8722e7",
      "tree": "893d24707ee1b686c381240229274d8ae2ffeff7",
      "parents": [
        "b5061a821d96cb1af7ba24d21a4d2d59f7f16c7c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 23 12:11:24 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 23 12:11:24 2015 +0100"
      },
      "message": "Use GetOffsetDuringLinking instead of GetOffset.\n\nGetOffset assumes the class has been resolved, but LinkFields\nis called before the class is marked as such.\n\nChange-Id: I6f9fc21cd220881806f00461a82a14e459e26a8b\n"
    },
    {
      "commit": "87dc1b09cee6e972fbe3ad48ba8b5ae68d37085f",
      "tree": "e266a61a68204d6f60a214267719e18b797f2ec2",
      "parents": [
        "b5061a821d96cb1af7ba24d21a4d2d59f7f16c7c",
        "41f9cc28f2c9edd3903ba6ca1c75b022445552ad"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jun 23 11:00:19 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 23 11:00:19 2015 +0000"
      },
      "message": "Merge \"ART: Compiler generated GC map should take care of temp registers.\""
    },
    {
      "commit": "da0e224d79262b11fbac9e7b1fdc11c4df31b77f",
      "tree": "1394e3cf8839eae01fb0d5ed3573bf6399f0220a",
      "parents": [
        "3355963cee00fe97cc7aaeaab2c6e31c5657ff6a",
        "1ed11b9ad5512cf464cb1686640df53201fa5297"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 23 03:27:44 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 23 03:27:45 2015 +0000"
      },
      "message": "Merge \"Restore DDMS recent allocation tracking\u0027s behavior\""
    },
    {
      "commit": "d4d83b84e14fdb3cba808fc5f94390c72b3d286a",
      "tree": "87c004fed700da781bb8f08a5cbaeab99de35dc0",
      "parents": [
        "336b0b1baaf2b3eccb26ccf1b7d502c90c3f33fd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 19 20:24:45 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 22 20:25:27 2015 -0700"
      },
      "message": "Fix another miranda method moving GC bug\n\nNeed to copy miranda methods over before we allocate the new vtable\nor else we may have stale miranda gc roots.\n\n(cherry picked from commit 6e80460bdf0aa9bd273d4a4d665d679c651b5f4f)\n\nBug: 21664466\nChange-Id: Ib3e415bb9e7df7abfa18c98fe01f790fa39622dc\n"
    },
    {
      "commit": "1ed11b9ad5512cf464cb1686640df53201fa5297",
      "tree": "7466c110f74fb736a8f00e60a24ac841d1c0213a",
      "parents": [
        "5aa39bb7f93cf2e8f73d06980b588519825c0ebe"
      ],
      "author": {
        "name": "Man Cao",
        "email": "manc@google.com",
        "time": "Thu Jun 11 22:47:35 2015 -0700"
      },
      "committer": {
        "name": "Man Cao",
        "email": "manc@google.com",
        "time": "Mon Jun 22 16:52:08 2015 -0700"
      },
      "message": "Restore DDMS recent allocation tracking\u0027s behavior\n\nMake the allocation tracker mark recently allocated objects as roots,\nso the allocation records are not swept. Because DDMS needs recent\nallocation tracking records even for dead objects. This should fix\nthe flaky failures for 098-ddmc test, but it cannot pass GC stress\ntest (OOM). Re-enabled 098-ddmc for other tests.\n\nThere should be an option to not mark them as roots, when user only\nneeds HPROF dump with traces but not DDMS\u0027s recent allocation tracking.\nProbably need to add a new JNI API function for this option.\n\nThere could be another way to keep a second list of recent allocation\nrecords and maintain a type cache for them, so not to make the objects\nroots. But it\u0027s more complex, and not sure which is better.\n\nAlso reduce memory usage for AllocRecordStackTrace objects, and change\ndefault stack depth to 16. Rename the property that controls the stack\ndepth to \"debug.allocTracker.maxStackDepth\" so developer can change it.\n\nBug:20037135\nChange-Id: Ic6b9ae87bdcda558be6f14ded8057e763439881c\n"
    },
    {
      "commit": "336b0b1baaf2b3eccb26ccf1b7d502c90c3f33fd",
      "tree": "c7f5bd6059d2b5cd96207fb36ce0027d0867f10a",
      "parents": [
        "ac854d27aeafb3dca04dfc5c716d0436f1d5ffc1",
        "3552d96086c75523a76f399a13dd85d65eaa2d19"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jun 22 23:36:14 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 22 23:36:15 2015 +0000"
      },
      "message": "Merge \"base: Fix an infinite loop in HashSet::Insert\""
    },
    {
      "commit": "3552d96086c75523a76f399a13dd85d65eaa2d19",
      "tree": "6c3223813af09bdf81de7b7291b0a47153928052",
      "parents": [
        "ec3a4e7cdc4f268b40d923227c125429f4ee4884"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jun 22 15:57:38 2015 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jun 22 16:26:58 2015 -0700"
      },
      "message": "base: Fix an infinite loop in HashSet::Insert\n\nAlso adds a test for HashSet::ShrinkToMaximumLoad\n\n(This bug was only reachable when using ShrinkToMaximumLoad, which is not\ncalled from anywhere other than the new test)\n\nChange-Id: I5276b4b3f4ecf6090bb545ddd1752758b11609dd\n"
    },
    {
      "commit": "ac854d27aeafb3dca04dfc5c716d0436f1d5ffc1",
      "tree": "cdef2415dc736a6bdf2543139ca96f65e192101f",
      "parents": [
        "5aa39bb7f93cf2e8f73d06980b588519825c0ebe",
        "310008008c90fea246efd00cb99ee7ded97c5209"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 22 22:58:54 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 22 22:58:55 2015 +0000"
      },
      "message": "Merge \"New experimental GC stress mode\""
    },
    {
      "commit": "310008008c90fea246efd00cb99ee7ded97c5209",
      "tree": "93ef04470ec9c883e003b0a8043b370b8f05718f",
      "parents": [
        "f7012291ed9c984e2b50d83d7a2d5758cd64c99a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Jun 14 14:14:37 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 22 15:45:13 2015 -0700"
      },
      "message": "New experimental GC stress mode\n\nTries to do a GC for every unique call stack (up to 16 frames).\nThe goal is to catch moving GC bugs and lock violations without being\nrediculously slow. Some tests fail on 64 bits, 32 bit host doesn\u0027t\nwork. N5 is booting.\n\nAdded runtime -Xgc options: gcstress and nogcstress.\n\nBug: 21664466\n\nChange-Id: Icb8e420f2048e8ee83bcca7937563166a2638f5c\n"
    },
    {
      "commit": "13e0091d212e631945017a4c7b6669f30de344a4",
      "tree": "254a71f43158b8e22763c666f874533756d20541",
      "parents": [
        "d423552afd00bac3cdb523b9f8681f3f58163564"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Jun 22 15:14:49 2015 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Jun 22 15:32:03 2015 -0700"
      },
      "message": "Change GC to allow strings to use large object space.\n\nBug: 21209641\n\n(cherry-picked from commit 37fd5275c665b483f2d990634a500c4e79aae87f)\n\nChange-Id: I043f59eeb601a95c7d01b10a844c2237167ee862\n"
    },
    {
      "commit": "b7c8c1a6cc84173d2d6826ea3a228708730570d1",
      "tree": "f3e696c9f4491c5bcc7858cbc971889b1f692d36",
      "parents": [
        "ec3a4e7cdc4f268b40d923227c125429f4ee4884"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Jun 22 14:29:54 2015 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Jun 22 14:57:29 2015 -0700"
      },
      "message": "Make large string use large object space.\n\nBug: 21209641\n\n(cherry-picked from commit 38fafa18f0fcf610f6314a0fc4165e04e6e5d017)\n\nChange-Id: If6d708307ba1ecdde6bf856d31dceac9ee782fb7\n"
    },
    {
      "commit": "ec3a4e7cdc4f268b40d923227c125429f4ee4884",
      "tree": "d9bc031c772d062c2168c4fd7e8f5d8c4a64093c",
      "parents": [
        "11dc78c8d36b4a65f4d955bc4303cc8279f1151e",
        "2ee54e249ad21c74f29a161e248bebe7d22fddf1"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jun 22 21:15:01 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 22 21:15:02 2015 +0000"
      },
      "message": "Merge \"runtime: Partially implement box-lambda and unbox-lambda experimental opcodes\""
    },
    {
      "commit": "11dc78c8d36b4a65f4d955bc4303cc8279f1151e",
      "tree": "69f2d1a0119a62788dfdbec590269b0a83774dc8",
      "parents": [
        "f7012291ed9c984e2b50d83d7a2d5758cd64c99a",
        "68df32091cc79468c81956633e279523b48ea8bf"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 22 21:14:43 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 22 21:14:45 2015 +0000"
      },
      "message": "Merge \"ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes\""
    },
    {
      "commit": "2ee54e249ad21c74f29a161e248bebe7d22fddf1",
      "tree": "125465dd7a6d23f83ecbf2d3454f21471868422c",
      "parents": [
        "158f35c98e2ec0d40d2c032b8cdce5fb60944a7f"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jun 18 10:05:11 2015 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jun 22 14:13:30 2015 -0700"
      },
      "message": "runtime: Partially implement box-lambda and unbox-lambda experimental opcodes\n\nThese opcodes are not yet fully specified, and *will* change before they become shippable.\nDo not write production code against experimental opcodes.\n\n--\n\nImplement partial interpreter support for new dex instructions box/unbox-lambda.\n* box-lambda will take a closure and convert it into an Object\n* unbox-lambda will take an Object and convert it to a closure\n\n(Currently does not implement object identity or variable capture).\n\nAll new opcodes are disabled by default, use runtime option -Xexperimental-lambdas to enable them.\n\nChange-Id: I3c15ccf8a26ccecd1d35808a8c1b4149220f6019\n"
    },
    {
      "commit": "f7012291ed9c984e2b50d83d7a2d5758cd64c99a",
      "tree": "96e689c729366cb1786c6e6a389566f50eff4b0a",
      "parents": [
        "ae393c3b24cfdad97aaded8c0ff1ee7262b46ffe",
        "46ec520fc2d08e4bb602472406be8fd1ef7ca73c"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Jun 22 19:40:00 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 22 19:40:00 2015 +0000"
      },
      "message": "Merge \"Run an empty checkpoint before marking ends in the CC collector.\""
    },
    {
      "commit": "68df32091cc79468c81956633e279523b48ea8bf",
      "tree": "ac0868ff03740dc14800ebf02db202b9cbcc5101",
      "parents": [
        "59cb52189d350fa9fb38b767fa9b25d971375833"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 22 11:35:46 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 22 11:35:46 2015 -0700"
      },
      "message": "ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes\n\nWe must check that all fields are non-final, even for unresolved\nclasses. Fall back to the dex file for this information.\n\nBug: 22005084\nBug: https://code.google.com/p/android/issues/detail?id\u003d177694\nChange-Id: If2126d1be5dccadbbedcdccabde7398688d6e5ca\n"
    },
    {
      "commit": "1bb907e47dc351ec530279a34e7af29f4c9574c8",
      "tree": "cba871f6ec359c16b818965e8edbb3961d6aabe2",
      "parents": [
        "59cb52189d350fa9fb38b767fa9b25d971375833"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 22 10:04:39 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 22 10:04:39 2015 -0700"
      },
      "message": "ART: Avoid recursive abort in barrier\n\nTry to avoid recursive abort in barrier. May lead to a segfault\ninstead of a nested abort in bad cases.\n\nChange-Id: I0e7976b77c243956dbcf81142bd5df81d5927ce0\n"
    },
    {
      "commit": "f91fb4a6a565809dd077ee128d11f30b67e6f2ff",
      "tree": "ee798864563d74a1664df0584b1b3203432a7d48",
      "parents": [
        "2d655f1ce89a714094a4f55ac75edcf9a34c7e24",
        "507cc6f83bf6379728f2dd20391f2ed5fbfe6371"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 22 14:50:42 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 22 14:50:43 2015 +0000"
      },
      "message": "Merge \"ART: Disallow classes that are abstract and final\""
    },
    {
      "commit": "f561aab4decda4ae559955f18eb04a3f48d8c706",
      "tree": "5aa15fe13e24b467abccf3028878b4ad737e7912",
      "parents": [
        "ae370391057b88607b0e451fdea020b257684b91"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Jun 19 15:23:46 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Jun 22 11:28:07 2015 +0000"
      },
      "message": "fault_handler : debug output sp in hex and not decimal.\n\nEasier to compare against hex values in tombstones and debuggerd\ndumps.\n\nChange-Id: I4a4512ea1ce5872fdb6b41e824fa3475dfcfb71d\n"
    },
    {
      "commit": "507cc6f83bf6379728f2dd20391f2ed5fbfe6371",
      "tree": "62aaeddc8dcf1fb652b92472d1327c31b4f84942",
      "parents": [
        "1e73a95d74848020fab512a95a7f9a7ada72497b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 19 22:58:47 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 19 22:58:47 2015 -0700"
      },
      "message": "ART: Disallow classes that are abstract and final\n\nMake the verifier fail such classes.\n\nBug: 21873151\nChange-Id: I217f3d71f44bccdcee7ca830e092c807928bed39\n"
    },
    {
      "commit": "a60bd74737fcd1b3737bc523741efa1097bbd782",
      "tree": "35069a0c16e84be12d599e6062fef8858ddecc89",
      "parents": [
        "ba7837b2308aeaaa613383297737488af558aed7",
        "ef0b1a1dbc99fe7c92f9598cbfc164763c1b66d7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Jun 20 04:03:20 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jun 20 04:03:21 2015 +0000"
      },
      "message": "Merge \"ART: Check for expected args for instance methods\""
    },
    {
      "commit": "ef0b1a1dbc99fe7c92f9598cbfc164763c1b66d7",
      "tree": "a644d45fae2717442d15927b196786ff175c56d8",
      "parents": [
        "0420f81a5c6c08bc62060b8ff5dda8949f9a9ce9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 19 20:37:46 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 19 20:46:23 2015 -0700"
      },
      "message": "ART: Check for expected args for instance methods\n\nDon\u0027t assume that the receiver is expected. This was writing out\nof bounds (or triggering a DCHECK).\n\nBug: 21817284\nBug: 21872240\nBug: https://code.google.com/p/android/issues/detail?id\u003d176571\nBug: https://code.google.com/p/android/issues/detail?id\u003d176572\nChange-Id: I7cad2c1dfc39feb0b1b4660deeb43afdcb844ba3\n"
    },
    {
      "commit": "ba7837b2308aeaaa613383297737488af558aed7",
      "tree": "4e4b199a55ffa3b287e7dd3175f8b46ebd412f3d",
      "parents": [
        "d1a06338b9aa818b730ef1d46549a09af8f35c5b",
        "29498a23bcfe47a7134552aacad5524ecb484a49"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Jun 20 00:43:39 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jun 20 00:43:39 2015 +0000"
      },
      "message": "Merge \"ART: Check var-arg count earlier in method verifier\""
    },
    {
      "commit": "46ec520fc2d08e4bb602472406be8fd1ef7ca73c",
      "tree": "b50482cc1bd09ed03aa6fd2a5c212520c098c7cc",
      "parents": [
        "d5ff8c584b230da350f4ebfffec1d245c09bf26b"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Jun 19 17:39:45 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Jun 19 17:42:46 2015 -0700"
      },
      "message": "Run an empty checkpoint before marking ends in the CC collector.\n\nTo avoid a race condition between the end of marking and a mutator\nstill in the middle of a read barrier.\n\nBug: 12687968\nBug: 21564728\nChange-Id: I4962d895b4df89d2bcde97cbabdb98a14a19dd6b\n"
    },
    {
      "commit": "29498a23bcfe47a7134552aacad5524ecb484a49",
      "tree": "0f677bef57ab626caf3877e19df4e090920e2241",
      "parents": [
        "0420f81a5c6c08bc62060b8ff5dda8949f9a9ce9"
      ],
      "author": {
        "name": "Taiju Tsuiki",
        "email": "tzik@google.com",
        "time": "Mon Apr 13 14:21:00 2015 +0900"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 19 17:41:23 2015 -0700"
      },
      "message": "ART: Check var-arg count earlier in method verifier\n\nCheck the count in vararg instructions before filling the temp\narray. Avoids a DCHECK.\n\nBug: 21869663\nBug: 20170976\n\nChange-Id: I1ff93502ab84c5967ad54d1b50dba517da791637\n"
    },
    {
      "commit": "e43875749fbc674fbad23ba11af64f25ab2add0d",
      "tree": "8cd2ff04d87f76d87fa9c21c43fab04c9abe9c51",
      "parents": [
        "be59b85251f085359d40bb89b1aa7e037c8ac0ef",
        "66389fbeb41c981648bb2e1e7e2f43089f095591"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 11:02:16 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 19 11:02:17 2015 +0000"
      },
      "message": "Merge \"Verifier: check an aput, even if we know it will fail.\""
    },
    {
      "commit": "66389fbeb41c981648bb2e1e7e2f43089f095591",
      "tree": "f6de19a8521f2e33d5c75771867bcf569e6d2ef4",
      "parents": [
        "822c00d0fe3b70d1f1fe5bac03713674d45f8173"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 10:35:42 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 19 10:37:59 2015 +0100"
      },
      "message": "Verifier: check an aput, even if we know it will fail.\n\nbug:21867457\nChange-Id: I01e333d858995d0e1e083a50cf8d460a86381f2c\n"
    },
    {
      "commit": "f12ffdb549f1947125e3f56694cb479a619f02bf",
      "tree": "f7d34a8fcc4521269490c04a4586213a0e85bd8e",
      "parents": [
        "542ca97d3e4266896407b9abd29b36b1c59d798c",
        "52ea33b10370d60d4ce877aec529626537b7813b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 19 00:00:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 19 00:00:07 2015 +0000"
      },
      "message": "Merge \"Fix moving GC bug in DoFilledNewArray\""
    },
    {
      "commit": "52ea33b10370d60d4ce877aec529626537b7813b",
      "tree": "29f82ff0237589ead820356fd01eb43d9473fb4d",
      "parents": [
        "5592c688070fa327f56036c4c67c790289db63d9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 18 16:48:52 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 18 16:49:05 2015 -0700"
      },
      "message": "Fix moving GC bug in DoFilledNewArray\n\nPreviously we read from componentClass after allocating the array.\n\nBug: 21783443\n\nChange-Id: I5283982edab479434e27416509e1436b4176fe01\n"
    },
    {
      "commit": "46d8702167d679dbf87ba9fa8fd0f1b6bbb3ed62",
      "tree": "6ebe7d6e313475d7b969b29f5a4754af6f1bd90c",
      "parents": [
        "247e97746016b49183b52f4c386bedf7cd53e590",
        "9346ff0cfad6344d0bf4eaa69362dbe1987ac054"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 18 20:01:24 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 18 20:01:24 2015 +0000"
      },
      "message": "Merge \"Fix moving GC bugs in proxy stub for X86/X86_64\""
    },
    {
      "commit": "247e97746016b49183b52f4c386bedf7cd53e590",
      "tree": "758c0a7c60c2099fb6a8cf2d4ea68ffc8c9459ac",
      "parents": [
        "2b696ab55e817b583d7b3b3ffd39e48c38db6989",
        "158f35c98e2ec0d40d2c032b8cdce5fb60944a7f"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jun 18 19:56:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 18 19:56:58 2015 +0000"
      },
      "message": "Merge \"interpreter: Add experimental lambda opcodes for invoke/create-lambda\""
    },
    {
      "commit": "9346ff0cfad6344d0bf4eaa69362dbe1987ac054",
      "tree": "b54b7a4ea4025173f89640a753d09384bb7f914a",
      "parents": [
        "f16474d08ed51a3ccfaa70360aefdf12ebc79da1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 18 10:17:26 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 18 11:51:25 2015 -0700"
      },
      "message": "Fix moving GC bugs in proxy stub for X86/X86_64\n\nNeeded to restore the refs.\n\nBug: 21907554\nChange-Id: I562906dff07dcaa78dfb39646ba9ab35a5f56c6c\n"
    },
    {
      "commit": "158f35c98e2ec0d40d2c032b8cdce5fb60944a7f",
      "tree": "63bb3bbed85b0add42c7fdc714cd611424d8af2e",
      "parents": [
        "c449e8b79aaaf156ce055524c41474cc1200ed5a"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jun 10 15:55:30 2015 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jun 18 10:22:27 2015 -0700"
      },
      "message": "interpreter: Add experimental lambda opcodes for invoke/create-lambda\n\nThese opcodes are not yet fully specified, and *will* change before they become shippable.\nDo not write production code against experimental opcodes.\n\n--\n\nImplement partial interpreter support for new dex instructions invoke/create-lambda, and a\nnew opcode format 25x.\n\n* Does not verify, in fact verification will soft fail when we see those opcodes.\n* Compilers will punt to interpreter since they don\u0027t support new opcodes.\n* As there is no way to capture/liberate variables yet, the \"closure\" is just\n  an ArtMethod for the time being.\n\nAll new opcodes are disabled by default, use runtime option -Xexperimental-lambdas to enable them.\n\nFor example:\n  dalvikvm ... -Xexperimental-lambdas ...\n  dex2oat --runtime-arg -Xexperimental-lambdas ...\n\nChange-Id: I6c996ca32a9b54ec45ec21d7a959b84dfb8a24eb\n"
    },
    {
      "commit": "33d6903e570daf8f3cf7c1f6ebd9a6dd22c7c23c",
      "tree": "8069008292fe085d051300f1a871392dc413f820",
      "parents": [
        "822c00d0fe3b70d1f1fe5bac03713674d45f8173"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jun 18 18:20:59 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jun 18 18:20:59 2015 +0100"
      },
      "message": "Replace some run-time assertions with compile-time ones in ART.\n\nChange-Id: I16c3fad45c4b98b94b7c83d071374096e81d407a\n"
    },
    {
      "commit": "46ff9b6100e66306233534e26c16d3c6738070a9",
      "tree": "d873cf286172ae95c87bc760cb9bdaae62a7b73c",
      "parents": [
        "d4de42f6fd0f00c5b3ca01fed6a26d11e617c3b9",
        "07785bb98dc8bbe192970e0f4c2cafd338a8dc68"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 18 14:19:22 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 18 14:19:23 2015 +0000"
      },
      "message": "Merge \"ART: Fix reporting initialized classes by CompilerDriver.\""
    },
    {
      "commit": "07785bb98dc8bbe192970e0f4c2cafd338a8dc68",
      "tree": "d12a20d7790fffc8648d7da6a7944595516c1d89",
      "parents": [
        "6ebf70ec61eff097e1bdddb1b887316389e34dde"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 15 18:52:54 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 18 12:44:51 2015 +0100"
      },
      "message": "ART: Fix reporting initialized classes by CompilerDriver.\n\nFix a bug where the CompilerDriver was erroneously reporting\nclasses as initialized during AOT compilation when they were\nnot guaranteed to be initialized at runtime.\n\nThis fix prevents the Quick compiler from inlining calls to\nstatic methods in classes that are not guaranteed to be\ninitialized, so that the runtime performs the initialization\nrequired for correctness.\n\nBug: 21847756\nChange-Id: I6fee5ef9c05c2e5190ab8a9fe61365d5119011c5\n"
    },
    {
      "commit": "05b7226787f1470ad93f6f632fed60f70bc8631e",
      "tree": "0f73cb94559ad3eeec6b6bb863377f4cb7366af1",
      "parents": [
        "5592c688070fa327f56036c4c67c790289db63d9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 17 16:11:12 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 17 16:55:40 2015 -0700"
      },
      "message": "Fix some java_lang_Class related moving GC bugs\n\nThere was some missing handles around mirror::Class*.\n\nBug: 21898408\nChange-Id: Icb754074dfb469473101d20d6873a5bc3274abc5\n"
    },
    {
      "commit": "5592c688070fa327f56036c4c67c790289db63d9",
      "tree": "7dd43aa4603984616517474ca89e27e2ec18378f",
      "parents": [
        "0420f81a5c6c08bc62060b8ff5dda8949f9a9ce9",
        "4d122c180c3ff8c677cbaae83e856acf0d856498"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 17 22:42:46 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 17 22:42:47 2015 +0000"
      },
      "message": "Merge \"Add missing EndAssertNoThreadSuspension\""
    },
    {
      "commit": "0420f81a5c6c08bc62060b8ff5dda8949f9a9ce9",
      "tree": "2a258a5c9c0f2a5cb719d04eed161a0b432a91bf",
      "parents": [
        "b66fda7c7e2e3c24e2a146c3f9d904b1828346a1",
        "82e73dcc290ae8603c8a2e533d6a8a19cc2983a3"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jun 17 21:59:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 17 21:59:59 2015 +0000"
      },
      "message": "Merge \"Release dummy MemMaps corresponding to dlopen.\""
    },
    {
      "commit": "82e73dcc290ae8603c8a2e533d6a8a19cc2983a3",
      "tree": "6677966c718dc1067eea0c9e8108fe590c03669e",
      "parents": [
        "b3e3000a59a3b0d765840bd1a939213a2b400763"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jun 17 18:36:23 2015 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jun 17 22:52:48 2015 +0100"
      },
      "message": "Release dummy MemMaps corresponding to dlopen.\n\nThis fixes memory leak.\n\nChange-Id: I857f078e8559a56b2d10dd081256c41ab28c8ec6\n"
    },
    {
      "commit": "4d122c180c3ff8c677cbaae83e856acf0d856498",
      "tree": "2551515ef0f48620ac5dca714a8cf63d78eb276c",
      "parents": [
        "b66fda7c7e2e3c24e2a146c3f9d904b1828346a1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 17 14:14:36 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 17 14:30:59 2015 -0700"
      },
      "message": "Add missing EndAssertNoThreadSuspension\n\n(cherry picked from commit a3b9d4eda1ef0845f307891f349eaf752750ac16)\n\nBug: 21872507\nChange-Id: I20f9920e4a12511ce498c252bca955d82a4f4102\n"
    },
    {
      "commit": "2ef645ba50544b879a82ea30e606f18c9af98917",
      "tree": "25d18676c87c9738624793f2983bc0e87faecf6e",
      "parents": [
        "43d154bed3ad0bba766211af1f2637500d30a93f"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jun 17 18:20:52 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jun 17 18:25:03 2015 +0100"
      },
      "message": "ART: Allow PackedSwitch instructions with zero targets\n\nOptimizing and the interpreter wrongly assumed that a PackedSwitch\nalways has at least one target. This patch removes the corresponding\nDCHECKs and adds a regression test case.\n\nThis is a resubmission of CL I32b7033ed38de6f1d1a6ee5d5bf12f3a47c9b37e\n\nBug: 21863783\nChange-Id: I04e6e124bdd16591ba27c79490e6ce183c36b691\n"
    },
    {
      "commit": "41f9cc28f2c9edd3903ba6ca1c75b022445552ad",
      "tree": "92e485e7bbf4e43ef4e40fd2824610074888a8ce",
      "parents": [
        "c4977a58b1feca22a83fd5239aa266c7ce16ab87"
      ],
      "author": {
        "name": "Pavel Vyssotski",
        "email": "pavel.n.vyssotski@intel.com",
        "time": "Tue Jun 16 17:57:37 2015 +0600"
      },
      "committer": {
        "name": "Pavel Vyssotski",
        "email": "pavel.n.vyssotski@intel.com",
        "time": "Wed Jun 17 16:28:57 2015 +0600"
      },
      "message": "ART: Compiler generated GC map should take care of temp registers.\n\nIf the compiler use a temp register as a reference it should be\nadded to generated GC map along with other SSA regs.\n\nChange-Id: I3c79896dcd72228c9cf2bbbe737642d9ffb7684d\nSigned-off-by: Pavel Vyssotski \u003cpavel.n.vyssotski@intel.com\u003e\n"
    },
    {
      "commit": "445e35028bc5cb6d921dc60e579b7b40ceb16c71",
      "tree": "7878cb9d6ee9aa9c07f8a6272a666ced151cbc86",
      "parents": [
        "a28905535905ed2b86de6f621991b8775beb493e",
        "12bdb72221f344ba0d86f338cc0feb49799c37f0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 17 09:19:09 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 17 09:19:13 2015 +0000"
      },
      "message": "Merge \"More stack map dumping.\""
    },
    {
      "commit": "12bdb72221f344ba0d86f338cc0feb49799c37f0",
      "tree": "2e67328d604f9904f779a66c8389bca7aa435347",
      "parents": [
        "088bd0d28acb70302d20f6e19a9db7f0536c09ee"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 17 09:44:43 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 17 10:01:29 2015 +0100"
      },
      "message": "More stack map dumping.\n\nChange-Id: I1f734c0c9eabda1cc6adaf32579e4c3be4a45c9a\n"
    },
    {
      "commit": "c37769b63faf7b120a6ed80f5cfb92667f5090c4",
      "tree": "6b5d743c3f2a41db3c97383271ba6c9d7ec28986",
      "parents": [
        "088bd0d28acb70302d20f6e19a9db7f0536c09ee"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Jun 17 09:49:40 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Jun 17 09:54:19 2015 +0100"
      },
      "message": "Fix lint error.\n\nBlank line at the start of a code block.\n\nChange-Id: Ifc0d78acc8b2eecbdc1a340009757f9218ce2c5c\n"
    },
    {
      "commit": "f775bab533cd385c00ee30b56bdcb6f962fc5239",
      "tree": "ec75c8e59ccb6c8ef0224ecec943d44bf7eca4e7",
      "parents": [
        "ed44919da8f7ab96117fd9d30b3fbfcd88f1433c"
      ],
      "author": {
        "name": "Oleksiy Vyalov",
        "email": "ovyalov@google.com",
        "time": "Sun Jun 14 15:17:26 2015 -0700"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Jun 17 09:16:09 2015 +0100"
      },
      "message": "Set default visibility on art_sigsegv_fault.\n\nlibart.so is built with flag -fvisibility\u003dprotected\nwhich complicates setting breakpoints on art_sigsegv_fault.\nAccording to the GCC manual \"Protected visibility indicates\nthat the symbol will be placed in the dynamic symbol table,\nbut that references within the defining module will bind\nto the local symbol.\". This implies that a breakpoint on\na protected symbol will not be hit.\n\nWithout this change gdbclient with ART debugging enabled\ndoesn\u0027t break at art_sigsegv_fault as expected.\n\nChange-Id: Ib73344e710966eddf55a6facb29558504a511f00\n"
    },
    {
      "commit": "aa03870a9d3fe29fe89bd313c51a9cfb69edc775",
      "tree": "87548fbeba425f553a7cce7b6fa58d318b47e05b",
      "parents": [
        "89c63739e280ab94399d263624558e1d99fb5af7"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jun 17 02:11:07 2015 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jun 17 02:54:17 2015 +0100"
      },
      "message": "Find the dlopened file using address rather than file path.\n\nThis should fix the build bot.  It was failing because the\npath which we pass to dlopen is not the path that gets mmaped.\n\nBug: 21854739\nChange-Id: I0c28c74b62743f74f9ff3ae89e6f1beb0c1113ae\n"
    },
    {
      "commit": "89c63739e280ab94399d263624558e1d99fb5af7",
      "tree": "0043b50a85da25d438b99b5b139093c79c7193f5",
      "parents": [
        "86b35f97ce1848608e70eb1f0ea9f73d25b80d09",
        "5dedb808acf84712daf7dee3cf8137d4e34b4b78"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Jun 16 23:20:40 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 16 23:20:40 2015 +0000"
      },
      "message": "Merge \"Add more logging output for dlopen.\""
    },
    {
      "commit": "86b35f97ce1848608e70eb1f0ea9f73d25b80d09",
      "tree": "a3e620c8fe65761db65736fc33a517217cc226ba",
      "parents": [
        "7e7e69a0421e30f5e6ffa498db25dfd0c13d500e",
        "1baabf0726eb285284e0c908ccba9f209b399fae"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Jun 16 23:20:08 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 16 23:20:09 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Use dlopen to load oat files.\"\"\""
    },
    {
      "commit": "5dedb808acf84712daf7dee3cf8137d4e34b4b78",
      "tree": "b0ee9acc9f7d8036240a3e15e2fd30cf0bbbac8f",
      "parents": [
        "1baabf0726eb285284e0c908ccba9f209b399fae"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jun 17 00:08:02 2015 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jun 17 00:11:32 2015 +0100"
      },
      "message": "Add more logging output for dlopen.\n\nInvestigation of build bot failure which I can not reproduce locally.\n\nBug: 21854739\nChange-Id: I4584bb10ad44e4bcf8232c060e40b36ff924ffa2\n"
    },
    {
      "commit": "7e7e69a0421e30f5e6ffa498db25dfd0c13d500e",
      "tree": "cba3c171c6fa25184dc3d5a2979d879e2c40ee63",
      "parents": [
        "977be5f1337e58c48aaa91822773d301117accfc",
        "3f64f25151780fdea3511be62b4fe50775f86541"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Jun 16 19:25:00 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 16 19:25:01 2015 +0000"
      },
      "message": "Merge \"Print more diagnosis info on to-space invariant violation.\""
    },
    {
      "commit": "1baabf0726eb285284e0c908ccba9f209b399fae",
      "tree": "0dc531c157f72a1413079f765e7437280673f93b",
      "parents": [
        "7a46b7e235a7c35191cd9ddbab6ca4db0e535da5"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Jun 16 17:12:34 2015 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Jun 16 17:12:34 2015 +0000"
      },
      "message": "Revert \"Revert \"Use dlopen to load oat files.\"\"\n\nThis reverts commit 7a46b7e235a7c35191cd9ddbab6ca4db0e535da5.\n\nChange-Id: I33439d0e3d7a7e63591a8c7b356e716dcb62bca1\n"
    },
    {
      "commit": "3f64f25151780fdea3511be62b4fe50775f86541",
      "tree": "732f9761dce6ef0d4ab6fad18c92137f38248cc5",
      "parents": [
        "8d73a91d8f4c89ac152d18081b07093f68c56a11"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Jun 12 18:35:06 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Jun 15 17:09:33 2015 -0700"
      },
      "message": "Print more diagnosis info on to-space invariant violation.\n\nPass the method/field (in GcRootSource) to the read barrier to print\nmore info when a to-space invariant violation is detected on a\nmethod/field GC root access.\n\nRefactor ConcurrentCopying::AssertToSpaceInvariant().\n\nBug: 12687968\nBug: 21564728\n\nChange-Id: I3a5fde1f41969349b0fee6cd9217b948d5241a7c\n"
    },
    {
      "commit": "f6c77d7632bdfe564c2ba61690fecc65f10ea9f6",
      "tree": "af87ccb86c7e0622912bf088a464716166ea450a",
      "parents": [
        "6ebf70ec61eff097e1bdddb1b887316389e34dde",
        "7a46b7e235a7c35191cd9ddbab6ca4db0e535da5"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Jun 15 23:44:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 15 23:44:59 2015 +0000"
      },
      "message": "Merge \"Revert \"Use dlopen to load oat files.\"\""
    },
    {
      "commit": "7a46b7e235a7c35191cd9ddbab6ca4db0e535da5",
      "tree": "e69c91d2c7903fb99083b047d2c468da2cc51f80",
      "parents": [
        "49e1fabc85480f01077f3cc10e8ba6ada6e4befa"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Jun 15 23:44:08 2015 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Jun 15 23:44:08 2015 +0000"
      },
      "message": "Revert \"Use dlopen to load oat files.\"\n\nThis reverts commit 49e1fabc85480f01077f3cc10e8ba6ada6e4befa.\n\nChange-Id: If49e8b60c458a992519b7fdabe02e7d53830edab\n"
    },
    {
      "commit": "3976e5e0d3bc05e4a90eb450821cfb82cd18bfa2",
      "tree": "894d678cd6943b4c98d8de232ec552394dc1e4a6",
      "parents": [
        "d11db7dd312a64928fa41a2d7472f49ede0c7346"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 15 08:58:03 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 15 08:58:03 2015 +0100"
      },
      "message": "Fix lint error.\n\nChange-Id: I839d547bd3f7c814e2db2b9b40119fdd13469ee6\n"
    },
    {
      "commit": "d11db7dd312a64928fa41a2d7472f49ede0c7346",
      "tree": "3a89f1eb545bf256b053519581681e8d334d6e4f",
      "parents": [
        "73536e0a4fbdc454229949491bd8e5cce72cd660",
        "32c9ea5c03b1b22f36233ec6c24eca87c77f9157"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 15 07:46:41 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 15 07:46:42 2015 +0000"
      },
      "message": "Merge \"Use the caller\u0027s class loader when walking inlined frames.\""
    },
    {
      "commit": "88da3b0d2f76b1d6b9749315ac0c5b0367e92262",
      "tree": "81850061f30a513e02670b105c4b25053dbb87cc",
      "parents": [
        "dbef9aa7439facbe9efdcb6ad1522857b5b3a398"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 12 20:38:49 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 12 20:38:49 2015 -0700"
      },
      "message": "ART: Fix CFI test wrt/ PIC\n\nPIC boot images can\u0027t be loaded with dlopen, as their base is zero,\nbut we have an expectant address. Turn off in-process unwinding\nin 137-cfi by checking the boot image oat file type.\n\nKeep a non-owned referenced to the oat file in image space to simplify\naccess.\n\nChange-Id: Ia2b525f9b2ecbc80b433f09e04ebece4cb6f2d2b\n"
    },
    {
      "commit": "dbef9aa7439facbe9efdcb6ad1522857b5b3a398",
      "tree": "c02210799c6601484a33903d130938dad2c02761",
      "parents": [
        "28c25d2bdf71ec5e7fecb6db1ee82ef2af386dbe",
        "01d4b5072c064d927260486c891a09fe689289c0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Jun 13 00:53:10 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jun 13 00:53:11 2015 +0000"
      },
      "message": "Merge \"Pass reuse flag to MemMap constructor\""
    },
    {
      "commit": "28c25d2bdf71ec5e7fecb6db1ee82ef2af386dbe",
      "tree": "bf31324a8ed74074ded1feadfc2f1a8b3358cbcf",
      "parents": [
        "4366369f1151cd703073f805036793e2f7255571",
        "906846fc297bd0c2346f62338508ba9ac0c3baa4"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Sat Jun 13 00:43:56 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jun 13 00:44:04 2015 +0000"
      },
      "message": "Merge \"Let classloader provide correct LD_LIBRARY_PATH\""
    },
    {
      "commit": "01d4b5072c064d927260486c891a09fe689289c0",
      "tree": "f494fc108b4b65d5a43809845a3d8de4ada27d7b",
      "parents": [
        "4366369f1151cd703073f805036793e2f7255571"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 12 17:32:31 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 12 17:32:31 2015 -0700"
      },
      "message": "Pass reuse flag to MemMap constructor\n\nBug: 21806978\nChange-Id: Iec92220d8f42e1d702ee39b27a8de570ea1ab588\n"
    },
    {
      "commit": "4366369f1151cd703073f805036793e2f7255571",
      "tree": "37362dfab7e293d22c96a01d1e53fa78f438c8f9",
      "parents": [
        "fff9d01c05df3090569481cf244b5c28c9d0eac2",
        "49e1fabc85480f01077f3cc10e8ba6ada6e4befa"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Jun 12 23:04:49 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 12 23:04:49 2015 +0000"
      },
      "message": "Merge \"Use dlopen to load oat files.\""
    },
    {
      "commit": "49e1fabc85480f01077f3cc10e8ba6ada6e4befa",
      "tree": "0dc531c157f72a1413079f765e7437280673f93b",
      "parents": [
        "79b08e69b71a53beb3f053b304c34ea88bfb9a47"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jun 11 17:38:44 2015 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Jun 12 23:42:19 2015 +0100"
      },
      "message": "Use dlopen to load oat files.\n\nThis is required to support in-process unwinding in libunwind.\nlibunwind obtains the list of loaded libraries from the linker,\ntherefore we need to use dlopen, otherwise it will not find them.\n\nChange-Id: I5fd89cce6b909385cb89b8a48c0d817677acf299\n"
    },
    {
      "commit": "05c26b30843dd8283c703356e75d51726e8b8e3a",
      "tree": "84d6b27009e308f1a43c8847fd0aa342bc6d4b29",
      "parents": [
        "42361f2e8b3601813dc40d12e14c679df99a864b"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Jun 11 18:42:58 2015 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Jun 12 19:20:46 2015 +0200"
      },
      "message": "JDWP: update handling of 8-bit and 16-bit fields\n\nWe must use special getter/setter for types smaller than int:\nboolean, byte, char and short. However, JDWP still requires to treat:\n- int and float as 32-bit values\n- long and double as 64-bit values\n\nBug: 21746739\nChange-Id: I8d0ce46246084c9e16f287da28d8969d36b83b99\n"
    },
    {
      "commit": "32c9ea5c03b1b22f36233ec6c24eca87c77f9157",
      "tree": "a10130c6ab7795772c413f543beeece6e31a3d04",
      "parents": [
        "10176757836db987e11fb3723e4cb07bd9ea7e95"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 12 14:52:33 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 12 15:53:50 2015 +0100"
      },
      "message": "Use the caller\u0027s class loader when walking inlined frames.\n\nWe should not use the outer most class loader. JLS specification\nis to use the caller\u0027s class loader.\n\nChange-Id: I736f36c9b6a44fab213ad0c01cf1efc975b9b3a6\n"
    },
    {
      "commit": "42361f2e8b3601813dc40d12e14c679df99a864b",
      "tree": "f5a89acb10d76edc7b7d288e934b60f3c1fc6b9a",
      "parents": [
        "995f6e23418a1b4058167e64bbe50fd9e5dc7f02",
        "cbc5064ff05179b97b416f00ca579c55e38cd7d9"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Jun 12 10:40:56 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 12 10:40:58 2015 +0000"
      },
      "message": "Merge \"JDWP: asynchronous invoke command handling\""
    },
    {
      "commit": "281e5002fe818ce75e6ca7b7f9bdffcd2a43231a",
      "tree": "6648ffb3f15feb5d48e0ca87d8b8d2a9b73e06ad",
      "parents": [
        "8d73a91d8f4c89ac152d18081b07093f68c56a11"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 11 16:21:42 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 11 17:12:32 2015 -0700"
      },
      "message": "Fix compaction bug in Class_getDeclaredMethodsUnchecked\n\nAdded handle to fix the bug.\n\n(cherry picked from commit b89a8c66e360575d2dc1ec1229235735c56968ff)\n\nBug: 21638351\nChange-Id: I1c3abea33aa825d3a28c1fc5cb415508686ad93e\n"
    },
    {
      "commit": "8d73a91d8f4c89ac152d18081b07093f68c56a11",
      "tree": "1e69629e0690d5c098ed4b7e6957d56deb705734",
      "parents": [
        "cff585503ff45a75315b00bdedd4db4bce7b426f",
        "d39645e22b8db1767cf64dc1200a9e4b2f939ed2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 11 22:20:08 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 11 22:20:09 2015 +0000"
      },
      "message": "Merge \"Move image intern table into image\""
    },
    {
      "commit": "d39645e22b8db1767cf64dc1200a9e4b2f939ed2",
      "tree": "fd6488a428600f222c5a411e91ed9f1f3a280b05",
      "parents": [
        "15306dcd03208f062737239753ab1eccfe91403f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 09 17:50:29 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 11 14:56:08 2015 -0700"
      },
      "message": "Move image intern table into image\n\nPreviously we recreated this intern table during runtime startup.\nThis added 50-100ms of boot time.\n\nFixed bug where we didn\u0027t copy over hashcodes into the image.\n\nDeleted some stale code.\n\n(cherry picked from commit fac3a390a247fe33d4873773d742aad4cc100118)\n\nBug: 20727525\nBug: 19569780\nChange-Id: I08959e9aa2a73cedb52f393033e2ffea3a26e76b\n"
    },
    {
      "commit": "cff585503ff45a75315b00bdedd4db4bce7b426f",
      "tree": "4ded79b8c06de13efe3911f13497cf561dcf577a",
      "parents": [
        "15306dcd03208f062737239753ab1eccfe91403f",
        "37670178497df18ae6b2a97a2ea9bf365621f16e"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Jun 11 21:46:50 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 11 21:46:50 2015 +0000"
      },
      "message": "Merge \"Reset GC performance stats at zygote fork.\""
    },
    {
      "commit": "37670178497df18ae6b2a97a2ea9bf365621f16e",
      "tree": "c6d446642f25ec3c065a9d86303fbccb25bb5455",
      "parents": [
        "79b08e69b71a53beb3f053b304c34ea88bfb9a47"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Jun 10 17:20:54 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Jun 11 13:47:23 2015 -0700"
      },
      "message": "Reset GC performance stats at zygote fork.\n\nSo GCs before a zygote fork won\u0027t be attributed to an app.\n\n(cherry pick commit  Ib37bc587e0f039ef8faeabe63dec19de49501863)\n\nBug: 21491908\nChange-Id: Ib37bc587e0f039ef8faeabe63dec19de49501863\n"
    },
    {
      "commit": "15306dcd03208f062737239753ab1eccfe91403f",
      "tree": "b120daea1a3ee8987b7e1cc9ff37272ba62c3281",
      "parents": [
        "79b08e69b71a53beb3f053b304c34ea88bfb9a47",
        "a6d3a7ef8e648e8a65b38ea0bc475fad1d1fc105"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 11 20:23:23 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 11 20:23:23 2015 +0000"
      },
      "message": "Merge \"Add hprof accounting for Class IMT, VTable\""
    },
    {
      "commit": "a6d3a7ef8e648e8a65b38ea0bc475fad1d1fc105",
      "tree": "2727f55063d0544614635b24f5f5bdf9acef3f92",
      "parents": [
        "9fb3e66a08c779f55d22174d079ecd58fd8b8bc3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 03 16:51:09 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 11 12:56:01 2015 -0700"
      },
      "message": "Add hprof accounting for Class IMT, VTable\n\nThese are now included in the classOverhead field which used to be\nthe staticOverhead field.\n\nBug: 20726205\nChange-Id: I648db1bcaa393e3e907b1878f29631ad6b14a6e7\n"
    },
    {
      "commit": "79b08e69b71a53beb3f053b304c34ea88bfb9a47",
      "tree": "e69c91d2c7903fb99083b047d2c468da2cc51f80",
      "parents": [
        "9fb3e66a08c779f55d22174d079ecd58fd8b8bc3",
        "c449e8b79aaaf156ce055524c41474cc1200ed5a"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jun 11 18:46:20 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 11 18:46:22 2015 +0000"
      },
      "message": "Merge \"runtime: Minor cleanup and extra comments around interpreter\""
    },
    {
      "commit": "c449e8b79aaaf156ce055524c41474cc1200ed5a",
      "tree": "8e36a6ce3a1172891760e8dbc12cd73916c7264c",
      "parents": [
        "26b97f87dcd86934f8b75e018c80bb4e8d501b03"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jun 10 15:56:42 2015 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jun 11 11:13:30 2015 -0700"
      },
      "message": "runtime: Minor cleanup and extra comments around interpreter\n\nChange-Id: I24c0b261de8cf737babd9d01bf679482d48c8bc9\n"
    },
    {
      "commit": "906846fc297bd0c2346f62338508ba9ac0c3baa4",
      "tree": "82b6c7660395da446f9daf244808557af8263b73",
      "parents": [
        "9fb3e66a08c779f55d22174d079ecd58fd8b8bc3"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Jun 05 13:01:52 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Jun 11 10:58:39 2015 -0700"
      },
      "message": "Let classloader provide correct LD_LIBRARY_PATH\n\nRely on BaseDexClassLoader to provide correct LD_LIBRARY_PATH\n\nBug: http://b/21647354\nBug: http://b/21667767\nBug: http://b/8076853\nChange-Id: I8c690a2578d5de43be9da964fa5a4c0246aa6eec\n(cherry picked from commit 8117250a0bb57bf2aa6b1ab0c7d4d4a7dd402c08)\n"
    },
    {
      "commit": "f80ebf2f23f5b8124587ed250f9d95bbeb6612c2",
      "tree": "2a0284f9a8f871d366bb8ee913e760b4ca1abe75",
      "parents": [
        "e257ee4397e0ca45ff627486ccaeecbf26245c86"
      ],
      "author": {
        "name": "Man Cao",
        "email": "manc@google.com",
        "time": "Wed Jun 10 20:02:42 2015 -0700"
      },
      "committer": {
        "name": "Man Cao",
        "email": "manc@google.com",
        "time": "Wed Jun 10 20:19:17 2015 -0700"
      },
      "message": "Fix buildbot failure for 098-ddmc test\n\nThe test only failed on buildbot but not on my local machine. It is\npossibly caused by GC reclaiming dead objects and associated allocation\nrecords.\n\nMore importantly, the CL 153435 changes the behavior of recent allocation\ntracking for DDMS, so that it now reports allocation records of not-yet-\ngarbaged-collected objects. They are a superset of live objects, but not\na precise set of the most recent allocations.\n\nBug: 20037135\nChange-Id: I200a6c8baaeb98207845049902d59efa2f4ea11e\n"
    },
    {
      "commit": "925405641e550d015ff5fb32ed5dc8f4fb174649",
      "tree": "434aec07c316cf386fcf0ca974131e2569648519",
      "parents": [
        "2ce3fe3be7745048a1b43edae8a80cd42055e5da",
        "84bc06e30ba12c3ff07e577c52b63b9df162af7e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 11 00:20:44 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 11 00:20:49 2015 +0000"
      },
      "message": "Merge \"[MIPS] Fix method tracing for mips64\""
    },
    {
      "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": "84bc06e30ba12c3ff07e577c52b63b9df162af7e",
      "tree": "9cd8b9b3ad48f5a02600403d835a5ebf0e4b49e6",
      "parents": [
        "7c0efe186dff1dd457fd1f7932021fa7cfdf9d6f"
      ],
      "author": {
        "name": "Lazar Trsic",
        "email": "Lazar.Trsic@imgtec.com",
        "time": "Wed Jun 10 16:05:46 2015 +0200"
      },
      "committer": {
        "name": "Nikola Veljkovic",
        "email": "Nikola.Veljkovic@imgtec.com",
        "time": "Wed Jun 10 16:16:54 2015 +0200"
      },
      "message": "[MIPS] Fix method tracing for mips64\n\nReg $v0 is being clobbered on using\nSETUP_REFS_ONLY_CALLEE_SAVE_FRAME inside instrumentation_exit()\ntrampoline, when falling through from instrumentation_entry().\n\nTo fix, use $t1 for ArtMethod* fetching inside SETUP_ macros.\n\nAlso fix some unrelated comment errors.\n\nChange-Id: I4ab169f75988c4f0d924416a30196f21c1a043a3\n"
    },
    {
      "commit": "cbc5064ff05179b97b416f00ca579c55e38cd7d9",
      "tree": "9ce221e6644ff770b8484ba8cb5581e538b88eef",
      "parents": [
        "864a2d955aa85ab989c86d7f1eeacbe0b11f8b0f"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Jun 01 17:33:12 2015 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Jun 10 09:35:08 2015 +0200"
      },
      "message": "JDWP: asynchronous invoke command handling\n\nThe JDWP thread used to wait for the result of a method invocation\nrunning in an event thread. But doing that prevents the JDWP thread\nfrom processing incoming commands from the debugger if the event\nthread gets suspended by a debug event occurring in another thread.\nIn Android Studio (or another IDE), this leads to the debugger being\nblocked (with the famous message \"Waiting until last debugger command\ncompletes\" of Android Studio / IntelliJ) because it is actually\nwaiting for the reply of its latest command while the JDWP thread\ncannot process it.\n\nThis CL changes the way invoke commands (ClassType.InvokeCommand,\nClassType.NewInstance and ObjectReference.InvokeCommand) are handled\nin the ART runtime.\nThe JDWP thread no longer waits for the event thread to complete the\nmethod invocation. It now simply waits for the next JDWP command to\nprocess. This means it does not send any reply for invoke commands,\nexcept if the information given by the debugger is wrong. In this\ncase, it still sends a reply with the appropriate error code.\nThe event thread is now responsible for sending the reply (containing\nthe result and the exception object of the invoked method) before\ngoing back to the suspended state.\n\nIn other words, we add special handling for invoke commands so they\nare handled asynchronously while other commands remained handled\nsynchronously. In the future, we may want to handle all commands\nasynchronously (using a queue of reply/event for instance) to remove\nthe special handling code this CL is adding.\n\nNow the JDWP thread can process commands while a thread is invoking\na method, it is possible for the debugger to detach (by sending a\nVirtualMachine.Dispose command) before the invocation completes. In\nthat situation, we must not suspend threads again (including the\nevent thread that executed the method) because they would all remain\nsuspended forever.\n\nAlso minor cleanup of the use of JDWP constants and update comments.\n\nBug: 21515842\nBug: 18899981\nChange-Id: I15e00fb068340f3d69dc9225d8d2065246e68c58\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"
    }
  ],
  "next": "bba348ef12b8dad2bdb8ce32bd0202ad7a38a315"
}
