)]}'
{
  "log": [
    {
      "commit": "2969bcdcd80624e4a4fef696b54c2c76b44b6853",
      "tree": "a097d139d5525ec2af6682f3e37bda94dead8cc9",
      "parents": [
        "f719fdd20e6282f3579cb99529bb65e852612647"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 09 12:57:41 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 11 09:27:03 2015 -0700"
      },
      "message": "ART: Refactor unstarted runtime\n\nRefactor and clean up unstarted runtime.\n\nBug: 19542228\nChange-Id: Ib3e4b3517e06e8242d4fed32ca59419fef553a47\n"
    },
    {
      "commit": "7e9c99bd850e22b8a5e2b5419bcf0b1abf0e29e5",
      "tree": "cf7a324287924099fcdef97b589e71353b0683ef",
      "parents": [
        "2af72de83957fb52426b8f9144e9814d35b78951",
        "f45599d8f92748c5c2d2aec515948932c52444eb"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Mar 10 15:42:14 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 10 15:42:14 2015 +0000"
      },
      "message": "Merge \"Turn on logging for oat file assistant tests.\""
    },
    {
      "commit": "f45599d8f92748c5c2d2aec515948932c52444eb",
      "tree": "13c11654afebf81307013065009c78b5d676abff",
      "parents": [
        "66d874d96d5699bb090c59f47a5a528956ca053e"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Mar 10 08:38:31 2015 -0700"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Mar 10 08:38:31 2015 -0700"
      },
      "message": "Turn on logging for oat file assistant tests.\n\nTemporary to debug test failure.\n\nChange-Id: Idbfcdbdae5e0aa3544b01f1a1ab0297a81d736d5\n"
    },
    {
      "commit": "2af72de83957fb52426b8f9144e9814d35b78951",
      "tree": "6f76addd2e75e6599080166e22c11c5575a172cb",
      "parents": [
        "072e48ed63aa4f99bec1dbbe8a7872a4bcc03e41",
        "0aa50ce2fb75bfc2e815a0c33adf9b049561923b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 10 15:08:13 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 10 15:08:13 2015 +0000"
      },
      "message": "Merge \"Remove ThrowLocation.\""
    },
    {
      "commit": "0aa50ce2fb75bfc2e815a0c33adf9b049561923b",
      "tree": "9a3f9603ab30d5cbc7fc21aee0ceb48bbb0dd25a",
      "parents": [
        "e8e42f3548fd894f860912bb1b71ce6fa2d7daf3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 10 11:03:29 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 10 14:51:11 2015 +0000"
      },
      "message": "Remove ThrowLocation.\n\nNote that this is a cleanup change, and has no functionality change.\nThe ThrowLocation had no use anymore.\n\nChange-Id: I3d2126af1dc673cec3a0453ff3d56a172663a5f6\n"
    },
    {
      "commit": "072e48ed63aa4f99bec1dbbe8a7872a4bcc03e41",
      "tree": "f7523ed14d6256e16eb8545f945d327a2228acc0",
      "parents": [
        "e8e42f3548fd894f860912bb1b71ce6fa2d7daf3",
        "66d874d96d5699bb090c59f47a5a528956ca053e"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Mar 10 14:41:25 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 10 14:41:26 2015 +0000"
      },
      "message": "Merge \"Create OatFileAssistant class for assisting with oat files.\""
    },
    {
      "commit": "e8e42f3548fd894f860912bb1b71ce6fa2d7daf3",
      "tree": "ea27dd630728cfa994ce2c5da522538744a7a8a9",
      "parents": [
        "54a8cc689dc23f346c9aac0d5fc6f47e61df8cad",
        "1558b577907b613864e98f05862543557263e864"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Mar 10 08:48:46 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 10 08:48:47 2015 +0000"
      },
      "message": "Merge \"JDWP: allocate DebugInvokeReq only when requested\""
    },
    {
      "commit": "66d874d96d5699bb090c59f47a5a528956ca053e",
      "tree": "d59bf83a08fead7d9823230831bea63c9e43a62c",
      "parents": [
        "2cfdabd2bb4833d7092819d27ef08a9e1cdffead"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jan 15 09:37:19 2015 -0800"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Mar 09 14:46:23 2015 -0700"
      },
      "message": "Create OatFileAssistant class for assisting with oat files.\n\nThe oat file assistant is used for determining whether dex2oat or\npatchoat is needed, for running dex2oat or patchoat as needed to make\nan oat file up to date, and to load dex files associated with a given\ndex location.\n\nThe introduction of the OatFileAssistant class is meant to clean up and\nconsolidate code related to the management of oat files that was\nduplicated and spread across dalvik_system_DexFile.cc and\nclass_linker.cc.\n\nBug: 11301553\nChange-Id: I0c16027b9bae4570c2c50faa9c14f581c0cbafb8\n"
    },
    {
      "commit": "9b34b244ecddd8a35c922ed87bc3df0ca4db0282",
      "tree": "cb73f09a77a1ba58331eb299bb8dd1e6eafb6eaa",
      "parents": [
        "81d38f74219774d87389f83f23595ffc8fe814b1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 09 11:30:17 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 09 14:25:02 2015 -0700"
      },
      "message": "Trim arenas for JIT\n\nMoved arena pool into the runtime. Added arena trimming to arena\npool. When called, this madvises the used memory.\n\nChanged the JIT compiler to trim arenas after compilation. Changed\nthe arena mmap name to dalvik-LinearAlloc.\n\nNative PSS before:\n  80353 kB: Native\n  80775 kB: Native\n  78116 kB: Native\nAfter:\n  73357 kB: Native\n  70181 kB: Native\n  70306 kB: Native\n\nBug: 17950037\nBug: 17643507\nBug: 19264997\n\nChange-Id: I63e7a898fd6e909c2c677fa57b5917a7b1398930\n"
    },
    {
      "commit": "ee0770379ab3e328fdd5a733e62f05b9f5216e38",
      "tree": "e37dfb0e4530395abad5a6c344651645b56e3082",
      "parents": [
        "2cfdabd2bb4833d7092819d27ef08a9e1cdffead"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 09 14:56:37 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 09 17:23:01 2015 +0000"
      },
      "message": "Use the current Java stack instead of the ThrowLocation.\n\nThe ThrowLocation contains information we can actually retrieve\nfrom the current stack.\n\nChange-Id: I7e5b2f519f95830c457cb31ea10a581aa9c973ee\n"
    },
    {
      "commit": "1558b577907b613864e98f05862543557263e864",
      "tree": "5498d8d15f198341fe46a8badc7e7591611a09b5",
      "parents": [
        "2cfdabd2bb4833d7092819d27ef08a9e1cdffead"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Feb 25 15:05:59 2015 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Mar 09 15:19:49 2015 +0100"
      },
      "message": "JDWP: allocate DebugInvokeReq only when requested\n\nOnly allocates thread-local DebugInvokeReq when the debugger requests\na thread to invoke a method. The JDWP thread allocates that structure\nthen attaches it to the target thread. When the thread is resumed, it\nexecutes the method. Once the invocation completes, the thread\ndetaches the DebugInvokeReq, signals the JDWP thread then suspends.\nFinally, the JDWP thread wakes up, prepares the reply with the invoke\nresult (or exception) and deallocates the DebugInvokeReq.\n\nAlso ensures GC safety for object returned by the invoke. We add the\nobject to the JDWP object registry right after the invoke. We now\nreference that object with a JDWP ObjectID instead of an Object* in\nthe DebugInvokeReq struct. This prevent from accessing a stale\nreference if the GC runs and moves the Object*.\n\nThis CL includes the following changes:\n- Move former DebugInvokeReq::ready flag to\n  Thread::tls_32bit_sized_values::ready_for_debug_invoke. It\u0027s needed\n  to know whether a thread has been suspended by an event, thus ready\n  to invoke a method from the debugger.\n- Remove DebugInvokeReq::invoke_needed: we now test if we attached a\n  DebugInvokeReq* to the thread.\n- Rename misleading FinishMethod function to RequestMethod.\n\nBug: 19142632\nBug: 18166750\nChange-Id: I351fb4eb94bfe69fcafb544d21d55ff35a033000\n"
    },
    {
      "commit": "5c9d8f0d2948c2b4fe4258f96e3598ad5b8fa23b",
      "tree": "7510031e119cf981cdb6aafc5e5c2299aa06590d",
      "parents": [
        "3dd536ffd7e8f82e4587964545b272acbd61d68e",
        "14691c5e786e8c2c5734f687e4c96217340771be"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 09 10:11:03 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 09 10:11:03 2015 +0000"
      },
      "message": "Merge \"Compute the right catch location for the debugger.\""
    },
    {
      "commit": "14691c5e786e8c2c5734f687e4c96217340771be",
      "tree": "7c2156671b323c70ffdd1d48d5e2f1d1de79c5fc",
      "parents": [
        "3d7d2af4c6502b771b032ee9bf3ab30e78f9c60d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 05 10:40:17 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 09 10:09:33 2015 +0000"
      },
      "message": "Compute the right catch location for the debugger.\n\nAlso remove tls ThrowLocation, it is not needed anymore.\n\nChange-Id: I78fddf09ce968ca475e39c17fa76d699c589c8d9\n"
    },
    {
      "commit": "5599377396861f5d67019b4b239e897f67fe8835",
      "tree": "8200f7be1274a8ece7550067a017c6a43d2f58fb",
      "parents": [
        "b1869d56444215f91f27ae037479ce65aca4e2a5",
        "e2be653f220106961ecb119063ef8b839ad1ad34"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Mar 07 01:27:52 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 07 01:27:52 2015 +0000"
      },
      "message": "Merge \"ART: Allow arraycopy with int[] in unstarted runtime\""
    },
    {
      "commit": "e2be653f220106961ecb119063ef8b839ad1ad34",
      "tree": "4d5b228b9d39d9bd86f415b3bf825565a6b183d4",
      "parents": [
        "41b15f9f06c7e2e5aac13f709c66412e6c299b67"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 06 17:11:47 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 06 17:11:47 2015 -0800"
      },
      "message": "ART: Allow arraycopy with int[] in unstarted runtime\n\nOverlooked in the condition, the actual code was already there.\n\nBug: 19542228\nChange-Id: I30caf77b345cb9bdb1f54c28bf4d42852c9a3298\n"
    },
    {
      "commit": "dfe3083054aa7be60adc24e3e58e0ae4773c41ff",
      "tree": "beefca8286b7e346b78cb7ab5e54cc7a543c8d14",
      "parents": [
        "41b15f9f06c7e2e5aac13f709c66412e6c299b67"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 06 15:28:34 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 06 16:46:04 2015 -0800"
      },
      "message": "Only allocate collectors if we may use them\n\nI believe most of the savings come from not allocating the concurrent\ncopying 8MB MarkQueue.\n\nBefore AOSP hh native PSS:\n    72653 kB: Native\n    72998 kB: Native\n    72882 kB: Native\n\nAfter AOSP hh native PSS:\n    64823 kB: Native\n    65986 kB: Native\n    64219 kB: Native\n\nBug: 17643507\nChange-Id: Ic5a8e753beca36142c1bf36be6311051f7c78e47\n"
    },
    {
      "commit": "41b15f9f06c7e2e5aac13f709c66412e6c299b67",
      "tree": "612885348ebff77bd74b2bef63112f864563b6e7",
      "parents": [
        "3b5408b565509341301e6da82f3d07c75aad5f51",
        "6ea651f0f4c7de4580beb2e887d86802c1ae0738"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 06 21:06:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 06 21:07:44 2015 +0000"
      },
      "message": "Merge \"Initial support for quick compiler on MIPS64r6.\""
    },
    {
      "commit": "6ea651f0f4c7de4580beb2e887d86802c1ae0738",
      "tree": "fd97dcbd7301892cb785ca34aee21ad86437c3b3",
      "parents": [
        "0e242b5cad3c0b68b72f28c1e5fd3fdd4c05bfd8"
      ],
      "author": {
        "name": "Maja Gagic",
        "email": "maja.gagic@imgtec.com",
        "time": "Tue Feb 24 16:55:04 2015 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 06 13:05:47 2015 -0800"
      },
      "message": "Initial support for quick compiler on MIPS64r6.\n\nChange-Id: I6f43027b84e4a98ea320cddb972d9cf39bf7c4f8\n"
    },
    {
      "commit": "15f345cdfaebe480de6387b67d4be4eb5f106870",
      "tree": "b4144be2207eab5584d100e155e107a873da4794",
      "parents": [
        "709d8df91d829573e399b68db882399e5509aeb5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 06 12:45:44 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 06 12:52:57 2015 -0800"
      },
      "message": "Fix failing hprof DCHECK\n\nBenign.\n\nBug: 19627999\nChange-Id: I20f3d36ffa1efaf23b40b6290c042df81eca2fea\n"
    },
    {
      "commit": "ff38c04b88e86bffdd520bc1863d05334ada6c94",
      "tree": "33daa35b0d24b3c56fd6be3809a12a6e4b2d7f02",
      "parents": [
        "a6aad92310895d35d8004da917100806d35d6b16"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 06 11:33:36 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 06 11:46:09 2015 -0800"
      },
      "message": "Fix byte and char Get32\n\n8 bit and 16 bit fields aren\u0027t necessarily 32 bit aligned due to\nfield packing. This was causing SIGBUS for hprof dumping some apps.\n\nBug: 19627999\n\n(cherry picked from commit 2ff8da6a4d44bcf6a72dca1b5294a72297c5ce26)\n\nChange-Id: If549412fc4d62c55bb6a46f11658fc60b822a27e\n"
    },
    {
      "commit": "b341b70b2418922d9b792cdba96d22bece87c55a",
      "tree": "143fcb9aa30dfd6f709c4b1d38f8506c164f6cb2",
      "parents": [
        "b265262780ef7384bdcd1413cde2a59f7594cec9",
        "12baf476389359d54ae04d7898190ef6f81ab0b2"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 06 11:47:03 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 06 11:47:03 2015 +0000"
      },
      "message": "Merge \"Extend compiler/optimizing/stack_map_test.cc.\""
    },
    {
      "commit": "1972a8ed19577edbf5d96fc587747d5b821979c4",
      "tree": "2d5e032d3bee98413199461a283cab21e07f2c82",
      "parents": [
        "17b8a7ae501c2e55062db79c0ea538d9061e1ee6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 05 17:12:54 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 05 17:17:35 2015 -0800"
      },
      "message": "Rename -Xjit / -Xnojit options to -Xusejit:\u003cboolean\u003e\n\nBug: 17950037\nChange-Id: I9182820240c8bbc2fa4767f6361ab3b7f1083a31\n"
    },
    {
      "commit": "184c9dc3bfc500134fdb2fbea0a7fab290c0abb0",
      "tree": "753a040fa1ef43651dd36fc4dfeb9377dc88e481",
      "parents": [
        "66b26662ad0c52c648c9b5ea4a99149091e842b4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 05 13:20:54 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 05 13:25:51 2015 -0800"
      },
      "message": "Fix some incorrect IsCompiler instead of IsAotCompiler\n\nFixes jdwp related issues (DDMS) when JIT is enabled.\n\nBug: 19623297\nChange-Id: I36139c70a97b529135febcf01b227e7ab9affacc\n"
    },
    {
      "commit": "12baf476389359d54ae04d7898190ef6f81ab0b2",
      "tree": "08978200d483aed50c0128e9fa241d254facb50b",
      "parents": [
        "442b46a087c389a91a0b51547ac9205058432364"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 05 12:41:42 2015 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 05 14:44:46 2015 +0000"
      },
      "message": "Extend compiler/optimizing/stack_map_test.cc.\n\nChange-Id: I6f8c3186683210a5162cbf4f15361a4c494495c9\n"
    },
    {
      "commit": "51867b3cdc0481048ea8c22a846932f2a207cf53",
      "tree": "bc3fc49f76f45a8c920152d766f0669efd23c2b6",
      "parents": [
        "dbba41df51fe364349dbaf1cc5d310fd7f24d269",
        "0b3ed3db963b80603c4e3d8e5df1f72b9327b24d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 04 23:45:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 04 23:47:11 2015 +0000"
      },
      "message": "Merge \"ART: Report zip opening error\""
    },
    {
      "commit": "0b3ed3db963b80603c4e3d8e5df1f72b9327b24d",
      "tree": "04177d83f2dcf2ae9e84b33f66b536bac036f200",
      "parents": [
        "18cd8711d0059415dc8a99470fc105279a9ce0c6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 04 15:38:51 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 04 15:38:51 2015 -0800"
      },
      "message": "ART: Report zip opening error\n\nDo not swallow the error message from ZipArchive::OpenFromFd.\n\nBug: 19574093\nChange-Id: I14ea771e63b7bc3e8051012a841e66b9e894aa3a\n"
    },
    {
      "commit": "dbba41df51fe364349dbaf1cc5d310fd7f24d269",
      "tree": "b406e315b7e0a145ab588ddbb13a35b134dc8b49",
      "parents": [
        "18cd8711d0059415dc8a99470fc105279a9ce0c6",
        "627f917e66a273e7cbc2805e49f53cf1b9ca0c77"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Mar 04 23:12:02 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 04 23:12:02 2015 +0000"
      },
      "message": "Merge \"Include what we use.\""
    },
    {
      "commit": "627f917e66a273e7cbc2805e49f53cf1b9ca0c77",
      "tree": "e995bc4765ea9da166128a2c9961286e725dc188",
      "parents": [
        "dc68bafc29a457b1cc5b29a03f2ef5f2af77865d"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Mar 04 15:06:16 2015 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Mar 04 15:06:16 2015 -0800"
      },
      "message": "Include what we use.\n\nNewest libc++ update fixes some of the header cruft.\n\nChange-Id: Ic5019ffcb272274ac3b21627218d65a887074458\n"
    },
    {
      "commit": "c670efd6ba9dbd1166bfd8c805bb6b2df7d4313a",
      "tree": "d112f34d4926e9b6fc3adf9504303fdddb22b7d3",
      "parents": [
        "029113f1013e2ce9027ea241a68f93072ce1bfe9",
        "7b2f09eb6b5c74ffc38bd70f0aa74b8f8112e394"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 04 21:12:27 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 04 21:12:27 2015 +0000"
      },
      "message": "Merge \"ART: Add debuggable compiler flag\""
    },
    {
      "commit": "029113f1013e2ce9027ea241a68f93072ce1bfe9",
      "tree": "7aabb31a73d4b558d05c1fd460fa4781657398c7",
      "parents": [
        "c4371cd0fe506703b5249cd9d7cad936b9fb4379",
        "729699d4a71c0e2452dc0745600d659d2cc7cb82"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 04 21:05:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 04 21:05:59 2015 +0000"
      },
      "message": "Merge \"ART: Fix missing handles\""
    },
    {
      "commit": "7b2f09eb6b5c74ffc38bd70f0aa74b8f8112e394",
      "tree": "be2f01bfa3e326ea10ee3a670cca8e41a5abaa6d",
      "parents": [
        "dc47e986941b1a3754447fabea272485f3f0f382"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 02 14:07:33 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 04 12:19:44 2015 -0800"
      },
      "message": "ART: Add debuggable compiler flag\n\nAdd a flag to compiler options that shows debuggability.\n\nChange-Id: Id17ec72babe2ee88713a0d274eff86508de30666\n"
    },
    {
      "commit": "729699d4a71c0e2452dc0745600d659d2cc7cb82",
      "tree": "b36d4eaa310a755c03764e1799ad11a2b52cd6fa",
      "parents": [
        "dc47e986941b1a3754447fabea272485f3f0f382"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 03 17:48:39 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 04 12:17:36 2015 -0800"
      },
      "message": "ART: Fix missing handles\n\nFollow-up to https://android-review.googlesource.com/137010.\n\nChange-Id: Ie97bd01f3cd6eeef9ae38fd189b933b905832d52\n"
    },
    {
      "commit": "3d7d2af4c6502b771b032ee9bf3ab30e78f9c60d",
      "tree": "cc15416fa8208661fe98a19055fa4c98010a0e53",
      "parents": [
        "87896b3a1f97c815fe02c7490c1f27951c58bbbf",
        "7642cfc90fc9c3ebfd8e3b5041915705c93b5cf0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 04 11:13:16 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 04 11:13:17 2015 +0000"
      },
      "message": "Merge \"Change how we report exceptions to the debugger.\""
    },
    {
      "commit": "c57ad2006ff00766940e7b9437f48f77ca8517e4",
      "tree": "e806e6cdfb8b42ac17e17f7b29be92111538b88e",
      "parents": [
        "ff3ef43f3d0f0986fe23286af028b352277b6e1e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Mar 03 21:21:29 2015 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Mar 03 21:21:29 2015 -0800"
      },
      "message": "Switch from memalign to posix_memalign for Mac build\n\nChange-Id: Id320015ea3999605954f53b5e266f53e968c7065\n"
    },
    {
      "commit": "ff3ef43f3d0f0986fe23286af028b352277b6e1e",
      "tree": "ee9d98ce4598eb664de307d54233896979025d40",
      "parents": [
        "5e42cd3eee2c89214a331a36fe226cfcc57917a3",
        "e15ea086439b41a805d164d2beb07b4ba96aaa97"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Mar 04 01:37:11 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 04 01:37:11 2015 +0000"
      },
      "message": "Merge \"Reserve bits in the lock word for read barriers.\""
    },
    {
      "commit": "e15ea086439b41a805d164d2beb07b4ba96aaa97",
      "tree": "465ee3780acd8b7cb35c8a7f42a1f3c5df3d26ec",
      "parents": [
        "0b25c71ac93fb10c484dbacb9e23db505a8e2353"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Feb 09 17:11:42 2015 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Mar 03 17:33:18 2015 -0800"
      },
      "message": "Reserve bits in the lock word for read barriers.\n\nThis prepares for the CC collector to use the standard object header\nmodel by storing the read barrier state in the lock word.\n\nBug: 19355854\nBug: 12687968\nChange-Id: Ia7585662dd2cebf0479a3e74f734afe5059fb70f\n"
    },
    {
      "commit": "91e56692c6bd9fa1d41951ee7dc311f19461f4be",
      "tree": "8e7600204eed1509b7ec436ae789f3d8195a8755",
      "parents": [
        "dc47e986941b1a3754447fabea272485f3f0f382"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Mar 03 13:51:04 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Mar 03 16:31:49 2015 -0800"
      },
      "message": "Wait for threads to finish unregistering\n\nThere was a race where Thread::join would return before the thread was\nunregistered. This caused a problem with Daemons.stop since the thread\nlist could get deleted before the daemon thread was removed from list_.\nThis caused occasional \"Request to unregister unattached thread\"\nerrors and warnings.\n\nThe fix is to wait until threads finish registering before destroying\nthe thread list. The only threads which can be unregistering at this\npoint are the daemons we stopped earlier during the runtime shutdown\nprocess. The issue is that thread join finishes before we remove the\nthread from the thread list.\n\nAlso some cleanup.\n\nBug: 18713034\nChange-Id: I8921122fe8462643a6b814b5f00632481e3831fb\n"
    },
    {
      "commit": "7642cfc90fc9c3ebfd8e3b5041915705c93b5cf0",
      "tree": "807b3c797483310ac23954c5eddb7441b91749c5",
      "parents": [
        "dc47e986941b1a3754447fabea272485f3f0f382"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 26 10:56:09 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 03 17:50:49 2015 +0000"
      },
      "message": "Change how we report exceptions to the debugger.\n\nThis is only a refactoring/cleanup. Bug fixes with respect\nto catch location, and more cleanups will follow.\n\nChange-Id: I30d3c6260b0c8f8115a811621397225b88f2063a\n"
    },
    {
      "commit": "126d65952a03b3e44d5021208673c01920a982a4",
      "tree": "6d5b3e5e93202bc33e73c1726d8a2ca3913dcbf6",
      "parents": [
        "775f1d4096efce112a3bd1e5897c84f898c5f7ce"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 03 14:28:35 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 03 16:28:18 2015 +0000"
      },
      "message": "Fix generic JNI stubs to not discard the Java native frame.\n\nChange-Id: Ic856b442fdde5ce91673fc5856eb0dfc84c75d28\n"
    },
    {
      "commit": "775f1d4096efce112a3bd1e5897c84f898c5f7ce",
      "tree": "44fbce76fdc2114947032cac69ad82aa93aee85c",
      "parents": [
        "cd93415651b7295d0bda1d37ef72ee99ba953c67",
        "bd9cf9f6bbf285ec7a5b74ce655a9e68e0f6e434"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Mar 03 13:39:30 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 03 13:39:31 2015 +0000"
      },
      "message": "Merge \"Follow-up 128393\""
    },
    {
      "commit": "bd9cf9f6bbf285ec7a5b74ce655a9e68e0f6e434",
      "tree": "04f3b49c2946c99b0aac23552f8c3cfdf8da39f4",
      "parents": [
        "ff9b747588e77f04b07dc76b2d39a82cbfc60441"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Mar 03 12:16:13 2015 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Mar 03 14:30:46 2015 +0100"
      },
      "message": "Follow-up 128393\n\nAvoids false warning when initializing the exception\u0027s class by\nmarking the transaction aborted after throwing the InternalError\nexception.\n\nAlso uses VLOG(compiler) to print the warning since it\u0027s only useful\nwhen investigating ahead-of-time class initialization.\n\nBug: 19202032\nChange-Id: I3c53639cbb888086ad345d668d1e5b73c5aaf861\n"
    },
    {
      "commit": "9729e52171e8f1e18681a7c7b57efd059f6563e7",
      "tree": "fdabf1d965d7d3d5b07813a273053d749e190194",
      "parents": [
        "207fc169d52c17f50c3a9e4ce0442d241c31b5fa"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 03 12:44:53 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 03 12:44:53 2015 +0000"
      },
      "message": "Revert GetThisObject change.\n\nCode was changed to use sizeof(void*) instead of the runtime\ninstruction set pointer size, which caused host compilation crashes.\n\nChange-Id: I3e59897620d6e55b43d6d76b5a0d6d0487b8081a\n"
    },
    {
      "commit": "7cde48c56df5b57aed524cce44c902bc720f2d6c",
      "tree": "b9b9e33b29f46bfe0c2da89c7e3e87c8ee419ccc",
      "parents": [
        "4b39eeea67b0fecf21588d7b00e92eb844014c24"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Jan 20 16:06:43 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 03 11:22:00 2015 +0000"
      },
      "message": "Stack support for Optimizing compiler\n\nAllows to read/write DEX registers from physical register or stack\nlocation when the method is compiled with the Optimizing compiler.\n\nRequired fixing arm and arm64 JNI compiler by saving floating\npoint registers.\n\nBug: 18547544\nChange-Id: I401579f251d1c0a130f6cf4a93a960cdcd7518f5\n"
    },
    {
      "commit": "1d8587fe1d98909b4949282f14c0334085fdc964",
      "tree": "6f9b07e180e86975769c3522b6783821408369dc",
      "parents": [
        "56505fe67e709d2ec17feff882229e781ff8589d",
        "deebb99a53b0af3ccfde9daaef8cae8fad9e44d2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 02 21:10:09 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 02 21:10:09 2015 +0000"
      },
      "message": "Merge \"Fix AddCurrentRuntimeFeaturesAsDex2OatArguments jit handling\""
    },
    {
      "commit": "9924fd8f27e020e9336a085333ef7c68699b8c22",
      "tree": "0d68afb266795d2dfaf8ce152710e0b56cf2a2df",
      "parents": [
        "0b25c71ac93fb10c484dbacb9e23db505a8e2353",
        "324b9bb2f48be39e20077c1d7da45cf3dc47fe06"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 02 20:57:47 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 02 20:59:13 2015 +0000"
      },
      "message": "Merge \"ART: Move DexFile vector to Java array\""
    },
    {
      "commit": "0b25c71ac93fb10c484dbacb9e23db505a8e2353",
      "tree": "e219fd8919e6edd4fa2033faa35628ee9d59261e",
      "parents": [
        "02f28fd679942fdad1b819baa947cd4e6eb99e3f",
        "5c42c29b89286e5efa4a4613132b09051ce5945b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 02 20:10:51 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 02 20:10:52 2015 +0000"
      },
      "message": "Merge \"Add support for .bss section in oat files.\""
    },
    {
      "commit": "deebb99a53b0af3ccfde9daaef8cae8fad9e44d2",
      "tree": "12e12ff23a4790b8076d6e45c3defb8695772072",
      "parents": [
        "0d1ef55dd46ecd0309f8e9e6b30625cde9473fc8"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 02 11:49:22 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 02 11:50:18 2015 -0800"
      },
      "message": "Fix AddCurrentRuntimeFeaturesAsDex2OatArguments jit handling\n\nNow jit passes interpret filter to dex2oat.\n\nBug: 19550422\nChange-Id: I932c7d1084acbb9d356ad0f5534a270e2ca2d6ec\n"
    },
    {
      "commit": "02f28fd679942fdad1b819baa947cd4e6eb99e3f",
      "tree": "5439920845cd4dd128e211978cdc3ed7c64e64c5",
      "parents": [
        "3ccd4cf596f633edbe379fc3600e07a5b9302357",
        "f0e128a41154642f470eae0c7c57476efb527cd1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 02 18:18:04 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 02 18:18:04 2015 +0000"
      },
      "message": "Merge \"ART: Allow more operations in unstarted Runtime\""
    },
    {
      "commit": "f0e128a41154642f470eae0c7c57476efb527cd1",
      "tree": "163083fe9eac8e79c94da4d00707aeddc9f66411",
      "parents": [
        "f90316e06e1c7b7b4a4ebea8de0a1b4d72228fd6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Feb 27 20:08:34 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 02 10:16:43 2015 -0800"
      },
      "message": "ART: Allow more operations in unstarted Runtime\n\nTo compile-time initialize more classes, have more dedicated code\nfor special methods.\n\nBug: 19542228\nBug: 19548084\nChange-Id: Iad37c1c58302b04fa3a5a904a923da388a079cd7\n"
    },
    {
      "commit": "5c42c29b89286e5efa4a4613132b09051ce5945b",
      "tree": "5db25a4f62c5583f2f6fc42b9a2ff47362eeed5c",
      "parents": [
        "242026e246a8b9efe098a0cce008fd525e011e5b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 25 12:02:49 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 02 18:07:03 2015 +0000"
      },
      "message": "Add support for .bss section in oat files.\n\nChange-Id: I779b80b8139d9afdc28373f8c68edff5df7726ce\n"
    },
    {
      "commit": "3ccd4cf596f633edbe379fc3600e07a5b9302357",
      "tree": "e696aa20e6df03fbca92dde302a9d3b0673aaf57",
      "parents": [
        "3d96f56f203c51c793befcc17619ad86e3b0a08e",
        "579885a26d761f5ba9550f2a1cd7f0f598c2e1e3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 02 18:04:15 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 02 18:04:15 2015 +0000"
      },
      "message": "Merge \"Opt Compiler: ARM64: Enable explicit memory barriers over acquire/release\""
    },
    {
      "commit": "3d96f56f203c51c793befcc17619ad86e3b0a08e",
      "tree": "07a29128d9d61aeee230e8b46de1e286a312defb",
      "parents": [
        "4ab52e75c782abf19ff9ebff8d19c87ec4ec97b6",
        "4f0be4d51f6842ac432ab24c2091b57806837a69"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 02 16:32:15 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 02 16:32:16 2015 +0000"
      },
      "message": "Merge \"ART: Fix off-by-two whitespace\""
    },
    {
      "commit": "4ab52e75c782abf19ff9ebff8d19c87ec4ec97b6",
      "tree": "182699e6f100d74902790594dc0b377999332378",
      "parents": [
        "2eb5168bd9e43b80452eaee5be32c063e124886e",
        "965fd02721746d4164bc40719cd53eefab37cfb3"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Mar 02 15:50:08 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 02 15:50:09 2015 +0000"
      },
      "message": "Merge \"Don\u0027t require three-character extensions for dex locations.\""
    },
    {
      "commit": "579885a26d761f5ba9550f2a1cd7f0f598c2e1e3",
      "tree": "58d144157b7a24bbdf7f8892631a15abeefa2c9f",
      "parents": [
        "2eb5168bd9e43b80452eaee5be32c063e124886e"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Sun Feb 22 20:51:33 2015 +0000"
      },
      "committer": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Mon Mar 02 14:16:56 2015 +0000"
      },
      "message": "Opt Compiler: ARM64: Enable explicit memory barriers over acquire/release\n\nImplement remaining explicit memory barrier code paths and temporarily\nenable the use of explicit memory barriers for testing.\n\nThis CL also enables the use of instruction set features in the ARM64\nbackend. kUseAcquireRelease has been replaced with PreferAcquireRelease(),\nwhich for now is statically set to false (prefer explicit memory barriers).\n\nPlease note that we still prefer acquire-release for the ARM64 Optimizing\nCompiler, but we would like to exercise the explicit memory barrier code\npath too.\n\nChange-Id: I84e047ecd43b6fbefc5b82cf532e3f5c59076458\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\n"
    },
    {
      "commit": "4f0be4d51f6842ac432ab24c2091b57806837a69",
      "tree": "e9a6c00d51f5fe01ae41ea08a7b62a7ae7487d41",
      "parents": [
        "02abb5075f3085e69c0c81fb5724c066f6c845b7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Feb 27 22:16:14 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Feb 27 22:16:14 2015 -0800"
      },
      "message": "ART: Fix off-by-two whitespace\n\nFollow-up to change 134380. Fix the whitespace to be printed. Fix\nstyle. It\u0027s surprising the linter did not complain.\n\nChange-Id: I3abcde3f401fa1fd4d7a847ff1f071fba23ce6a7\n"
    },
    {
      "commit": "00a1f5bfa57bb4007a08435ba83b029dcebde5c0",
      "tree": "a3d2562b439ba15faafafa60544eb9a342ff1bd8",
      "parents": [
        "242026e246a8b9efe098a0cce008fd525e011e5b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Feb 27 13:35:39 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Feb 27 20:12:47 2015 -0800"
      },
      "message": "Revert \"Revert \"Re-enable one thread dumping the native stack of another.\"\"\n\nThis reverts commit edfdaf37d5520a3c3a858b6b3fba4f759c60dadc.\n\nTests seem to succeed. Might be helpful to understand some deadlock/timeout\nsituations.\n\nBug: 15446488\nBug: 18713034\nChange-Id: I5be225363f698556221576b5827d9501e26799f3\n"
    },
    {
      "commit": "0a575f25c56c8fff485a1dd497ed1efb1b5d3ea9",
      "tree": "390539d2ac6f1083dba432803b7926d7cb2fb865",
      "parents": [
        "e111f1128c4d7cf34e30c4c3c7e682a682e262c4",
        "4858a935868162266ead90ef2f7802108711371d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 26 23:04:02 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 26 23:04:03 2015 +0000"
      },
      "message": "Merge \"Change card cache mod-union table to use bitmaps\""
    },
    {
      "commit": "4858a935868162266ead90ef2f7802108711371d",
      "tree": "f9c0fb37e188223122e3b823b0f0000e0e20c228",
      "parents": [
        "0644b2dae97d13bec14840cccb11b54697c34a34"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jan 23 13:18:53 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 26 14:48:46 2015 -0800"
      },
      "message": "Change card cache mod-union table to use bitmaps\n\nPreviously used card sets, using bitmaps saves memory and slightly\nincreases performance.\n\nAdded mod union table test.\n\nPerformance EvaluateAndApplyChanges (minimal changes):\n\nBefore (card cache image mu table):\nUpdateAndMarkImageModUnionTable: Avg: 524.320us\nImageModUnionClearCards: Avg: 54.580us\nNative PSS: ~67500kB\n\nAfter (card cache image mu table):\nUpdateAndMarkImageModUnionTable: Avg: 515.600us\nImageModUnionClearCards: Avg: 53.780us\nNative PSS: ~66014kB\n\nNative PSS was higher before since the mod_union_table-\u003eSetCards()\nwhich happens pre zygote fork was allocating a large amount of\nstd::nodes.\n\nBug: 11859910\n\nChange-Id: I956b7e51d5572feec1393ffa618b7b7d8c147b28\n"
    },
    {
      "commit": "e4d99873eb1dbee956d76c1edef489103898b33f",
      "tree": "378c72e5fbe52bc9bcf1623215ba73fb3b288087",
      "parents": [
        "f5c224cca603ef1dba9bb80952613facc22598fa"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Feb 26 12:53:45 2015 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Feb 26 12:59:20 2015 -0800"
      },
      "message": "Add standard gc log for transition collections.\n\nFactor out the gc log logic into a function.\n\nNote we still don\u0027t log in background as before but do for things like\nOOME compactions in foreground.\n\nChange-Id: Ifd35a796cf26aba2fba83bf07e72902357d91f8b\n"
    },
    {
      "commit": "965fd02721746d4164bc40719cd53eefab37cfb3",
      "tree": "f1140d01dfc9547757fbf5e5b97a9c780a7d7503",
      "parents": [
        "01b7c431ed85e0eae4554f6fc0f79a78bc82f31f"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Feb 26 11:08:57 2015 -0800"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Feb 26 11:08:57 2015 -0800"
      },
      "message": "Don\u0027t require three-character extensions for dex locations.\n\nBug: 19437875\nChange-Id: Ib62b4c691b04f27c5d499affd5a7fd4d9f0c64f9\n"
    },
    {
      "commit": "ff9b747588e77f04b07dc76b2d39a82cbfc60441",
      "tree": "5daf6478955d0f3c38cb10a4864bb8564b20ee97",
      "parents": [
        "f16fe893139345dad8b05b3db3e717c6f8d079d0",
        "813b9602dadeabf33439cb0592072744f6241ce5"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Feb 26 06:17:12 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 26 06:17:13 2015 +0000"
      },
      "message": "Merge \"JDWP: fix thread state on event suspension\""
    },
    {
      "commit": "3e781622a67e6d83e76e1bf765e9d84b3c718dc9",
      "tree": "5778d415d415ca90c0f3a7504b351bdbac4d5890",
      "parents": [
        "4f9bbe2a654165aedab62041101ae41d54c04e39"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Feb 25 12:52:34 2015 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Feb 25 17:39:52 2015 -0800"
      },
      "message": "Fix method_verifier_test with the SS collector.\n\nRename art_default_gc_type to ART_DEFAULT_GC_TYPE.\n\nBug: 19514492\n\nChange-Id: I3c7920e7a84327c5908462e51e21199b89fb187d\n"
    },
    {
      "commit": "4f9bbe2a654165aedab62041101ae41d54c04e39",
      "tree": "04408947669116247ae202cace66d760004d08c5",
      "parents": [
        "b491375af0ffa7f0ee534b30d606d8748f7ad15f",
        "c0d5f89d99c55ab63d6757fbd71dbfe95d347c1f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 26 00:34:11 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 26 00:34:11 2015 +0000"
      },
      "message": "Merge \"Fix JIT for vmdebug test 99\""
    },
    {
      "commit": "2d873b67f97c31da984c17ccbd94441c6264cafc",
      "tree": "0e7f57b37cc8e775f5971b4b1eb0e22ba0a1cf82",
      "parents": [
        "f58c11c92df59f7ec7d9f2dfadc7e400b790883d"
      ],
      "author": {
        "name": "Nikola Veljkovic",
        "email": "Nikola.Veljkovic@imgtec.com",
        "time": "Fri Feb 20 17:21:15 2015 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Feb 25 15:56:28 2015 -0800"
      },
      "message": "[MIPS] Fix mips32 trampoline problem.\n\nReserve argument slots (for $a0-$a3) on the stack in the\nInvokeTrampoline() function, for entrypoints that contain direct\nreference to native implementation. Called function may use this\nspace to store $a0-$a3 regs.\n\nThis fixes the Settings app crash on mips32, when navigating to:\nSettings-\u003eApps-\u003e(swipe) On SD card.\n\nChange-Id: If53ce822fd3ef6ef9839c89b556f76fac0792190\n"
    },
    {
      "commit": "c0d5f89d99c55ab63d6757fbd71dbfe95d347c1f",
      "tree": "dbee9449a109e88237205a68aba9f445d7e3e91d",
      "parents": [
        "8db3d76ba7061da80f5eb58079830c796e4dea61"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 25 13:22:57 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 25 15:03:03 2015 -0800"
      },
      "message": "Fix JIT for vmdebug test 99\n\nTest was flaky due to JIT re-compiliation after deoptimization\nresulting in some invalid PC offsets.\n\nBug: 17950037\nChange-Id: I276c84c918579259ce47ef873892c3c5dcf0c977\n"
    },
    {
      "commit": "32f500daa2c04b1efe946c12c90502736e47d5fc",
      "tree": "7065250ac6e2c07c252e1522bbf5762e7437133c",
      "parents": [
        "01b7c431ed85e0eae4554f6fc0f79a78bc82f31f"
      ],
      "author": {
        "name": "Anestis Bechtsoudis",
        "email": "anestis@census-labs.com",
        "time": "Sun Feb 22 22:32:57 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Feb 25 11:48:40 2015 -0800"
      },
      "message": "ART: oatdump enhancements\n\nNew features list includes:\n- Class filter option to limit classes search space\n- Method filter is applied only against the method\n  name, instead of the entire signature. Can be\n  combined with class filter for maximum efficiency.\n- Bulk dump of class and method names list only.\n  Can be combined with filters to limit results.\n- Export embedded dex files from input oat files\n  to filesystem (symlinks not supported as utils\n  functions are utilized for os \u0026 fs operations).\n- addr2instr option to locate the in-range method\n  implementation and limit disassemble dumps. Input\n  relative addr is added to oat executable offset to\n  calculate the search offset. If method has been\n  successfully located, code is dumped and program\n  aborts further analysis of the input file. Methods\n  located before the target address just print their\n  signature, although skip all disassemble and other\n  info. Calculated search offset is also printed as\n  part of the initial header info.\n- Little-endian dex instructions bytecode is printed\n  in the same line before the instruction string.\n\nSome minor re-orders have been also taken place for\nmore targeted results.\n\nChange-Id: I3116ee3c99c258718f46faea8ea4295da6ae2bf7\nSigned-off-by: Anestis Bechtsoudis \u003canestis@census-labs.com\u003e\n"
    },
    {
      "commit": "01b7c431ed85e0eae4554f6fc0f79a78bc82f31f",
      "tree": "3d203eca0ee9c82c7e5d1fd82c9cb3e5d7375987",
      "parents": [
        "ec27dc12124d57283d8f86e5386c95896b01eb23",
        "a6dfdae1cffc78f9791348b2e1dc8f4c6c3f7128"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Feb 25 18:12:27 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 25 18:12:27 2015 +0000"
      },
      "message": "Merge \"ART: Print maps directly to log\""
    },
    {
      "commit": "813b9602dadeabf33439cb0592072744f6241ce5",
      "tree": "a92393ce95b3e28d7ef9190352842fe58083d4d2",
      "parents": [
        "0b6daeb0f0014474b542cbba1f713eb0dbefb7f9"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Feb 24 14:56:59 2015 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Feb 25 17:29:21 2015 +0100"
      },
      "message": "JDWP: fix thread state on event suspension\n\nBefore suspending event thread, we ensure its state is kSuspended\nso the debugger sees it as RUNNING instead of WAIT.\n\nBug: 19103406\nChange-Id: I58b4141a958bf6a3c360f6994967fad0078ea373\n"
    },
    {
      "commit": "a6dfdae1cffc78f9791348b2e1dc8f4c6c3f7128",
      "tree": "2b07c1cc94212963ec38a2c0a784a26fe1522194",
      "parents": [
        "96ac49a260223dc00291116daa63d7489c52bb0f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Feb 24 15:50:19 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Feb 24 22:30:47 2015 -0800"
      },
      "message": "ART: Print maps directly to log\n\nDo not read proc maps into a string before printing them later back\nto the log. In low-memory situations this can cause a bad_alloc.\n\nExternal bug: http://b.android.com/153990\nBug: 19494774\n\nChange-Id: Ie63d8788afe8c9da65b30b2f89c50d3dbb820755\n"
    },
    {
      "commit": "324b9bb2f48be39e20077c1d7da45cf3dc47fe06",
      "tree": "d7efdc9aade5c693ace5dfbf9871ea6dfa7625d9",
      "parents": [
        "9e80e7fa5ef60f02f35823bc58969c3d5a03453e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 23 16:33:22 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Feb 24 21:57:08 2015 -0800"
      },
      "message": "ART: Move DexFile vector to Java array\n\nTo avoid having native vectors only referenced by Java objects,\nwhich look like leaks to Valgrind, use a Java array to store\nreferences to native DexFile objects.\n\nChange-Id: If3c2b31b9d0914ed1965cfd5e3fdb94ea41b1477\n"
    },
    {
      "commit": "42f8c1c39b74aae50714488525d14de30f9722c9",
      "tree": "6f8fb16d45fc182c3a7669651e2be14f38a788e8",
      "parents": [
        "8fa836e16e65aca3aeaa1c4784157207188e6373",
        "c801f0d79b8c5bf28401a040356b59b2f41520f4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Feb 25 04:56:43 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 25 04:56:43 2015 +0000"
      },
      "message": "Merge \"ART: Fix \"unused parameters\"\""
    },
    {
      "commit": "c801f0d79b8c5bf28401a040356b59b2f41520f4",
      "tree": "ebb9d2dbe0e4dae09b0b83c71d2383611f0b2737",
      "parents": [
        "17b01497b29f980a3d515a01adcb5f47df67ac63"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Feb 24 20:55:16 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Feb 24 20:55:16 2015 -0800"
      },
      "message": "ART: Fix \"unused parameters\"\n\nGCC 4.8 decides that parameters for functions implemented with\n\"\u003d default\" are unused. This currently only impacts x86, but remove\nthe parameter names anyways.\n\nChange-Id: I01865faa81af68c4c0e0b1cb1fb19e88ef548769\n"
    },
    {
      "commit": "9db831acffa509b2e46c1d63fe25650d3bedd415",
      "tree": "35480ba75101381a6e6648d267c485353a94c809",
      "parents": [
        "510be430dc4e68c09b56e5636e97a76380927e1d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 24 17:20:30 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 24 17:21:24 2015 -0800"
      },
      "message": "Print thread name for attempting to unregister unattached thread\n\nBug: 18713034\nChange-Id: Ic0654c6569277e5bbd6d2582140595faaa36cded\n"
    },
    {
      "commit": "510be430dc4e68c09b56e5636e97a76380927e1d",
      "tree": "a36f0ac6582f98f7074610442d09c5e1c87e3876",
      "parents": [
        "17b01497b29f980a3d515a01adcb5f47df67ac63",
        "e5f13e57ff8fa36342beb33830b3ec5942a61cca"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 25 00:47:14 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 25 00:47:15 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Add JIT\"\"\""
    },
    {
      "commit": "7c3952f423b8213083d60596a5f0bf4237ca3f7b",
      "tree": "40cbc6d30e02ab5edd8598d0f811b62f5c6045ba",
      "parents": [
        "354d58ba776866ea7b1c71f0d0848d5aaa013ae3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Feb 19 18:21:24 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Feb 24 15:57:15 2015 -0800"
      },
      "message": "ART: Add -Wunused\n\nUntil the global CFLAGS are fixed, add Wunused. Fix declarations\nin the optimizing compiler.\n\nChange-Id: Ic4553f08e809dc54f3d82af57ac592622c98e000\n"
    },
    {
      "commit": "e5f13e57ff8fa36342beb33830b3ec5942a61cca",
      "tree": "02e370ecc4e0d955f28bfc71a41015f94fbb19b7",
      "parents": [
        "354d58ba776866ea7b1c71f0d0848d5aaa013ae3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 24 09:37:21 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 24 10:47:02 2015 -0800"
      },
      "message": "Revert \"Revert \"Add JIT\"\"\n\nAdded missing EntryPointToCodePointer.\n\nThis reverts commit a5ca888d715cd0c6c421313211caa1928be3e399.\n\nChange-Id: Ia74df0ef3a7babbdcb0466fd24da28e304e3f5af\n"
    },
    {
      "commit": "e4266c511ffe6a1ed472292bea06881dcbf06f7a",
      "tree": "107bf68179b24919f284246cba181a0113119660",
      "parents": [
        "0b6daeb0f0014474b542cbba1f713eb0dbefb7f9"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Oct 29 12:06:51 2014 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Feb 24 18:00:29 2015 +0100"
      },
      "message": "JDWP: assert no pending exception when using JNI\n\nChecks there is no pending exception when creating new JDWP ids using\nJNI routines. We can create JDWP ids when executing code and report\nan event like a breakpoint.\n\nBug: 17491155\nChange-Id: I4e5851bf2261510b7776a709a2388e7ff586a77c\n"
    },
    {
      "commit": "893bee6c8f05fdf7345bf348a8f9d24e9300bf8e",
      "tree": "355c13610857333335851c7aa18fb73471f86529",
      "parents": [
        "f548c54c69443ba94fcee89daca6f5f499d71e9a",
        "2bf93f48bbb417b358c9e3c77911ea6ec7307c15"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Feb 24 09:28:49 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 24 09:28:50 2015 +0000"
      },
      "message": "Merge \"JDWP: update thread synchronization\""
    },
    {
      "commit": "f548c54c69443ba94fcee89daca6f5f499d71e9a",
      "tree": "aff0f707cb27e303d3b9de53f961bf48e38ad5be",
      "parents": [
        "9e87baff2eee8e8ae0700c7391ca4447dbe142b0",
        "a5ca888d715cd0c6c421313211caa1928be3e399"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 24 08:11:23 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 24 08:11:24 2015 +0000"
      },
      "message": "Merge \"Revert \"Add JIT\"\""
    },
    {
      "commit": "a5ca888d715cd0c6c421313211caa1928be3e399",
      "tree": "bdb08a2cbcf277ab7f02626a23b52a3fdf272ffe",
      "parents": [
        "2535abe7d1fcdd0e6aca782b1f1932a703ed50a4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 24 08:10:57 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 24 08:10:57 2015 +0000"
      },
      "message": "Revert \"Add JIT\"\n\nSorry, run-test crashes on target:\n0-05 12:15:51.633 I/DEBUG   (27995): Abort message: \u0027art/runtime/mirror/art_method.cc:349] Check failed: PcIsWithinQuickCode(reinterpret_cast\u003cuintptr_t\u003e(code), pc) java.lang.Throwable java.lang.Throwable.fillInStackTrace() pc\u003d71e3366b code\u003d0x71e3362d size\u003dad000000\u0027\n10-05 12:15:51.633 I/DEBUG   (27995):     r0 00000000  r1 0000542b  r2 00000006  r3 00000000\n10-05 12:15:51.633 I/DEBUG   (27995):     r4 00000006  r5 b6f9addc  r6 00000002  r7 0000010c\n10-05 12:15:51.633 I/DEBUG   (27995):     r8 b63fe1e8  r9 be8e1418  sl b6427400  fp b63fcce0\n10-05 12:15:51.633 I/DEBUG   (27995):     ip 0000542b  sp be8e1358  lr b6e9a27b  pc b6e9c280  cpsr 40070010\n10-05 12:15:51.633 I/DEBUG   (27995): \n\nBug: 17950037\nThis reverts commit 2535abe7d1fcdd0e6aca782b1f1932a703ed50a4.\n\nChange-Id: I6f88849bc6f2befed0c0aaa0b7b2a08c967a83c3\n"
    },
    {
      "commit": "4fa1a274024067e160a60d0a77124e95dca980e1",
      "tree": "61dd41429b6b2ed29239f0c619c0e7ea058fd4ac",
      "parents": [
        "40c99de1fd26f9ba6fae20a01175240b96fc7443",
        "2535abe7d1fcdd0e6aca782b1f1932a703ed50a4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 24 01:29:46 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 24 01:29:47 2015 +0000"
      },
      "message": "Merge \"Add JIT\""
    },
    {
      "commit": "2535abe7d1fcdd0e6aca782b1f1932a703ed50a4",
      "tree": "140026ff9638ff34050680b6c706b82fa1740b56",
      "parents": [
        "38fee8ef4bc0f4dbe2c6d1f5585895f0c4d16984"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 17 10:38:49 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Feb 23 16:45:49 2015 -0800"
      },
      "message": "Add JIT\n\nCurrently disabled by default unless -Xjit is passed in.\n\nThe proposed JIT is a method JIT which works by utilizing interpreter\ninstrumentation to request compilation of hot methods async during\nruntime.\n\nJIT options:\n-Xjit / -Xnojit\n-Xjitcodecachesize:N\n-Xjitthreshold:integervalue\n\nThe JIT has a shared copy of a compiler driver which is accessed\nby worker threads to compile individual methods.\n\nAdded JIT code cache and data cache, currently sized at 2 MB\ncapacity by default. Most apps will only fill a small fraction of\nthis cache however.\n\nAdded support to the compiler for compiling interpreter quickened\nbyte codes.\n\nAdded test target ART_TEST_JIT\u003dTRUE and --jit for run-test.\n\nTODO:\nClean up code cache.\nDelete compiled methods after they are added to code cache.\nAdd more optimizations related to runtime checks e.g. direct pointers\nfor invokes.\nAdd method recompilation.\nMove instrumentation to DexFile to improve performance and reduce\nmemory usage.\n\nBug: 17950037\n\nChange-Id: Ifa5b2684a2d5059ec5a5210733900aafa3c51bca\n"
    },
    {
      "commit": "39ce2282ed2b020e51e8d92f442b419ae9dd6434",
      "tree": "ec4bb0fc550d97dac474200246cedabb8b0759c5",
      "parents": [
        "9e80e7fa5ef60f02f35823bc58969c3d5a03453e",
        "05d1461f40a065acb66e6d5248609cf33c5b900a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 24 00:33:15 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 24 00:33:15 2015 +0000"
      },
      "message": "Merge \"Only detach shutdown thread if we attached it\""
    },
    {
      "commit": "05d1461f40a065acb66e6d5248609cf33c5b900a",
      "tree": "c31a40484dabb28d758f2dbcd375b6f96f6a8dd9",
      "parents": [
        "735969139b162f9d45a3c0e47dc24a8aec63c736"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Feb 23 15:31:58 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Feb 23 16:22:32 2015 -0800"
      },
      "message": "Only detach shutdown thread if we attached it\n\nSpeculative fix to:\n\"Request to unregister unattached thread\" bug.\n\nBug: 18713034\nChange-Id: I6e69088dd66970c704010397a11e3758cf107ff9\n"
    },
    {
      "commit": "24e04aa68c575d349eac0d9d09aab9bd3106ef94",
      "tree": "e6a14642cc4a4b409fe98a696b17968c6d0a65f4",
      "parents": [
        "38fee8ef4bc0f4dbe2c6d1f5585895f0c4d16984"
      ],
      "author": {
        "name": "Jean Christophe Beyler",
        "email": "jean.christophe.beyler@intel.com",
        "time": "Fri Sep 12 12:03:25 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 23 15:43:46 2015 -0800"
      },
      "message": "ART: Allow the execution to stop if the compilation fails via an option\n\nThe current implementation continues the execution of the application if\ndex2oat fails by relying on the interpreter.\n\nThis patch adds a -Xno-dex-file-fallback option to stop the default behavior.\nThis can be used two-fold.\n\nFirst, one can enforce that a runtime only starts with a boot image. A\nfollow-up patch will ensure that dex2oat (for apps) and patchoat in general\nrequest that mode and close gracefully otherwise.\n\nSecond, this can be used for testing and debugging purposes, as it ensures\nthat compiler failures \u0026 aborts are not silently ignored.\n\nAdd testing.\n\nBug: 19100590\nChange-Id: Iaf07b5ccf00942ca8a8ec8687599320a3ddbc089\nSigned-off-by: Jean Christophe Beyler \u003cjean.christophe.beyler@intel.com\u003e\n"
    },
    {
      "commit": "38fee8ef4bc0f4dbe2c6d1f5585895f0c4d16984",
      "tree": "bdb08a2cbcf277ab7f02626a23b52a3fdf272ffe",
      "parents": [
        "bad712e2576631529381280e52e36905dda5f048",
        "9e47bfa71d42df101aff9d156a1b296eaf6566a2"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Feb 23 19:30:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 23 19:30:29 2015 +0000"
      },
      "message": "Merge \"Avoid unaligned accesses (SIGBUG/BUS_ADRALN) in IRT.\""
    },
    {
      "commit": "9e47bfa71d42df101aff9d156a1b296eaf6566a2",
      "tree": "5122555b45668ab6cf0037772ffb50aacf46142e",
      "parents": [
        "d98ff78976696fdde1e7868d4687719a0439544b"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Feb 23 11:14:40 2015 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Feb 23 11:25:51 2015 -0800"
      },
      "message": "Avoid unaligned accesses (SIGBUG/BUS_ADRALN) in IRT.\n\nPointers in IrtEntry aren\u0027t currently aligned under 64 bit builds. But\nunaligned atomic stores (store exclusive) do not work on arm64 (causes\nSIGBUG/BUS_ADRALN). Fix CC collector crashes caused by this.\n\nBug: 12687968\nChange-Id: I1d2f5376778a9a1e5cfea876f1f57d7a88ad5445\n"
    },
    {
      "commit": "96ac49a260223dc00291116daa63d7489c52bb0f",
      "tree": "1c10beeaf90df2e2039aeb5848f82289bfae6b46",
      "parents": [
        "304e47467579c909a6312ef3cca5cdad1433de9c",
        "794ad76e8d5b5b9132819d5b08a0570e27615644"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 23 18:41:53 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 23 18:41:54 2015 +0000"
      },
      "message": "Merge \"ART: Introduce NO_RETURN, Mark DoLongJump noreturn\""
    },
    {
      "commit": "794ad76e8d5b5b9132819d5b08a0570e27615644",
      "tree": "74b420e4337ecf9e5df689cc376fa965d765a908",
      "parents": [
        "d98ff78976696fdde1e7868d4687719a0439544b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 23 08:12:24 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 23 10:23:06 2015 -0800"
      },
      "message": "ART: Introduce NO_RETURN, Mark DoLongJump noreturn\n\nAdd NO_RETURN macro that adds C++11 noreturn attribute. Mark\nDoLongJump methods as noreturn.\n\nChange-Id: Ifde4318e370493237050d4c1349285a0382df23f\n"
    },
    {
      "commit": "5a2be3f40125af8b25fbbd9d55dc968168c76ed7",
      "tree": "070b920e71c927f112a6922f5e7b59668392f762",
      "parents": [
        "d98ff78976696fdde1e7868d4687719a0439544b"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 16 13:51:51 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Sat Feb 21 11:19:07 2015 +0000"
      },
      "message": "Implement a simple count based boot marker.\n\nWe write the number of failed boots to the marker and only\nprune the dalvik cache if the number of consecutive failed\nboots is higher than a predefined threshold.\n\nNote that the code is forgiving of errors related to boot\nmarkers; we continue the boot process even if we\u0027re unable\nto create / write or flush the boot marker.\n\nbug: 19360096\nChange-Id: Ia17c3b783318ddf43c9199d0f7f09c54a4176667\n"
    },
    {
      "commit": "a53cfc8d2e8fd61cea630f3a5f1dab701edcb53c",
      "tree": "82cbc379cec84be9cc6672d6a4026036c3f35dd0",
      "parents": [
        "146a13d789af7246328c7af838e2ba52a7cd7bdd",
        "f360ad091bdc1484db2e4e0f0492f620402dbf58"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Feb 20 19:35:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 20 19:35:57 2015 +0000"
      },
      "message": "Merge \"Make UseTLAB a bool flag.\""
    },
    {
      "commit": "f360ad091bdc1484db2e4e0f0492f620402dbf58",
      "tree": "18b356225ef42bdc3a50a62a5f7975872c9742c6",
      "parents": [
        "4ba405483177cf346211d43d97892bae6ff14119"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Feb 20 11:28:03 2015 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Feb 20 11:28:03 2015 -0800"
      },
      "message": "Make UseTLAB a bool flag.\n\nThis would make it easier to override its default value at build time.\n\nChange-Id: I643fe1afaf492f0443dc01df0c9a62bb3fa025d9\n"
    },
    {
      "commit": "146a13d789af7246328c7af838e2ba52a7cd7bdd",
      "tree": "77d696b1bcc0e4c97f03917dfb79a68b462cdcf6",
      "parents": [
        "a5a3f03405e33edb5c73cb4aa58fb09fb46318f3",
        "fef16adc09a26aa8081c3e803bbc66e1947a97a0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Feb 20 18:45:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 20 18:45:31 2015 +0000"
      },
      "message": "Merge \"ART: Fix RosAlloc Valgrind code\""
    },
    {
      "commit": "a5a3f03405e33edb5c73cb4aa58fb09fb46318f3",
      "tree": "a814e7875db5a5e7d91decdc0b377a3a914d8580",
      "parents": [
        "4ba405483177cf346211d43d97892bae6ff14119",
        "ac195160c299f1c7a87144da7dccb9411df3c1fd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Feb 20 18:44:40 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 20 18:44:40 2015 +0000"
      },
      "message": "Merge \"Revert \"Do GC for alloc for unstarted runtimes\"\""
    },
    {
      "commit": "ac195160c299f1c7a87144da7dccb9411df3c1fd",
      "tree": "5fa58b8aac78fb8f7d9e8db68f71fb869f9a1e34",
      "parents": [
        "c0a7e2bb1609da40ec67cb7e00c918637c610897"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Feb 20 18:44:28 2015 +0000"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Feb 20 18:44:28 2015 +0000"
      },
      "message": "Revert \"Do GC for alloc for unstarted runtimes\"\n\nBug: 19451379\n\nThis reverts commit c0a7e2bb1609da40ec67cb7e00c918637c610897.\n\nChange-Id: Ib079e5ce1647fd44239f7f2f658b2c50d619fece\n"
    },
    {
      "commit": "fef16adc09a26aa8081c3e803bbc66e1947a97a0",
      "tree": "451830a8b277cedc147b9c3c7b8e94a132e93353",
      "parents": [
        "e90ccca801a3b7bda094ee0cc145fc62afd8d718"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Feb 19 16:44:32 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Feb 20 09:57:12 2015 -0800"
      },
      "message": "ART: Fix RosAlloc Valgrind code\n\nLarge object verification needs to take the redzones into account\nwhen checking the page size.\n\nChange-Id: I0529e21d085e82f2c8a6d8552de1e7c1df3956bc\n"
    },
    {
      "commit": "4fe292e2b6ba3980605373f183055a374084c65b",
      "tree": "cc689a549944d5302400aa155722e4e8715211b6",
      "parents": [
        "76f82fc75f245101828e2fdbbdec676af1717f0b",
        "acf735c13998ad2a175f5a17e7bfce220073279d"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Feb 20 10:40:50 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 20 10:40:51 2015 +0000"
      },
      "message": "Merge \"Reference type propagation\""
    },
    {
      "commit": "76f82fc75f245101828e2fdbbdec676af1717f0b",
      "tree": "300049142f90d978526d108ec1c08d28f014110a",
      "parents": [
        "e90ccca801a3b7bda094ee0cc145fc62afd8d718",
        "442b46a087c389a91a0b51547ac9205058432364"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Feb 20 10:27:12 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 20 10:27:13 2015 +0000"
      },
      "message": "Merge \"Display optimizing compiler\u0027s CodeInfo objects in oatdump.\""
    },
    {
      "commit": "def194e182ce703077e20bb59025998039fadb75",
      "tree": "1a9cea92901457cd7fbaa0f5c79bcbf010000335",
      "parents": [
        "42ad490249be898efa1b1196d4ecdbe2cfc3e77b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Feb 19 15:19:50 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Feb 19 15:19:50 2015 -0800"
      },
      "message": "ART: Do not read from JavaVMExt* after DestroyJavaVM\n\nDestroyJavaVM deletes the structure.\n\nChange-Id: Ida5fb98a47b1ebf0df7d54506e2fec8958fc105b\n"
    },
    {
      "commit": "42ad490249be898efa1b1196d4ecdbe2cfc3e77b",
      "tree": "367b6d34aa95f71896c972c69afb38cdefec41b6",
      "parents": [
        "718859325c773e144bddac4281a1cc63c5e9fcde",
        "c0a7e2bb1609da40ec67cb7e00c918637c610897"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 19 22:45:16 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 19 22:45:17 2015 +0000"
      },
      "message": "Merge \"Do GC for alloc for unstarted runtimes\""
    }
  ],
  "next": "6c8b49f2bf9c88ef8c38081b1459c73334967eb0"
}
