)]}'
{
  "log": [
    {
      "commit": "95b4c65da93500cdbdcaa3e01010771ef3f466f1",
      "tree": "ead842c80ed3f35002c217eda7d308512838da87",
      "parents": [
        "4bf8d11df5dccc1b276cd9c40a98e8a14d79a9c8"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Aug 14 17:18:52 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Aug 15 17:03:47 2014 +0000"
      },
      "message": "Prevent stubs from being installed in java.lang.reflect.Proxy.\u003cinit\u003e.\n\nThis CL is a better fix for proxy tracing and undoes the changes in\nhttps://android-review.googlesource.com/#/c/103025/\n\nBug: 16386215\n\n(cherry picked from commit db8a664e0b68c7c4d36270cd21dce8de1912d7f9)\n\nChange-Id: Ic9e0ea2af7cb2da5d90c56aa009de92dba14cc47\n"
    },
    {
      "commit": "4bf8d11df5dccc1b276cd9c40a98e8a14d79a9c8",
      "tree": "3dea5774b1a1702be5df59f04905fbf1171ce410",
      "parents": [
        "93de4273d72a2558a7b3423547b5074cd76c5796"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Jul 24 16:26:09 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Aug 15 09:43:37 2014 -0700"
      },
      "message": "Fix proxy tracing and enable tests that now work with tracing.\n\nAlso updates proxy_test to generate an image for GetQuickOatCodeFor.\n\nBug: 16386215\n\n(cherry picked from commit f0a3f09c3d54646166a55c05a6b39c7dd504129c)\n\nChange-Id: I138edbad9e1646db8590f2b1b73f2788d9710e68\n"
    },
    {
      "commit": "93de4273d72a2558a7b3423547b5074cd76c5796",
      "tree": "227453bdc534d34c05bdaf6a0e34edf555da5b19",
      "parents": [
        "4f1d05f0531b980b16dbff18161f02160919ec31"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Aug 12 20:55:20 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Aug 15 13:27:42 2014 +0100"
      },
      "message": "[ART] Move to system/core native bridge library\n\nSome cleanups on the way:\n- move NativeBridgeRuntimeCallbacks from a global to a field\n- rename native_bridge_library_string to the more suggestive\nnavtive_bridge_library_path\n- clean up imports\n\nBug: 16884833\n\n(cherry picked from commit I73aab8e212860ba5aee9444d801806d3da326a41)\n\nChange-Id: I67f037ea81d2a4ede4294afd8b84b7640e534a13\n"
    },
    {
      "commit": "4f1d05f0531b980b16dbff18161f02160919ec31",
      "tree": "99e33a195db7b46573ed30a186233e800aa7e681",
      "parents": [
        "b84d7a226399dcc60bc0a421715ffc90ce9213f7",
        "2e981cbaa2e869ec3910ebdc5cce9d4ab9edb758"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Aug 15 09:08:15 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 15 04:38:54 2014 +0000"
      },
      "message": "Merge \"More efficient stack walk in exception throwing.\" into lmp-dev"
    },
    {
      "commit": "b84d7a226399dcc60bc0a421715ffc90ce9213f7",
      "tree": "6f8ae9bdfce836830e01272f98f3297a0f99bc20",
      "parents": [
        "03c9785a8a6d712775cf406c4371d0227c44148f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 14 22:40:19 2014 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 14 15:41:59 2014 -0700"
      },
      "message": "Revert \"Revert \"ART: Fix mac build\"\"\n\nThis reverts commit 350b03bca65f87895275d1ed4bb895d5afeeeff1.\n\nAlso fixes a fault_handler symbol.\n\nChange-Id: I1315527400bffc8ded9f2a7e7fdb1c8a6c104b96\n"
    },
    {
      "commit": "03c9785a8a6d712775cf406c4371d0227c44148f",
      "tree": "5437dbfed1898a9943473bdabc7fd42cf86912b1",
      "parents": [
        "b162bf5af5c2e508c6947471ceffaa98991794f4"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Aug 14 17:02:48 2014 +0000"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Aug 14 14:48:48 2014 -0700"
      },
      "message": "Revert \"Revert \"Reduce stack usage for overflow checks\"\"\n\nFixes stack protection issue.\nFixes mac build issue.\n\nThis reverts commit 83b1940e6482b9d8feba5c492507735686650ea5.\n\nChange-Id: I7ba17252882b23a740bcda2ea94aacf398255406\n"
    },
    {
      "commit": "2e981cbaa2e869ec3910ebdc5cce9d4ab9edb758",
      "tree": "74297c37046974e312b7145bbceecbab4467aef9",
      "parents": [
        "b162bf5af5c2e508c6947471ceffaa98991794f4"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Aug 13 11:12:22 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Aug 14 13:16:08 2014 -0700"
      },
      "message": "More efficient stack walk in exception throwing.\n\nIn the exception handling code, we currently walk down the stack\ntwice, once to get the stack height which we use to compute frame IDs\n(the bottom frame is zero), and once more to find the catch block to\njump to.\n\nFor a deep stack, this could result in very slow exception\nhandling. That is, if have a lot of finally or catch blocks that we\nend up jumping to in a deep stack, we need to do a lot of\ncatch/rethrow chains. Since we\u0027d need to walk down to the bottom each\ntime to compute frames IDs in each catch/rethrow, we\u0027d need to walk\ndown O(N^2) frames at the worst case.\n\nInstead of frames IDs ((the bottom frame is zero), we will use the\nframe depth (the top frame is zero) and no longer need to walk down\nthe stack just to get the stack height. We walk down O(N) frames.\n\nThis was what was happening with\ncode.google.gson.functional.CircularReferenceTest. With this change,\nthe test run time went from ~120s down to ~3s on N5 and it no longer\ncrashes due to the thread suspension timeout.\n\n(cherry pick commit 649278cec7119cdd1bea3d0b710dbb2aa7c650b6)\n\nBug: 16800209\nChange-Id: Ie815df1e3e8fb9d82e40685d4cc2b8838fd8aa07\n"
    },
    {
      "commit": "b162bf5af5c2e508c6947471ceffaa98991794f4",
      "tree": "cdca9330c455213c9d8596f539b772790ccc3163",
      "parents": [
        "1d7785704cafca20629c4bfb87c60d99dd69f72a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 13 18:07:31 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Aug 14 12:04:55 2014 -0700"
      },
      "message": "Use homogeneous space compaction if proper flag is set.\n\nIf the flag ART_USE_HSPACE_COMPACT is set then we use\nhspace compaction.\n\nBug: 16401001\n\nChange-Id: I74e1db764f9ff16c007fa3bd16cb2c9b468ec83c\n"
    },
    {
      "commit": "0b6952cac86de294fb01898694b6a55f0a162a43",
      "tree": "a1722327b85d5587ef079276d77ce0662a6e4c05",
      "parents": [
        "e470a02792ce584fe0ff1b9a7dd6aebe62ca9be5",
        "350b03bca65f87895275d1ed4bb895d5afeeeff1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 14 18:05:50 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 12 23:14:35 2014 +0000"
      },
      "message": "Merge \"Revert \"ART: Fix mac build\"\" into lmp-dev"
    },
    {
      "commit": "350b03bca65f87895275d1ed4bb895d5afeeeff1",
      "tree": "e6f0255989bc96c7b351e05f9f836be7c3e2f91f",
      "parents": [
        "564f58305961986591ccb2fff04b9ccdd430a6db"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 14 18:04:12 2014 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 14 18:04:12 2014 +0000"
      },
      "message": "Revert \"ART: Fix mac build\"\n\nThe underlying CL was reverted.\n\nThis reverts commit 564f58305961986591ccb2fff04b9ccdd430a6db.\n\nChange-Id: Ic9fe93a95c4357d0045a430713be7da517f626b5\n"
    },
    {
      "commit": "564f58305961986591ccb2fff04b9ccdd430a6db",
      "tree": "4afabf8903368bcfdf2e2301258682be071e5cfb",
      "parents": [
        "c483a73cc2f9d63c1b6bccd1007117cf0d6dcd56"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 13 19:54:09 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 14 09:03:21 2014 -0700"
      },
      "message": "ART: Fix mac build\n\nis_main_thread is unused in the case of a mac.\n\nBug: 15435566\n\n(cherry picked from commit 7b1bf42dbc765524d54d45a70cb7eb1cccf0c617)\n\nChange-Id: I9848d0156a4903ce73d20b5ce282b61ceb3039ff\n"
    },
    {
      "commit": "c483a73cc2f9d63c1b6bccd1007117cf0d6dcd56",
      "tree": "e6f0255989bc96c7b351e05f9f836be7c3e2f91f",
      "parents": [
        "f8c4ed08832ec5302c9ea8441ec8cb39b87075ab",
        "b5d1efa0012d31f7c52c0a2e2b70c77c8708c885"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 14 15:40:19 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 13 16:52:03 2014 +0000"
      },
      "message": "Merge \"ART: Fix class-linker handling\" into lmp-dev"
    },
    {
      "commit": "f8c4ed08832ec5302c9ea8441ec8cb39b87075ab",
      "tree": "1b30586d1a9f3597c2e2048f8e1dc744882b4b85",
      "parents": [
        "4c37afb7b207424ff788ab8d8778ea4e8d4ac324"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 08 12:05:10 2014 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Aug 14 12:08:15 2014 +0100"
      },
      "message": "ART: Fix wrong command line parameter\n\nBug: 16843953\n\n(cherry picked from commit c4a7acf505944e7d937f0670b322e12302dd38dc)\n\nChange-Id: Ib59e10a5d97a20ea1a013587645e0eeb204eda8d\n"
    },
    {
      "commit": "4c37afb7b207424ff788ab8d8778ea4e8d4ac324",
      "tree": "7c8e8fea1f4b5af01f68fa0fda185d802ee3ae0b",
      "parents": [
        "20ae1d77463d1c3f206eac8d541124b4555464de"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Aug 07 14:53:41 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Aug 14 12:08:15 2014 +0100"
      },
      "message": "Get the native bridge library from the framework.\n\nFramework now passes the name of the native bridge to the runtime so\nthere\u0027s no need to do the reading in libart.\n\nBug: 16843953\n\n(cherry picked from commit 421b6466977d4b1ccd453f23b7b492f219099702)\n\nChange-Id: I9a0a8b8c64949e05c6f90bc846d68f0797640f6d\n"
    },
    {
      "commit": "20ae1d77463d1c3f206eac8d541124b4555464de",
      "tree": "2d6ee2f380b553a968993b397d83c64b97b28d80",
      "parents": [
        "7e9cdbbc14c015028d4b239a09c5af33ffc2087c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jul 17 11:09:10 2014 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Aug 14 12:08:15 2014 +0100"
      },
      "message": "Clean up native bridge\n\n(partially cherry picked from commit\n68d8b42ddec39ec0174162d90d4abaa004d1983e)\n\nChange-Id: I85813e97d73b1b331646dd0e880108dfbfe80f69\n"
    },
    {
      "commit": "b5d1efa0012d31f7c52c0a2e2b70c77c8708c885",
      "tree": "6ae70a2d9e5fe7661e0e3831a0e563513bb54f2d",
      "parents": [
        "63c051a540e6dfc806f656b88ac3a63e99395429"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 13 21:49:37 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 13 22:57:03 2014 -0700"
      },
      "message": "ART: Fix class-linker handling\n\nResolveMethod did not account correctly for the mutual exclusivity\nof direct and static methods. In such a case we threw a NoSuchMethodError,\nwhile the correct behavior is to throw an IncompatibleClassChangeError.\n\nBug: 16956477\nChange-Id: Id014affe0b8a43dbd75570b123b921d5853ab135\n"
    },
    {
      "commit": "63c051a540e6dfc806f656b88ac3a63e99395429",
      "tree": "79c29ab2e9a8f5545f928a05f919ec0092b8fa31",
      "parents": [
        "c739de01b905729b8587003a52a55b62358e979d"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri Jul 25 16:15:27 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Aug 13 14:53:17 2014 -0700"
      },
      "message": "Reduce stack usage for overflow checks\n\nThis reduces the stack space reserved for overflow checks to 12K, split\ninto an 8K gap and a 4K protected region.  GC needs over 8K when running\nin a stack overflow situation.\n\nAlso prevents signal runaway by detecting a signal inside code that\nresulted from a signal handler invokation.  And adds a max signal count to\nthe SignalTest to prevent it running forever.\n\nAlso reduces the number of iterations for the InterfaceTest as this was\ntaking (almost) forever with the --trace option on run-test.\n\nBug: 15435566\n\nChange-Id: Id4fd46f22d52d42a9eb431ca07948673e8fda694\n\nConflicts:\n\tcompiler/optimizing/code_generator_x86_64.cc\n\truntime/arch/x86/fault_handler_x86.cc\n\truntime/arch/x86_64/quick_entrypoints_x86_64.S\n"
    },
    {
      "commit": "7e9cdbbc14c015028d4b239a09c5af33ffc2087c",
      "tree": "ee773cbb198af6aec40618383d35e7b5560d9f23",
      "parents": [
        "c85a899b23327c3d5693c8dabf5b482c3fb5ded8",
        "61bf6a1c80bf797af5d7911ff71fc367fdb36742"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 14 05:18:47 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 13 16:52:03 2014 +0000"
      },
      "message": "Merge \"ART: Tolerate shallow call stack in VMStack_getCallingClassLoader\" into lmp-dev"
    },
    {
      "commit": "c85a899b23327c3d5693c8dabf5b482c3fb5ded8",
      "tree": "10b1f8ec5c32fe495c26e35747e5d55468bd1ea1",
      "parents": [
        "f0a37663309e468f11858bffa3221e7223cf577d"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Aug 11 16:38:02 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Aug 13 19:09:04 2014 -0700"
      },
      "message": "Revert \"Revert \"Remove GCC atomic workarounds.\"\"\n\nThis reverts commit 626a2468e4e4f39db7b0f35a4fee87293e360e92.\n\n(cherry picked from commit aab0f86e3b079598d41c3a00bfa765a7589c5110)\n\nChange-Id: I2333b54dcfd5ee8227a6479d2e3814b25377bdfd\n"
    },
    {
      "commit": "f0a37663309e468f11858bffa3221e7223cf577d",
      "tree": "8083aafd260f418b5558621c26eabfcf056e6a45",
      "parents": [
        "63c051a540e6dfc806f656b88ac3a63e99395429"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 12 11:48:34 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Aug 13 18:58:55 2014 -0700"
      },
      "message": "Initialize art::Atomic\u0027s value to 0.\n\nart::Mutex and art::ConditionVariable were DCHECKing that the value was\nzero on entering the constructor without ever initializing the value.\nSince 0 is a sensible default, make it the default for art::Atomic\nrather than initializing for each use.\n\nBug: 16301104\n\n(cherry picked from commit 6a3f8d93ddf09b5f6667820089e488958cba8361)\n\nChange-Id: Iab69bccac9f904111a72eff8162c7f0ca979a08a\n"
    },
    {
      "commit": "61bf6a1c80bf797af5d7911ff71fc367fdb36742",
      "tree": "d58a4ec82f04cd3b228ace7a91b4e577443de014",
      "parents": [
        "837150818af0eee993f7d93c5a50c3c7b46f1dab"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 11 18:51:53 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 13 15:59:04 2014 -0700"
      },
      "message": "ART: Tolerate shallow call stack in VMStack_getCallingClassLoader\n\nWhen the call stack does not have the three methods we expect,\nthe visitor will return a nullptr value.\n\nAdd a test to JniTest (and refactor the test a little for code reuse).\n\nBug: 16867274\nChange-Id: I5fb8f91f372a41e0bc11ef9f70640834591afa53\n"
    },
    {
      "commit": "837150818af0eee993f7d93c5a50c3c7b46f1dab",
      "tree": "8291ecf493a291af3a11648826563188a87278b7",
      "parents": [
        "b0f05b9654eb005bc8c8e15f615a7f5a312f640c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 13 10:08:05 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 13 11:41:48 2014 -0700"
      },
      "message": "Add allocation rate tracking to systrace.\n\nBug: 16956980\n\nChange-Id: I7074f4ae0f75d1bb58e9860ded4e17ce6978d74e\n"
    },
    {
      "commit": "b0f05b9654eb005bc8c8e15f615a7f5a312f640c",
      "tree": "5b09267f3eaaea699a0fe9d55665e14e66ff2fad",
      "parents": [
        "4527f61cbc1a3b01ab249181900b8ea547edaf90"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Jul 16 16:04:32 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Aug 13 09:45:16 2014 -0700"
      },
      "message": "Add implicit checks for x86_64 architecture.\n\nThis combines the x86 and x86_64 fault handlers into one.  It also\nmerges in the change to the entrypoints for X86_64.\n\nReplaces generic instruction length calculator with one that only\nworks with the specific instructions we use.\n\nBug: 16256184\n\nChange-Id: I1e8ab5ad43f46060de9597615b423c89a836035c\nSigned-off-by: Chao-ying Fu \u003cchao-ying.fu@intel.com\u003e\n"
    },
    {
      "commit": "b0bf089c2d80f861e4d8798e97828452b2e0b99b",
      "tree": "092baac908b4372600bdc0be48eeba9f423c900b",
      "parents": [
        "a73a8b55415b544355438522524a640378698d85",
        "83b1940e6482b9d8feba5c492507735686650ea5"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Aug 14 16:59:07 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 14 16:10:21 2014 +0000"
      },
      "message": "Merge \"Revert \"Reduce stack usage for overflow checks\"\" into lmp-dev"
    },
    {
      "commit": "83b1940e6482b9d8feba5c492507735686650ea5",
      "tree": "87600322f88ae2c8260736d18089c87d96a40847",
      "parents": [
        "63c051a540e6dfc806f656b88ac3a63e99395429"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Aug 14 16:54:09 2014 +0000"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Aug 14 16:54:09 2014 +0000"
      },
      "message": "Revert \"Reduce stack usage for overflow checks\"\n\nThis reverts commit 63c051a540e6dfc806f656b88ac3a63e99395429.\n\nChange-Id: I282a048994fcd130fe73842b16c21680053c592f\n"
    },
    {
      "commit": "0c2a6d76ccedb77e79adc68c723cd4ed8278fee9",
      "tree": "59611480e011a6a78817ce2d70ac78ba0bb6162f",
      "parents": [
        "564f58305961986591ccb2fff04b9ccdd430a6db",
        "ab61295e55c38072095e498053b8f5bebf46ad63"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 14 16:11:58 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 14 16:10:21 2014 +0000"
      },
      "message": "Merge \"ART: Fix another potential N-th visitor issue\" into lmp-dev"
    },
    {
      "commit": "ab61295e55c38072095e498053b8f5bebf46ad63",
      "tree": "ff2c976ddb6cec86aef40d2f56753438115e53a1",
      "parents": [
        "7e9cdbbc14c015028d4b239a09c5af33ffc2087c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 13 23:05:38 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 13 23:05:38 2014 -0700"
      },
      "message": "ART: Fix another potential N-th visitor issue\n\nBug: 16867274\nChange-Id: I5466af563032041ef4a547894f40f303871302c6\n"
    },
    {
      "commit": "13cccfa3ce61a41a176358ff2aa53e60d0acacd5",
      "tree": "7f551dfdbdaf8783ce94909a277148c5ff1e0de9",
      "parents": [
        "5f1dcee2b3cdaf0f745958ff366a84279940c65e",
        "a22d115711b5158cfc67b4f260a5b40f3ab303ca"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Aug 13 06:09:49 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 12 23:14:49 2014 +0000"
      },
      "message": "Merge \"Fix crash in VirtualMachine.AllThreads JDWP command\" into lmp-dev"
    },
    {
      "commit": "c739de01b905729b8587003a52a55b62358e979d",
      "tree": "87600322f88ae2c8260736d18089c87d96a40847",
      "parents": [
        "837150818af0eee993f7d93c5a50c3c7b46f1dab",
        "cb6b0f31ede2275e79e6199ec391147585a37a2a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Aug 13 21:34:53 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 12 23:14:35 2014 +0000"
      },
      "message": "Merge \"Avoid use of std::string where we have const char*.\" into lmp-dev"
    },
    {
      "commit": "cb6b0f31ede2275e79e6199ec391147585a37a2a",
      "tree": "91eba661ab7dd329463104da33395d85df521399",
      "parents": [
        "5f1dcee2b3cdaf0f745958ff366a84279940c65e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 12 02:30:58 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Aug 13 10:19:45 2014 -0700"
      },
      "message": "Avoid use of std::string where we have const char*.\n\nRemoving the ClassHelper caused std::string creation for all calls to\nClass::GetDescriptor and a significant performance regression. Make the\nstd::string an out argument so the caller can maintain it and its life time\nwhile allowing GetDescriptor to return the common const char* case.\n\nDon\u0027t generate GC maps when compilation is disabled.\n\nRemove other uses of std::string that are occuring on critical paths.\nUse the cheaper SkipClass in CompileMethod in CompilerDriver.\nSpecialize the utf8 as utf16 comparison code for the common shorter byte\nencoding.\nForce a bit of inlining, remove some UNLIKELYs (they are prone to pessimizing\ncode), add some LIKELYs.\n\nx86-64 host 1-thread interpret-only of 57 apks:\nBefore: 29.539s\nAfter: 23.467s\n\nRegular compile:\nBefore: 1m35.347s\nAfter: 1m20.056s\n\nBug: 16853450\nChange-Id: Ic705ea24784bee24ab80084d06174cbf87d557ad\n\nConflicts:\n\truntime/utils.cc\n"
    },
    {
      "commit": "5f1dcee2b3cdaf0f745958ff366a84279940c65e",
      "tree": "51dea3ef635288a4ec5a1b95de54f713c4f1a12b",
      "parents": [
        "b21f1336be9dd0c2607b2ff53834d62a218d1c83",
        "b225890e02bc8d5864217743eaef306d5387e0e9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 12 17:39:22 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 12 16:55:45 2014 +0000"
      },
      "message": "Merge \"Change FreeMemory and TotalMemory behavior.\" into lmp-dev"
    },
    {
      "commit": "b21f1336be9dd0c2607b2ff53834d62a218d1c83",
      "tree": "b8b1c20627a72519439be09f01b36d2b470aca9c",
      "parents": [
        "d74824bdd01b2a76b310e1275a1114d39833a708"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Aug 11 18:00:29 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Aug 12 10:12:07 2014 -0700"
      },
      "message": "Make method tracing deoptimize on startup.\n\nBug: 16848366\n\n(cherry picked from commit bc678bba8ec45dfcb1865676dd6d8188da9e56fc)\n\nChange-Id: Idf75288026a837b95f4619acadec57e38bacbd7b\n"
    },
    {
      "commit": "b225890e02bc8d5864217743eaef306d5387e0e9",
      "tree": "2c58ae8245f85c44a8c858f76927f18548b44951",
      "parents": [
        "1c98286d8ceaf3715e06f50acd6f3b0aa5a06f2e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 06 17:06:33 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 12 10:09:55 2014 -0700"
      },
      "message": "Change FreeMemory and TotalMemory behavior.\n\nTotalMemory is now equal to the footprint limit (around when the\nnext GC will occur).\nFreeMemory is now equal to TotalMemory() - bytes_allocated_.\nAlso added more memory dumping info to DumpGcPerformanceInfo.\n\nBug: 16520008\nBug: 15819878\n\n(cherry picked from commit dd162fb5990cedf80a5093ecc0e77df82af5f754)\n\nChange-Id: I68239a5295cc1372b3995eb781d67b9e25d6eaed\n"
    },
    {
      "commit": "a22d115711b5158cfc67b4f260a5b40f3ab303ca",
      "tree": "c44df9f9a0392fc5b8a7863be572db73cd8a6fa0",
      "parents": [
        "1c98286d8ceaf3715e06f50acd6f3b0aa5a06f2e"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Aug 12 09:09:37 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Aug 12 18:37:08 2014 +0200"
      },
      "message": "Fix crash in VirtualMachine.AllThreads JDWP command\n\nWhen collecting all the started threads, we may encounter a thread in the\nprocess of being started from Java code (Thread.start) in the threads list. The\ncrash occurs when we attempt to access the java.lang.Thread peer (calling\nThread::GetPeer) but the JNI global reference to it (Thread::jpeer) has not\nbeen destroyed yet (which is verified with a check). This only happens when the\nthread is starting up.\n\nWe now check the thread finished starting up before accessing the Java peer.\nThis also prevents from returning non-started threads in the reply.\n\nBug: 16660101\n\nChange-Id: I9e445e5da3a6951143d6c3c9a0d4f136398fde2f\n"
    },
    {
      "commit": "d74824bdd01b2a76b310e1275a1114d39833a708",
      "tree": "6b659b89325d8f7671352a6ee8644363d2758383",
      "parents": [
        "8c6c52110c5afd438741694520203a6d7e81a2a4"
      ],
      "author": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Tue Aug 12 17:19:12 2014 +0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 12 08:39:05 2014 -0700"
      },
      "message": "AArch64: Fix art_quick_string_compareto.\n\nThough __memcmp16() is implemented in the same module as the caller, it\nis still possible that the toolchain would put __memcmp16() into plt. In\nthat case, IP registers can be trashed when loading the function address.\nUse x14/x15 to replace IP0/IP1.\n\nBug: 16974467\n\n(cherry picked from commit 62ddb328860e907eb76ccd3abed63ba75438fea8)\n\nChange-Id: I40e39d075860bc78624ce6ef8b4f8e33e57fc58c\n"
    },
    {
      "commit": "8c6c52110c5afd438741694520203a6d7e81a2a4",
      "tree": "1fb20260906b08ea88f296af6587cd1d49479f3c",
      "parents": [
        "1c98286d8ceaf3715e06f50acd6f3b0aa5a06f2e"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Aug 06 19:07:41 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Aug 11 18:03:53 2014 +0100"
      },
      "message": "Revert \"Rename openDexFileNative to openDexFile.\"\n\nhttps://android-review.googlesource.com/#/c/103383/ introduces\nabsolute paths so we need back the old method name\n\nBug: 16644204\nBug: 16930747\n\nThis reverts commit 350b626eb1cfbaee7619e9453a4c018c07aed003.\n\n(cherry picked from commit a2069c7152eb46e8c64b4c8d7e19e5fab5de6df4)\n\nChange-Id: I55c8cb31bb79b1ed8ea51f63ec504d77f76a582a\n"
    },
    {
      "commit": "a0b530dd5e76662156b40c8a84ebb446b6332598",
      "tree": "6e1ad65cc2baadb748fcd04ac468f757cd5a8250",
      "parents": [
        "6a763f149f0c6f705cab8fb1984aa6f9198b2841"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sat Aug 09 23:43:10 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sun Aug 10 00:14:41 2014 -0700"
      },
      "message": "Fix the Mac build.\n\nApparently Mac uses a different assembler directive for .hidden.\n\nChange-Id: Ic2adb6bef82e376c3e5f4a29258a85a0dac00cd5\n"
    },
    {
      "commit": "6a763f149f0c6f705cab8fb1984aa6f9198b2841",
      "tree": "23a190a00ea1341b935caf473ac1984ed41a75d9",
      "parents": [
        "679ec1bf0fb5cfd2c74cdf0747b5b8b8f4a5bc06"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sat Aug 09 18:12:10 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sat Aug 09 18:13:03 2014 -0700"
      },
      "message": "Proper fix after -Bsymbolic change.\n\nMarking the offending symbols as hidden allows the linker to resolve\nthem at build time.\n\nBug: 16853291\nChange-Id: I1480c1520c23f81e42831a66737bba7bdf3433c2\n"
    },
    {
      "commit": "679ec1bf0fb5cfd2c74cdf0747b5b8b8f4a5bc06",
      "tree": "6613453f24e2b5c26199e5bec0da6235f3840fc9",
      "parents": [
        "55a39dbfae0935a60e0de3a05573b3b1ee25f579",
        "f70a5f4517c6b8cbf1377b7cfd8d33f1a8abf8d4"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sat Aug 09 06:47:01 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 09 00:40:15 2014 +0000"
      },
      "message": "Merge \"Workaround for test failures after Bsymbolic fix.\" into lmp-dev"
    },
    {
      "commit": "9f642e83c176fec52e496be0ae4b0b97fb2905b4",
      "tree": "d5c2c0565eb389c5404ad2383f5f51bb7ab155d0",
      "parents": [
        "2d48bb7109802c8a7a4580288f3a5bde270f062f",
        "2994e29b57ff57ce3d59a26a01e27e674bd6238b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Aug 09 05:52:17 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 09 00:40:15 2014 +0000"
      },
      "message": "Merge \"ART: Use TMPDIR for test directories\" into lmp-dev"
    },
    {
      "commit": "2d48bb7109802c8a7a4580288f3a5bde270f062f",
      "tree": "51c0d2e09b3fe530cf9eaa11e7f65ba3dc9f855a",
      "parents": [
        "3a56e4d089b58bcb61e0c5b7c0ebdcc266a89d82"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 08 21:29:02 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 08 22:31:22 2014 -0700"
      },
      "message": "Remove clang detected warning on tautological comparison\n\nBug: 16903117\n\n(cherry picked from commit c991107a90698012c2b0babc030b8ab85491d1e3)\n\nChange-Id: I94d36d8d26d4090b4c2ad128fde9dab2b1173533\n"
    },
    {
      "commit": "2994e29b57ff57ce3d59a26a01e27e674bd6238b",
      "tree": "16d07c11ebf2191762d494ec9486e8fe8027e185",
      "parents": [
        "3a56e4d089b58bcb61e0c5b7c0ebdcc266a89d82"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 06 13:12:26 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 08 22:21:09 2014 -0700"
      },
      "message": "ART: Use TMPDIR for test directories\n\nBug: 16499668\n\n(cherry picked from commit 5a79fdecffbea657ebecd4cf19078925239eb1c3)\n\nChange-Id: I6981f707862bf4a9cc79800db85b0416f30115af\n"
    },
    {
      "commit": "3a56e4d089b58bcb61e0c5b7c0ebdcc266a89d82",
      "tree": "180613575695247f0a034f199044fc673d3d5b3c",
      "parents": [
        "f896965072343a2d6ad64d46a61112b10b3645dd",
        "81db6a7c20aa008c7edbb7377b4bc3a9afe91bb7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Aug 09 04:39:58 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 09 00:51:24 2014 +0000"
      },
      "message": "Merge \"ART: Do not check interface being subclass for member access\" into lmp-dev"
    },
    {
      "commit": "81db6a7c20aa008c7edbb7377b4bc3a9afe91bb7",
      "tree": "8d01a5af133afb621f7d53b8b300707afe79adbc",
      "parents": [
        "4ef12f5b0e26c6016c87866f6a33da5ed8e98d74"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 08 19:55:37 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 08 20:44:20 2014 -0700"
      },
      "message": "ART: Do not check interface being subclass for member access\n\nWhen checking access to a protected member, do not try to see\nwhether an interface is a subclass of the declaring class.\n\nBug: 16904661\nChange-Id: I3e1fa4ce9753e0a96633fff0fba807d72bc0b19d\n"
    },
    {
      "commit": "f896965072343a2d6ad64d46a61112b10b3645dd",
      "tree": "a55d82496279f2c9c35d41be7fa9a2be4270a48f",
      "parents": [
        "4ef12f5b0e26c6016c87866f6a33da5ed8e98d74"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 06 14:53:03 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 08 18:23:32 2014 -0700"
      },
      "message": "ART: Remove test files after test\n\nThe unix_file tests should remove files and directories when they\nare done testing.\n\nBug: 16505797\n\n(cherry picked from commit 7747c8de402f64e3009ca3bcccebddbb70f617ee)\n\nChange-Id: I9c3c8f1a80ec0d37628a742193267e182c25b0cd\n"
    },
    {
      "commit": "4ef12f5b0e26c6016c87866f6a33da5ed8e98d74",
      "tree": "89ef8dfea38730e61dfed061a7ea71ca1a9b2a62",
      "parents": [
        "47ba978e95896c932300fb3236ce5eb4b438d971"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 31 16:23:49 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 08 14:36:23 2014 -0700"
      },
      "message": "ART: Add guards to the dex cache and its shortcuts\n\nDo not return fields, methods or classes if the (declaring) class is\nerroneous.\n\nBug: 16692788\n\n(cherry picked from commit 58a5af8568d224ca7eccf2483396ff9862f8d1ee)\n\nChange-Id: I7d3e4cb8113e2e764ed7433eed25e1031e6a0f14\n"
    },
    {
      "commit": "f70a5f4517c6b8cbf1377b7cfd8d33f1a8abf8d4",
      "tree": "63782c33c0970be2ac3669f4bc8b45551f16a067",
      "parents": [
        "fa9c8ec37c66574654e448513e1bb59af7cb9365"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 07 17:39:34 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 08 08:35:17 2014 -0700"
      },
      "message": "Workaround for test failures after Bsymbolic fix.\n\nBug: 16853291\nChange-Id: I0c2e2efbeb5060d4ec5ba706dab422b3c2caaa96\n(cherry picked from commit 3bed41cf3ace3105686f626fed2ac802376852f3)\n"
    },
    {
      "commit": "35388e93f7dc45257bbffc675710728aeb663394",
      "tree": "c72e6f32acd4ef9827f1f5a37740b5d8ae308d2a",
      "parents": [
        "7204c04dd86ae8ce05690e38737b2abf017a0a69"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Aug 05 15:43:13 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Aug 07 12:59:55 2014 -0700"
      },
      "message": "Check for a NULL pointer, do not call Build.\n\nWhen calling BacktraceMap::Create(), a NULL pointer is returned if Build\nfails. Building twice can cause problems and might leak memory.\n\n(cherry picked from commit 836572a07142627ff291d686a4e9e03a0988344b)\n\nChange-Id: I59d29bb6e5324de6eb099916045c2ab1d9e56630\n"
    },
    {
      "commit": "7204c04dd86ae8ce05690e38737b2abf017a0a69",
      "tree": "bc86b741193ad3487d9e0166cc324d99a200c738",
      "parents": [
        "a7894cdb063edb88f1420a42207e0c4bd27ab4f9"
      ],
      "author": {
        "name": "Stuart Monteith",
        "email": "stuart.monteith@arm.com",
        "time": "Wed Jun 11 16:44:46 2014 +0100"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Aug 07 11:10:22 2014 -0700"
      },
      "message": "AArch64: Implicit StackOverflow/NPE/Suspend checks.\n\nThis implements implicit stack overflow checks and null pointer exceptions\nfor AArch64.  Suspend checks are implemented but not switched on yet.\n\nBug: 16256184\nChange-Id: I2eb076f2c0c9d94793d5a898fea49cf409b4eb66\nSigned-off-by: Stuart Monteith \u003cstuart.monteith@arm.com\u003e\n"
    },
    {
      "commit": "47ba978e95896c932300fb3236ce5eb4b438d971",
      "tree": "80208d34d0933c161c44284a9200c93d3b5c5efa",
      "parents": [
        "f0d30ed8fcffc839ceb91359a547c0efb7641d53",
        "e0d6421cdb42508f4d36f28cc9eddc31271bb37a"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Aug 08 21:17:06 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 07 15:37:25 2014 +0000"
      },
      "message": "Merge \"Fix a SIGSEGV at background-to-foreground collector transition.\" into lmp-dev"
    },
    {
      "commit": "e0d6421cdb42508f4d36f28cc9eddc31271bb37a",
      "tree": "05b33d6d9dacc0a91d822b5924aed27e8a112ec7",
      "parents": [
        "fa9c8ec37c66574654e448513e1bb59af7cb9365"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Aug 07 10:27:17 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Aug 07 17:18:49 2014 -0700"
      },
      "message": "Fix a SIGSEGV at background-to-foreground collector transition.\n\nThe mem map that\u0027s used to create the backup main rosalloc space is\nset to PROT_NONE by the compaction and the rosalloc space creation\nattempts to write the debug magic number in the first page.\n\nThis is a debug build only issue.\n\nCherry pick commit c1276c838d1d0896048b8c14458432b94274e869.\n\nBug: 16854263\nChange-Id: Ide2545d92bcafd3a095ac7f0c89c5b43d6dd78de\n"
    },
    {
      "commit": "31fa14fdbbccfcd9b50bc6db6aae6168b4fc2249",
      "tree": "8a2234eab16866f2159ba1cffae47aa3752a75f9",
      "parents": [
        "4bb932773e47b1ce04602d81ffa5a8a7d863eb10",
        "24e928bddaf8b4af6cdf6d64a7c35bfde059995c"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Aug 08 15:48:07 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 07 18:39:40 2014 +0000"
      },
      "message": "Merge \"Use the right instruction set for checking dex-cache staleness.\" into lmp-dev"
    },
    {
      "commit": "24e928bddaf8b4af6cdf6d64a7c35bfde059995c",
      "tree": "1cfe8e0bf72993e2b50ce83bc9c5d73eaf419d38",
      "parents": [
        "fa9c8ec37c66574654e448513e1bb59af7cb9365"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Aug 08 16:19:44 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Aug 08 16:19:44 2014 +0100"
      },
      "message": "Use the right instruction set for checking dex-cache staleness.\n\nWe should use the instruction set we\u0027re asked to use, and not\nthe instruction set of the current runtime.\n\nbug: 16876489\nChange-Id: Ic2a30b7e7d23192b0189c1f868b73c5f4c7eb8f9\n"
    },
    {
      "commit": "4bb932773e47b1ce04602d81ffa5a8a7d863eb10",
      "tree": "1e3257748500d9ab485a7a89d6743760cec45684",
      "parents": [
        "fa9c8ec37c66574654e448513e1bb59af7cb9365"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Aug 07 18:07:18 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Aug 08 13:44:03 2014 +0100"
      },
      "message": "Fix performance regression in OatFile::GetOatDexFile().\n\nTry to avoid calculating the canonical location of the\ndex file if possible and when we have to calculate it,\ncache the lookup result for subsequent lookups.\n\nBug: 16828525\nBug: 16859671\n\n(cherry picked from commit 3f5838d7d0b9fc63db0ccc35c2ea05ed29264986)\n\nChange-Id: Ifd9a45dada2cc724382fd03c10f6437a6b71e666\n"
    },
    {
      "commit": "2c26501d24d929abe096ecce44f91410290b33c0",
      "tree": "be064a46a1da5feb4db07c154506063d3fd95a13",
      "parents": [
        "484e2c2d3531e5bb36f0e1e12f26c708939c6579"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 05 18:15:56 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 06 11:34:20 2014 -0700"
      },
      "message": "Add card table test.\n\nTests some of the functionality supported by the card table.\n\nRemoved some logcat spam from monitor_pool.\n\nChange-Id: I1423816a72572f78aca44552effa2b4c6aac46c8\n"
    },
    {
      "commit": "467f816c3c4483fb7766db3fc50e2fff10a92554",
      "tree": "d754c7d6eee858bb3f713bacccd1a2b894a66a36",
      "parents": [
        "0a1143de1414abc73634f2ff8941cdd6acd5e9a8"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Aug 05 18:59:16 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Aug 06 09:00:27 2014 -0700"
      },
      "message": "When performing a long jump, update SP last.\n\nBug: 16571371\n\n(cherry picked from commit 76a0723959c2185ace249e705774af9a679a0e0d)\n\nChange-Id: Ib3a7bcda8aecdf7e92ea40a76de32aed83a42ee0\n"
    },
    {
      "commit": "0a1143de1414abc73634f2ff8941cdd6acd5e9a8",
      "tree": "b54cd1a5cbfd6951a8678cdbda26be213068aef4",
      "parents": [
        "4853f940efe0aaccf83a4af55a8dd640d8ef7274",
        "2a0bffd2ae4725a89b400279a2d58f07ff610685"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 06 15:10:58 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 04 23:46:15 2014 +0000"
      },
      "message": "Merge \"Add x86_64 optimized __memcmp16 implementation; fix tabs in 32-bit implementation.\""
    },
    {
      "commit": "2a0bffd2ae4725a89b400279a2d58f07ff610685",
      "tree": "6ee323b70a38d510da983e64d5e9d969c50df926",
      "parents": [
        "89c210bf418a152ccabfbbf853ddcce33aea450d"
      ],
      "author": {
        "name": "Varvara Rainchik",
        "email": "varvara.rainchik@intel.com",
        "time": "Wed Jul 30 17:01:24 2014 +0400"
      },
      "committer": {
        "name": "Varvara Rainchik",
        "email": "varvara.rainchik@intel.com",
        "time": "Wed Aug 06 12:44:58 2014 +0400"
      },
      "message": "Add x86_64 optimized __memcmp16 implementation;\nfix tabs in 32-bit implementation.\n\nChange-Id: I7bbfb344074aed66511c1a845998dc38798116ea\nSigned-off-by: Varvara Rainchik \u003cvarvara.rainchik@intel.com\u003e\n"
    },
    {
      "commit": "4853f940efe0aaccf83a4af55a8dd640d8ef7274",
      "tree": "5530aaafdcea0ee9c28d2f35817e221cc4b8a350",
      "parents": [
        "ae5092fcaf2175df9f8c7cf7f5542b31e829ac72",
        "aa3c3e5ee83c061e7f387c75b1b29c9f248ac39c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 06 01:12:05 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 05 17:41:26 2014 +0000"
      },
      "message": "Merge \"Fix byte_cas to use uintptr_t Atomic.\""
    },
    {
      "commit": "aa3c3e5ee83c061e7f387c75b1b29c9f248ac39c",
      "tree": "f5ba01e71db9db92d086439bbb68057d3e080271",
      "parents": [
        "f6e8d0304d0b0024f1af8e63c2a3a3ad78761d59"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 05 15:59:43 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 05 18:08:47 2014 -0700"
      },
      "message": "Fix byte_cas to use uintptr_t Atomic.\n\nPreviously we used int32_t Atomic with a uintptr_t bit shift.\nThis was a mismatch on 64 bit and resulted in occasionally\nhaving the cas return without having succeeded.\n\nBug: 16819816\n\nChange-Id: I10fa9c2f09ae8fe0997a4c9293fa123c6bde5920\n"
    },
    {
      "commit": "cbb5747ba911d12cfe8fd97d96441c7e40ab193e",
      "tree": "3aeb8b51e346e11073b47fe0c3488e16104f3f73",
      "parents": [
        "f768db4c1cb7ec9374e203305cf3582f32147302",
        "8d82de5d7b04b8f43e7d2bb7ee8a66b0c7e71e1b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 05 21:44:41 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 05 00:20:55 2014 +0000"
      },
      "message": "Merge \"ART: Fix lock max count definition\""
    },
    {
      "commit": "6e183f2e973a20f2eaca135c240908e1bf98c5d0",
      "tree": "8a989eb8dbaca6a2c505569784740f9581fe7e98",
      "parents": [
        "eb76e11d836ea953b4e40a28e3e69d3b0f4c86fa"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jul 18 14:57:04 2014 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Aug 05 10:22:08 2014 -0700"
      },
      "message": "Make system use patchoat to relocate during runtime.\n\nChange dalvik_system_DexFile.cc so that isDexOptNeededInternal will be\nable to indicate that a patchoat is required. Change default of relocate\noption to be on.\n\nBug: 15358152\n\nChange-Id: Ibe92d8b55a24bbf718b0416a21b76e5df7a2de26\n"
    },
    {
      "commit": "32155e0a3373b7ce6e490fceb40ca24074dbcbb5",
      "tree": "ff937d0e16dbc944b1b1bcadebab8a79a0616f06",
      "parents": [
        "3513cd30ee8e710d58a289a52104e0eb6be9e277",
        "4e1d579d6401fef2dd57b16f8d406e33221a69d9"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Aug 05 10:47:26 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 05 00:41:34 2014 +0000"
      },
      "message": "Merge \"Use canonical paths when searching for dex files\""
    },
    {
      "commit": "a62a588a9202f69e53fbeb3045ea8ea5ec2587f8",
      "tree": "afbbcca1eaa59d40fa94db6babeb2ea909777357",
      "parents": [
        "b5c5646b5ffd3d451af5e8d52b50743bf61d4c40"
      ],
      "author": {
        "name": "Jim_Guo",
        "email": "jim_guo@htc.com",
        "time": "Mon Apr 28 11:11:57 2014 +0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 04 22:27:52 2014 -0700"
      },
      "message": "ART: Fix memory unmapped twice issue in ElfFile::Load(bool)\n\nRoot Cause:\n  The overlapped memory region will be unmapped by\n  (1) ~MemMap() of reservation MemMap (reserve) and\n  (2) ~MemMap() of \"reuse\" MemMap (segment).\n  Someone takes the memory region after (1) and it will be unmapped in (2).\n  So, SIGSEGV occurs when using the unmapped memory region.\n\nSolution:\n  Fixes this issue by skip unmap \"reuse\" MemMap in destructor.\n  And always create reservation MemMap before \"reuse\" MemMap. (It also solved\n  the fixupELF case which does not reserve the whole needed memory region).\n\nBug: 16486685\nChange-Id: I8f2538861d5c3fa7b9a04d2c3f516319cc060291\n"
    },
    {
      "commit": "422f4733ce76eda8f4ebb5a3dce5c0a5a2264886",
      "tree": "32340767bc568f75b7148b5ba40aa1d1e57a7636",
      "parents": [
        "c52361cfaae8be2fbaa25b175d4f6c37d4110764"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Aug 04 17:15:21 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Aug 04 19:22:40 2014 -0700"
      },
      "message": "Use the uncached form of BacktraceMap::Create.\n\nThe code assumes that calling BacktraceMap::Create creates a map based\non the current state of the maps. This is not true by default, so\ncall the Create function indicating we want an uncached BacktraceMap object.\n\n(cherry picked from 27a10f618357cf85cc0677a04f0a5a3a8a437aed)\n\nChange-Id: Ic7a2dedaea9950174b24ede4dcda30ffe036fe93\n"
    },
    {
      "commit": "4e1d579d6401fef2dd57b16f8d406e33221a69d9",
      "tree": "2abc27cbd45cc8a4775df928280c63c1606cff75",
      "parents": [
        "89c210bf418a152ccabfbbf853ddcce33aea450d"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jul 15 23:56:47 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Aug 04 17:52:05 2014 +0100"
      },
      "message": "Use canonical paths when searching for dex files\n\nApps which use the DexPathClassLoader directly may\npass symlinks when trying to load dex files. This\nwill not work as we use string comparision to find\nthe dex in an oat file. The CL fixes this issue by\nusing using dex conical paths for comparisons.\n\nBug: 15313272\n\nChange-Id: Ic314374b17612c3afbcadec93a88b2515a0aca5e\n"
    },
    {
      "commit": "8d82de5d7b04b8f43e7d2bb7ee8a66b0c7e71e1b",
      "tree": "701893f3cbb672aac845dac8441deef41d928db1",
      "parents": [
        "89c210bf418a152ccabfbbf853ddcce33aea450d"
      ],
      "author": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Mon Jul 28 17:40:16 2014 +0700"
      },
      "committer": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Mon Aug 04 01:38:46 2014 +0000"
      },
      "message": "ART: Fix lock max count definition\n\nThe lock max count should utilize 14 bits since 2 highest bits are reserved for lock state.\n\nChange-Id: I9d562f7bca9c0853231800a706a8523204e8aa9d\nSigned-off-by: Dmitry Petrochenko \u003cdmitry.petrochenko@intel.com\u003e\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\n"
    },
    {
      "commit": "c7975a33b9c8fb36e85c41162462aeec8e76232a",
      "tree": "940bb5b1c8df4d25ea23c689e341d5e877df3743",
      "parents": [
        "316fb6e4992f41fa0742f1360c6497787c9433e3",
        "2eba1fa7e9e5f91e18ae3778d529520bd2c78d55"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 04 22:56:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 01 01:50:59 2014 +0000"
      },
      "message": "Merge \"AArch64: Add inlining support for ceil(), floor(), rint(), round()\""
    },
    {
      "commit": "2eba1fa7e9e5f91e18ae3778d529520bd2c78d55",
      "tree": "a75aae98e3329508a82e45c6bffea0777ec266b1",
      "parents": [
        "7aaa8dbfbcde7f58564b42044892891559669838"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Thu Jul 31 19:07:17 2014 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 04 15:10:25 2014 -0700"
      },
      "message": "AArch64: Add inlining support for ceil(), floor(), rint(), round()\n\nThis patch adds inlining support for the following Math, StrictMath\nmethods in the ARM64 backend:\n  * double ceil(double)\n  * double floor(double)\n  * double rint(double)\n  * long round(double)\n  * int round(float)\n\nAlso some cleanup.\n\nChange-Id: I9f5a2f4065b1313649f4b0c4380b8176703c3fe1\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\n"
    },
    {
      "commit": "0d08727e19b46770f0f27633d08caf13d9bb3e98",
      "tree": "ccba29566141d15396ff76348ac5db040c7bab1b",
      "parents": [
        "7aaa8dbfbcde7f58564b42044892891559669838"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Aug 04 14:47:17 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Aug 04 15:07:17 2014 -0700"
      },
      "message": "Make verifier identify unresolved methods as constructors by \u003cinit\u003e.\n\nCheck was previously missing brackets in the method name.\n\nBug: 16560516\n\n(cherry picked from commit 04ce113458b6b01f96d58dbb4c41682ee22d8b5d)\n\nChange-Id: Ie98c5b84e73ffc43ea08e1b08ae9c6e41bcd5891\n"
    },
    {
      "commit": "4e97f6564fa51609d5651374dcdd2a8f4e79f272",
      "tree": "6720967dba5914f60a7cddaca044bc7446b37a3f",
      "parents": [
        "dc3ca147ee880088eb2f52b7b0355062ba5749be",
        "57309dbec7a119670bfae722f7399dd308042bbc"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 04 18:27:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 01 08:22:51 2014 +0000"
      },
      "message": "Merge \"Move image classes options from art to AndroidRuntime [art]\""
    },
    {
      "commit": "108437eb35895e7fd461b131c6ceb383a7ca6ca2",
      "tree": "799dd4a1415be4acf1043c27b5785ee0893490b5",
      "parents": [
        "7906b25f79f24af3a8b8eee0454b4db1278b9b77"
      ],
      "author": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Thu Jul 03 17:07:45 2014 +0700"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Aug 04 17:42:00 2014 +0100"
      },
      "message": "Inform about System.exit() call in logcat\n\nThis diagnostic message helps to filter out crashes during System.exit()\nwhen thread\u0027s behaviour is undefined.\n\nChange-Id: I772932a35b503b1efca695e7da7bf2e562c03a7c\nSigned-off-by: Dmitry Petrochenko \u003cdmitry.petrochenko@intel.com\u003e\n"
    },
    {
      "commit": "1268b742c8cff7318dc0b5b283cbaeabfe0725ba",
      "tree": "62ccc7504d91617154c6474b933562cc70255fce",
      "parents": [
        "89c210bf418a152ccabfbbf853ddcce33aea450d"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Jul 11 19:15:11 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Aug 01 14:53:30 2014 +0100"
      },
      "message": "Fix broken JNI IsAssignableFrom.\n\nThe expected argument order was the opposite of what the spec\ndictated.\n\nReported-By: Mikhail Naganov \u003cmnaganov@google.com\u003e\nbug: 16531674\n\nChange-Id: I1ebc6d5814ebb4feeb96f3ecdf1a4602da4ba7ce\n"
    },
    {
      "commit": "57309dbec7a119670bfae722f7399dd308042bbc",
      "tree": "e444653abe366d36785681bab3e0bb24fb7317de",
      "parents": [
        "2e879694544744436a595eb30cd0b8ad4580c9db"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 30 15:13:25 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 30 15:57:15 2014 -0700"
      },
      "message": "Move image classes options from art to AndroidRuntime [art]\n\nBug: 15165413\nChange-Id: I3dfa702ac29279cf76d4cc451138c03a5158ac3a\n"
    },
    {
      "commit": "59a5525e72d723c8598b6271c7b09845999beeb0",
      "tree": "116816630e3da55f1e669c81e5b47e080691295c",
      "parents": [
        "2eb3769cf75724ce84dcb1b11bddcc1247444799",
        "7da9586b559290e1c16207c6513ffe485de61655"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Jul 31 18:32:43 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 29 21:36:05 2014 +0000"
      },
      "message": "Merge \"Add read barriers for the roots in the verifier.\""
    },
    {
      "commit": "7da9586b559290e1c16207c6513ffe485de61655",
      "tree": "4fb44066c831224dad49430f69aa4edf29aad3da",
      "parents": [
        "1175aec5f686b9e3d429282d7d4022c39436f71f"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Jul 30 14:26:22 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Jul 31 10:45:47 2014 -0700"
      },
      "message": "Add read barriers for the roots in the verifier.\n\nNote: Because the roots (the class references in RegType objects) can\nbe updated by the read barriers, a lot of uses of type \"const RegType\"\nwere replaced with \"RegType\".\n\nBug: 12687968\nChange-Id: I6cf37a87f352938d43fb51560a8d927ada104f50\n"
    },
    {
      "commit": "b93637a01831e697725753541083f04b1e2df6fb",
      "tree": "63fc6d8c07bd807cd6d2c511dacb18dd0aa627f6",
      "parents": [
        "1175aec5f686b9e3d429282d7d4022c39436f71f"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 31 10:48:46 2014 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 31 10:57:14 2014 -0700"
      },
      "message": "Make ImageSpace skip validation if we are using a relocated image\n\nChange-Id: I0682d1870f5b3e27adb9c9de803fbb7d364ad00d\n"
    },
    {
      "commit": "1a762136398ffa4ed2c366d344b45ca4244d6c6c",
      "tree": "0f80ac433f0ce17b3620b55c81af583787bf9a4a",
      "parents": [
        "00d1ef41d0d0d438d604d102183a6bfac58643e7"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 31 09:32:13 2014 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 31 09:32:13 2014 -0700"
      },
      "message": "Fix image not regenerating on changes to bootclasspath\n\nBug: 16367410\nChange-Id: I10e81d068ffc2ab712a287f88ef67f6a1be4df4c\n"
    },
    {
      "commit": "b19955d3c8fbd9588f7e17299e559d02938154b6",
      "tree": "10113a67776d1bb050115043e47e6970a85103c5",
      "parents": [
        "36b111c7d3d635e262114dabde4c26952c7dcbe6"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jul 29 12:04:10 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 31 09:57:09 2014 +0100"
      },
      "message": "Reduce time and memory usage of GVN.\n\nFilter out dead sregs in GVN. Reclaim memory after each LVN\nin the GVN modification phase.\n\nBug: 16398693\nChange-Id: I8c88c3009663754e1b66c0ef3f62c3b93276e385\n"
    },
    {
      "commit": "cc75c1b38e811cc1cb93ce8f8fcc9a83e20844fb",
      "tree": "2abbc7620bdc704c65db05cce485e1dd8faef8ad",
      "parents": [
        "9900a610fbb40c49b0503183b79c4bbb376c4128",
        "35e1e6ad4b50f1adbe9f93fe467766f042491896"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jul 31 04:21:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 29 21:36:05 2014 +0000"
      },
      "message": "Merge \"1. Fix CFI for quick compiled code in x86 \u0026 x86_64; 2. Emit CFI in .eh_frame instead of .debug_frame.\""
    },
    {
      "commit": "35e1e6ad4b50f1adbe9f93fe467766f042491896",
      "tree": "054e8fe1140fc1144ececa8ad8beda18be9566a2",
      "parents": [
        "01a0ebb6b96c32879dcad99d515fc0cd8de2a266"
      ],
      "author": {
        "name": "Tong Shen",
        "email": "endlessroad@google.com",
        "time": "Wed Jul 30 09:31:22 2014 -0700"
      },
      "committer": {
        "name": "Tong Shen",
        "email": "endlessroad@google.com",
        "time": "Wed Jul 30 20:19:26 2014 +0000"
      },
      "message": "1. Fix CFI for quick compiled code in x86 \u0026 x86_64;\n2. Emit CFI in .eh_frame instead of .debug_frame.\n\nWith CFI, we can correctly unwind past quick generated code.\nNow gdb should unwind to main() for both x86 \u0026 x86_64 host-side ART.\n\nNote that it does not work with relocation yet.\n\nTesting:\n1. art/test/run-test --host --gdb [--64] --no-relocate 005\n2. In gdb, run \u0027b art_quick_invoke_stub\u0027, then \u0027r\u0027, then \u0027c\u0027 a few times\n3. In gdb, run \u0027bt\u0027. You should see stack frames down to main()\n\nChange-Id: I5350d4097dc3d360a60cb17c94f1d02b99bc58bb\n"
    },
    {
      "commit": "aa910d5ef43256102809e397de305c23f1c315e6",
      "tree": "ffd2bae0a66e2f174fabc4e8c1062038e5b5dccc",
      "parents": [
        "da4a1264cd7d5db9ed01cfd1eeaed71cb11c6c71"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 30 18:59:05 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 30 20:38:55 2014 -0700"
      },
      "message": "ART: Fix verifier mishandling erroneous array component types\n\nThe verifier must not assume that component types are not erroneous.\n\nBug: 16661259\nChange-Id: I23b2f517259ca9c0b8a1aa38f6348fcd61e0b22e\n"
    },
    {
      "commit": "36dab3607e77505ce139eacef1c62a1c4bc4affd",
      "tree": "4b8fa4da5aef0bd4f7340d33f2d6649ba2089b5a",
      "parents": [
        "01a0ebb6b96c32879dcad99d515fc0cd8de2a266"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 30 14:59:56 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 30 17:03:32 2014 -0700"
      },
      "message": "Add support for bump pointer spaces to DdmSendHeapSegments.\n\nAdded support for bump pointer spaces as well as\ndifferentiating between DlMallocSpaces and RosAllocSpaces.\nAdded logic to reset the start of next chunk to prevent\ninbetween space regions counted as free.\n\nFixed a debug build bug where we were doing an mprotect after\ncreating a rosalloc space. In debug builds, this writes a magic\nvalue in the page. This was faulting since it was set to PROT_NONE.\nThe fix moves the mprotect before the RosAlloc space creation.\n\nBug: 16408851\nChange-Id: Ibe18198d05ff353fbb57d10b2f7719fdcbf1c5f0\n"
    },
    {
      "commit": "f90283f61d6ca37abf3a9fb8447d05e79caf0160",
      "tree": "acb71cf90f57a28176ff5cc050cb55a30ee5023a",
      "parents": [
        "58e17cea2da3e541610e9bcdf8ef3efd983e1390",
        "0ba238dcc21ae3544e1e8cb5d108725db8a1c134"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 29 23:07:05 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 25 21:16:27 2014 +0000"
      },
      "message": "Merge \"ART: Check for duplicate class definitions in dex file verifier\""
    },
    {
      "commit": "0ba238dcc21ae3544e1e8cb5d108725db8a1c134",
      "tree": "8b032feb0da032209265e24f36dd60f4cba19986",
      "parents": [
        "01be6e3c4e4f083842ac9a6f8f9e6c2c937b8a15"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 29 01:22:07 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 29 01:22:07 2014 -0700"
      },
      "message": "ART: Check for duplicate class definitions in dex file verifier\n\nReject dex files that try to define two classes with the same type id.\n\nBug: 16016492\nChange-Id: I82cc99c00b3e3cb2b3d537ec14beed9049fe900f\n"
    },
    {
      "commit": "58e17cea2da3e541610e9bcdf8ef3efd983e1390",
      "tree": "96d15d853ff4c73b00aa0d485ca96806d4e59ff6",
      "parents": [
        "f2e920734dddbc0eee35c3ba27b88b732df4f82c",
        "c5d824a20c225763761a6dff43294b229ff35469"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Jul 29 22:06:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 28 22:45:44 2014 +0000"
      },
      "message": "Merge \"Stop thread from reattaching during runtime shutdown while tracing.\""
    },
    {
      "commit": "c5d824a20c225763761a6dff43294b229ff35469",
      "tree": "d3fcf29c2e7359bdb135931c0f4558644e1ca9fb",
      "parents": [
        "8df73882c60451e7f789bf9b1f3db2d7dc228640"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Jul 28 18:35:38 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Jul 29 13:34:57 2014 -0700"
      },
      "message": "Stop thread from reattaching during runtime shutdown while tracing.\n\nBug: 16024763\nChange-Id: Iad5ba180241ff74b15baf5c3a15ed2d2ed60fcf0\n"
    },
    {
      "commit": "94f7b49578b6aaa80de8ffed230648d601393905",
      "tree": "cfc69e453faefee38178ceb85378e1f0f1e17812",
      "parents": [
        "8df73882c60451e7f789bf9b1f3db2d7dc228640"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Jul 22 18:08:23 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Jul 29 13:30:46 2014 -0700"
      },
      "message": "Add GcRoot to clean up and enforce read barriers.\n\nIntroduce a value-type wrapper around Object* for GC roots so that 1)\nwe won\u0027t have to directly add the read barrier code in many places and\n2) we can avoid accidentally bypassing/missing read barriers on GC\nroots (the GcRoot interface ensures that the read barrier is executed\non a read).\n\nThe jdwp test passed.\n\nBug: 12687968\nChange-Id: Ib167c7c325b3c7e3900133578815f04d219972a1\n"
    },
    {
      "commit": "b551fdcda9eb128c80de37c4fb978968bec6d4b3",
      "tree": "62942f412f2275e2e9188f71c370cd95ec91e17f",
      "parents": [
        "2815f1242c6c3ea1fc2df7bb5e4bd1924f4e75f7"
      ],
      "author": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Fri Jul 25 11:49:42 2014 +0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 29 00:38:14 2014 -0700"
      },
      "message": "AArch64: Clean up CalleeSaveMethod frame and the use of temp registers.\n\nCalleeSaveMethod frame size changes :\nSaveAll : 368 -\u003e 176\nRefOnly : 176 -\u003e 96\nRefsAndArgs : 304 -\u003e 224\n\nJNI register spill size changes :\n160 -\u003e 88\n\nIn the transition assembly, use registers following the rules:\n1. x0-x7 as temp/argument registers.\n2. IP0, IP1 as scratch registers.\n3. After correct type of callee-save-frame has been setup, all registers\nare scratch-able(probably except xSELF and xSUSPEND).\n4. When restore callee-save-frame, IP0 and IP1 should be untouched.\n5. From C to managed code, we assume all callee save register in AAPCS\nwill be restored by managed code except x19(SUSPEND).\n\nIn quick compiler:\n1. Use IP0, IP1 as scratch register.\n2. Use IP1 as hidden argument register(IP0 will be scratched by\n trampoline.)\n\nChange-Id: I05ed9d418b01b9e87218a7608536f57e7a286e4c\n"
    },
    {
      "commit": "0398e171f206cd3b140a358ac31b0a3760380df1",
      "tree": "db5b34142d812f95581a864b681940efc94c6945",
      "parents": [
        "e5647289ccc7dafd8b91771a7bd1cd19416aed66"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Jul 24 16:26:09 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Jul 28 18:33:04 2014 -0700"
      },
      "message": "Fix proxy tracing and enable tests that now work with tracing.\n\nBug: 16386215\nChange-Id: Iec2a372c921caceb050c6baf72d48b3d822899a4\n"
    },
    {
      "commit": "65c9db8dfbeea3f708f95f058f4fed7c2af71052",
      "tree": "225cfc1d87ea95583b686591f1dd752ee7ce3bb0",
      "parents": [
        "3f49507c333b7c8d36620870522a7a1055987ef8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 28 13:14:34 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 28 13:14:34 2014 -0700"
      },
      "message": "ART: Reject array-length on non-reference register\n\nIt should be a hard verifier failure if we detect an array-length\ninstruction over a non-reference-type register.\n\nBug: 16595896\nChange-Id: I059510b15c846551b2f8ded86cfd8127543324f4\n"
    },
    {
      "commit": "984305917bf57b3f8d92965e4715a0370cc5bcfb",
      "tree": "c463ecec05eed70e2d9e5e0083e8a556581b1333",
      "parents": [
        "98cc1e552c2ccbe5d51bc81d49e79119280f5416"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Jul 27 19:44:50 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 28 09:15:48 2014 -0700"
      },
      "message": "ART: Rework quick entrypoint code in Mir2Lir, cleanup\n\nTo reduce the complexity of calling trampolines in generic code,\nintroduce an enumeration for entrypoints. Introduce a header that lists\nthe entrypoint enum and exposes a templatized method that translates an\nenum value to the corresponding thread offset value.\n\nCall helpers are rewritten to have an enum parameter instead of the\nthread offset. Also rewrite LoadHelper and GenConversionCall this way.\nIt is now LoadHelper\u0027s duty to select the right thread offset size.\n\nIntroduce InvokeTrampoline virtual method to Mir2Lir. This allows to\nfurther simplify the call helpers, as well as make OpThreadMem specific\nto X86 only (removed from Mir2Lir).\n\nMake GenInlinedCharAt virtual, move a copy to X86 backend, and simplify\nboth copies. Remove LoadBaseIndexedDisp and OpRegMem from Mir2Lir, as they\nare now specific to X86 only.\n\nRemove StoreBaseIndexedDisp from Mir2Lir, as it was only ever used in the\nX86 backend.\n\nRemove OpTlsCmp from Mir2Lir, as it was only ever used in the X86 backend.\n\nRemove OpLea from Mir2Lir, as it was only ever defined in the X86 backend.\n\nRemove GenImmedCheck from Mir2Lir as it was neither used nor implemented.\n\nChange-Id: If0a6182288c5d57653e3979bf547840a4c47626e\n"
    },
    {
      "commit": "1fe5e5cce85a3cdc64a8d226a8ef4e6134c2b9eb",
      "tree": "4e6cf97184bc4a0646ef7a9afaa32ec731691d8e",
      "parents": [
        "b3bf7afc4288f97f9b591d19f03362e0577ed0ec"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 11 21:14:35 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Jul 27 14:55:50 2014 -0700"
      },
      "message": "ART: Fix target test paths\n\nNativetest is now nativetest64 on 64b targets.\n\nChange-Id: I4c4c6bba1a56525df2993708caaae3e6f7f5f2f6\n"
    },
    {
      "commit": "1740eca19de8870a319033eacde16793ef391825",
      "tree": "0b3ce537ba1cfa885a69ed52a8ba2ab8aa5ca921",
      "parents": [
        "4483fbfdf17fd7230a52cc54bc5f7fbca82bbd75"
      ],
      "author": {
        "name": "Dehao Chen",
        "email": "dehao@google.com",
        "time": "Thu Jul 24 16:12:59 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Jul 27 18:32:22 2014 +0000"
      },
      "message": "Remove the per-project FDO support. Use the common FDO support from build/core.\nLOCAL_FDO_SUPPORT indicates if the module should enable FDO builds.\n\nChange-Id: I1eab8bf418b7ceb060eea18bdd304a06597af3d3\n"
    },
    {
      "commit": "b97df0488b5391564b5ea195a0765c943787f88d",
      "tree": "06a28e58482f894f6c9bc6e580bd56790ed2a8dc",
      "parents": [
        "0db2c431a3971781a52629be62f572cc5b0d35df",
        "855564b83db7b106d2995d0e784f1f4b62e52371"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Jul 27 01:36:55 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 24 20:55:36 2014 +0000"
      },
      "message": "Merge \"ART: Native bridge command-line parameter\""
    },
    {
      "commit": "855564b83db7b106d2995d0e784f1f4b62e52371",
      "tree": "de3caa3f36b24acb9279a8cb85d4879baeed1798",
      "parents": [
        "3bcac48f23094fa0f46315a080ec47fc368fd4c2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 25 02:32:19 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Jul 26 18:35:08 2014 -0700"
      },
      "message": "ART: Native bridge command-line parameter\n\nAdd a command-line parameter for the native bridge library, slight\nrefactor/cleanup.\n\nAdd run-test 115 to test the native bridge interface. Currently the\ntests are black-listed for the target, as the setup for the test\nis too complicated in the current infrastructure.\n\nChange-Id: I6ccf19485e8c30b96e9f2fd5425278cb1ebd403f\n"
    },
    {
      "commit": "0db2c431a3971781a52629be62f572cc5b0d35df",
      "tree": "0d9d499f65a0743468ffcc23e7fa77740a02792e",
      "parents": [
        "c4a5f588c5c17ae226b56d25539ea4672f0ea9a3",
        "dc13d7df5da49e93963035633a82699c68fa0971"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Jul 27 01:31:16 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 25 21:16:27 2014 +0000"
      },
      "message": "Merge \"ART: Allow arrays with erroneous component type\""
    },
    {
      "commit": "dc13d7df5da49e93963035633a82699c68fa0971",
      "tree": "9e5b943745155b1bc72fc9b0d6856a85322e5c04",
      "parents": [
        "80b3f96ec1e408f34b8e7b76b14774794fa1abd8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 23 20:18:36 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 25 18:26:01 2014 -0700"
      },
      "message": "ART: Allow arrays with erroneous component type\n\nArray classes must tolerate having component type classes that are\nerroneous. Change CreateArrayClass to use LookupClass when FindClass\nfailed.\n\nBug: 16019155\nChange-Id: Id4868c5498431c85c199aa3cbecd23566dce3601\n"
    },
    {
      "commit": "8df73882c60451e7f789bf9b1f3db2d7dc228640",
      "tree": "1be3d2c3d4bfa3a0a189d15c98c36926c812e7f1",
      "parents": [
        "01be6e3c4e4f083842ac9a6f8f9e6c2c937b8a15",
        "167cc7c33f7100e3f7acc1594c066daa0122e27a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 29 08:36:21 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 23 19:30:00 2014 +0000"
      },
      "message": "Merge \"Revert \"Fix proxy tracing and enable tests that now work with tracing.\"\""
    },
    {
      "commit": "167cc7c33f7100e3f7acc1594c066daa0122e27a",
      "tree": "d265344c32c5bf37d356fcb4871f57a1250d16b6",
      "parents": [
        "0398e171f206cd3b140a358ac31b0a3760380df1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 29 08:33:44 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 29 08:33:44 2014 +0000"
      },
      "message": "Revert \"Fix proxy tracing and enable tests that now work with tracing.\"\n\nThis reverts commit 0398e171f206cd3b140a358ac31b0a3760380df1.\n\nChange-Id: I1346ab01485cc7207be0ecb4d8788c500c0df903\n"
    }
  ],
  "next": "6ec8ebd178ed39aa09e4c7fad194900114c4121a"
}
