)]}'
{
  "log": [
    {
      "commit": "2ed8deff799448e094fa7a7cb9cf3b718820f4c6",
      "tree": "b33fa371673d2019b6a8bdb2c928237cd7b3a9d3",
      "parents": [
        "41bc89598bbfe1037740a6a2e12ce0936dd9ba19"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 28 14:41:02 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 15 09:42:50 2014 -0700"
      },
      "message": "ART: Allow quickening in the boot image\n\nUpdate the class linker to accept class status from the boot image\nin compiler mode. Update compiler driver to allow quickening for\nboot image classes. Update method verifier to accept quickened\ninstructions in compiler mode when we just want to dump. Update\noatdump to the new verifier API.\n\nBug: 17316928\n\n(cherry picked from commit 35439baf287b291b67ee406308e17fc6194facbf)\n\nChange-Id: I9ef1bfd78b0d93625b89b3d662131d7d6e5f2903\n"
    },
    {
      "commit": "5182932cf6704b53e957f7b4be021fe505a55e22",
      "tree": "99ee2bfb5a6f4d27735aeed26a0533c759db733c",
      "parents": [
        "56369897d662ea63ea5ed57ae36af0ae0fa1452d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 25 15:05:04 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 15 09:37:25 2014 -0700"
      },
      "message": "ART: Change access flag behavior in verifier\n\nNote: this moves the miranda modifier to the upper 16 bit.\n\nBug: 16161620\n\n(cherry picked from commit 7fc8f90b7160e879143be5cfd6ea3df866398884)\n\nChange-Id: I2f591d53b7d1559171e70aaaf22225d94b4882f5\n"
    },
    {
      "commit": "a5a53efea976af505f4f849b5925d5e14c4f8e5c",
      "tree": "455a536a9394908c17ec1ede04ab7ec49f9d3420",
      "parents": [
        "91bbd5347b391278b56440b2dbb0b77526bae4e8"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 12 12:58:05 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Sep 14 14:48:24 2014 -0700"
      },
      "message": "Add native support for FinalizerList.makeCircularListIfUnenqueued\n\nCalled from FinalizerReference.enqueueSentinelReference to prevent\na race where the GC updates pendingNext of the sentinel reference\nbefore enqueueSentinelReference.\n\nBug: 17462553\n\n(cherry picked from commit 3256166df40981f1f1997a5f00303712277c963f)\n\nChange-Id: I7ad2fd250c2715d1aeb919bd548ef9aab24f30a2\n"
    },
    {
      "commit": "2156ff1ff09166ad8270f27d758e913f120c3640",
      "tree": "c00f2c13d5ce557423bb8bf6b02b2e7cf0b1f18d",
      "parents": [
        "0785b90a38f5f2f0d5a9e3890fd16dc63a3bca10"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Sep 13 19:20:54 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Sep 13 19:20:54 2014 -0700"
      },
      "message": "Add time out to dump check point.\n\nChange-Id: I2263c092c9957585ae90cf846e77dc8861f8a14b\n"
    },
    {
      "commit": "ecaebd37bc9af576ddfe1be0bd4f3889e88d6f23",
      "tree": "f461acc73a65791f5a1a5c0d2b7d42b35add9c5b",
      "parents": [
        "9b43d91b21c83cb5fb3f618e3f8053fd7c39c906"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 12 23:10:21 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 12 23:10:21 2014 -0700"
      },
      "message": "Remove dex file index building mutex.\n\nFirst thread to get to max misses builds the index and sets an atomic, other\nthreads continue and return null. Avoids lock contention and removes a member\nvariable.\n\nChange-Id: Ia91e4a8fd915941aea849f019c85b67894ec6e71\n"
    },
    {
      "commit": "9b43d91b21c83cb5fb3f618e3f8053fd7c39c906",
      "tree": "8d3a5fd646d6e41ce084364576c7793fe06654e2",
      "parents": [
        "7bf641ed4d7d87f70e0e3a052ad35d15031cffcd",
        "844506b3f75b4643de8b326855daf03c2fbcc99c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Sep 13 05:18:12 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Sep 13 05:18:12 2014 +0000"
      },
      "message": "Merge \"Pass current thread as argument to alloc instrumentation.\""
    },
    {
      "commit": "844506b3f75b4643de8b326855daf03c2fbcc99c",
      "tree": "fe0804c1424e5c45314c260e019dabc592d0ba45",
      "parents": [
        "ebab3bbcaa09b644acd50ec18d79cb0d239bf347"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 12 19:59:33 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 12 19:59:33 2014 -0700"
      },
      "message": "Pass current thread as argument to alloc instrumentation.\n\nAvoids recomputation in the hot allocation path when instrumentation is\nenabled.\n\nChange-Id: Ic6e7d7d0744f4756787f75d21fddd3c50280b588\n"
    },
    {
      "commit": "7c438b19b71932ac8a44eff44f20744a01559c8d",
      "tree": "f724004a682cb7c2faa0d12579756c3a81b98252",
      "parents": [
        "ebab3bbcaa09b644acd50ec18d79cb0d239bf347"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 12 17:01:24 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 12 18:27:38 2014 -0700"
      },
      "message": "Fix stale root error in verifier\n\nThere was a stale root error caused by the static roots from\nthe reg types. These were visitied if there was an active verifier\nin the method_verifiers_ but this is not always the case when a GC\nis run. The fix is to always visit the static method verifier roots.\n\nThis only showed up as a bug without an image since these roots\nwere primitive classes and always in the image, and therefore\ndidn\u0027t ever need to be updated due to moving GC.\n\n(cherry picked from commit 6167864e28e4e12658ebdbaf1d5239acdaf4aaa4)\n\nChange-Id: I592f2770570de97b431671cfbd409f63697892f1\n"
    },
    {
      "commit": "ebab3bbcaa09b644acd50ec18d79cb0d239bf347",
      "tree": "1e5a20342b1ea2a278b332aa4c58b607a8c8aa6b",
      "parents": [
        "c33fe9a7e1be42c58c16784ab892268b5c04e83f",
        "7b078e8c04f3e1451dbdd18543c8b9692b5b067e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 12 23:23:30 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 12 23:23:31 2014 +0000"
      },
      "message": "Merge \"Compile time performance improvements focusing on interpret-only.\""
    },
    {
      "commit": "7b078e8c04f3e1451dbdd18543c8b9692b5b067e",
      "tree": "414229c6b87eb20ea24c40780752da5a3999a49a",
      "parents": [
        "f79ba17defbd9342e44ab9f3de0807054673d3c9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 10 14:44:24 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 12 14:57:53 2014 -0700"
      },
      "message": "Compile time performance improvements focusing on interpret-only.\n\nReduce virtual method dispatch in the method verifier and make more code\ninline-able.\nAdd a StringPiece with const char* equality operator to avoid redundant\nStringPieces and strlens.\nRemove back link from register line to verifier and pass as argument to reduce\nsize of RegisterLine.\nRemove instruction length from instruction flags and compute from the\ninstruction, again to reduce size.\nAdd suspend checks to resolve and verify to allow for more easy monitor\ninflation and reduce contention on Locks::thread_list_suspend_thread_lock_.\nChange ThrowEarlierClassFailure to throw pre-allocated exception.\nAvoid calls to Thread::Current() by passing self.\nTemplate specialize IsValidClassName.\nMake ANR reporting with SIGQUIT run using checkpoints rather than suspending\nall threads. This makes the stack/lock analysis less lock error prone.\nExtra Barrier assertions and condition variable time out is now returned as a\nboolean both from Barrier and ConditionVariable::Wait.\n\n2 threaded host x86-64 interpret-only numbers from 341 samples:\nBefore change: Avg 176.137ms 99% CI 3.468ms to 1060.770ms\nAfter change: Avg 139.163% 99% CI 3.027ms to 838.257ms\nReduction in average compile time after change is 20.9%.\nSlow-down without change is 26.5%.\n\nBug: 17471626 - Fix bug where RegTypeCache::JavaLangObject/String/Class/Throwable\ncould return unresolved type when class loading is disabled.\nBug: 17398101\n\nChange-Id: Id59ce3cc520701c6ecf612f7152498107bc40684\n"
    },
    {
      "commit": "af4edbd2b77fef0eee3827eb30cc1a0e8e6efeb1",
      "tree": "927248376b57fd3924abdb92ac21c6a6d12c2a20",
      "parents": [
        "f79ba17defbd9342e44ab9f3de0807054673d3c9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Sep 08 17:42:48 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 12 14:06:27 2014 -0700"
      },
      "message": "Fix and re-enable FreeList large object space for 64 bit\n\nNot enabled on 32 bit due to virtual memory fragmentation concerns.\nThe new free list large object space ensures that allocations are\npage aligned by using a side table for accounting data.\n\n(cherry picked from commit 66e222aa48e6d2fe4c78a1df938364b82bc83e72)\n\nChange-Id: Idbcbe75cb86b6d9b3d8b20f3048631a48c511458\n"
    },
    {
      "commit": "663c0bfd8b66065e4b024ba4677b6d5a1cbbce6f",
      "tree": "b421d534d2bda4c247f0a1f6bc91e7b6689910b7",
      "parents": [
        "6fc33690c7763064e6c011c251f823ab3f733021",
        "e2d596efcd193292a5e41d9f0ded09ae441593b1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Sep 12 08:52:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 12 08:52:23 2014 +0000"
      },
      "message": "Merge \"x86 fault handler does not know about movb\""
    },
    {
      "commit": "ab0ed82ff64ba5a751dcc0a38d0e0c41c53dc923",
      "tree": "c67cceb67994868c42cc16ab8416fa93b56ce682",
      "parents": [
        "3fec7718041302f769995eedda9beef362131842"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Sep 11 14:21:41 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Sep 11 18:04:33 2014 -0700"
      },
      "message": "Add fast path to VMClassLoader.findLoadedClass\n\nVMClassLoader.findLoadedClass now calls FindClassInPathClassLoader\nas a fast path. Exclusive time results (trace view maps launch):\n\nBefore:\nnativeFillInStackTrace 1.4%\ndefineClassNative 1.2%\nfindLoadedClass 0.2%\n\nAfter:\nnativeFillInStackTrace 0.5%\ndefineClassNative 0.0%\nfindLoadedClass 0.9%\n\n(cherry picked from commit 194116c836080de14245a3a7c4617d07b8abf8cf)\n\nChange-Id: I63fd7b4bccb71789e92bd39d1d3f9d0de22535de\n"
    },
    {
      "commit": "bb0c7f6a247521bc3e85f08f93603122bccb1a72",
      "tree": "40e13d2b70928d2d885fdf2f9d501c2d067bf3c9",
      "parents": [
        "59dae45a3d1ef83771fb78421fcf8fda838b4d16"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Sep 11 10:59:33 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Sep 11 17:33:54 2014 -0700"
      },
      "message": "ART: Fix preverified setting in VerifyClass\n\nMake sure soft-failed classes cannot set methods to pre-verified.\n\nBug: 16828525, 17465185\n\n(cherry picked from commit 3892cf8da7d5e76c0dee585fc8f69df773680525)\n\nChange-Id: I09c0a68ca722978459741311148eae7614f9ca49\n"
    },
    {
      "commit": "2e158932354e5950eb59c79498ab46b0586885fd",
      "tree": "6cccc50847537d9dd807b49347b7bec846e5ec6e",
      "parents": [
        "02308cf78484bcd125d92ebb27185d890889b92a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Sep 11 13:14:31 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Sep 11 16:55:49 2014 -0700"
      },
      "message": "Delete pin table\n\nThe pin table was brought over from dalvik but not really needed\nsince ART doesn\u0027t support pinning in movable spaces. The only\nthing it did was hold objects live for JNI functions.\nThis shouldn\u0027t be necessary since people keep jni references to\nthese objects or else they could never release the elements.\n\nBug: 17456946\n\n(cherry picked from commit a967c62e4e6675d3553445aa8e95a09e7a3381b0)\nChange-Id: Ibed0d029157ffb9e75ecd80d4d544d690986c090\n"
    },
    {
      "commit": "b4fffc702abc8aebac2c34eaf852aec52be87eb3",
      "tree": "4f9e8ddba864ccb6b6bda8925405c45cb00d0bce",
      "parents": [
        "77f46bbe03cde911bc4b36ff8e7807e8ceaa9f90"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 10 18:41:18 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 11 16:13:00 2014 -0700"
      },
      "message": "Print the command line and ABI in stack dumps like debuggerd.\n\nEnsure the heading is \"Cmd line:\" just like debuggerd and\nas it used to be in Dalvik.\nFix a missing newline.\nTrim all training nulls from the command line.\nDon\u0027t bother printing the original command line if unset.\nAdd the ABI to the dump to help the native stack symbol tool.\n\nBug: 17474152\n\n(cherry picked from commit 09865b8aa2d85f2824fbdac8034cab01629e8adc)\n\nChange-Id: I52d55660276092ed73b61d5e0708460ec39f1a4a\n"
    },
    {
      "commit": "3c821c67e28ee1ec7bea2b3b644f5aed303f19f3",
      "tree": "cf9f9cf4f2bbef75683ca195ecabcc02b7888281",
      "parents": [
        "a68b478fbc6ca8d445a3befc7eb8ca58586294eb"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Sep 10 10:08:37 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 11 13:08:13 2014 -0700"
      },
      "message": "Add DumpClass context on CacheField and CacheMethod failures\n\nChange-Id: Ia1992d98c998cdc98896f5912da50c4849de7699\n"
    },
    {
      "commit": "f397866ce6d446d3ec5d12a6d002a3ee2d34b9c7",
      "tree": "dda43ad7a2b096d9f8e823a851b6ebc20ae8b305",
      "parents": [
        "b30e0c644d1f15cf7f048ce733131e7ac70772ae"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 11 12:21:04 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 11 12:21:04 2014 -0700"
      },
      "message": "Fix cpplint issue.\n\nChange-Id: I57f70381b005a3601bba1ab4d646e974860af1c4\n"
    },
    {
      "commit": "b30e0c644d1f15cf7f048ce733131e7ac70772ae",
      "tree": "3cb14501878ea73e1777658b84c6acdafe91d0fc",
      "parents": [
        "3437531f515d84609fa43baaec32a0d1cc0e3fe0"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Sep 11 16:23:44 2014 +0200"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 11 12:09:40 2014 -0700"
      },
      "message": "Fix crash when connected to DDMS\n\nRestore init of WellKnownClasses::org_apache_harmony_dalvik_ddmc_Chunk_data and\nremoved duplicated line.\n\nBug: 17467328\nBug: 17463118\n\n(cherry picked from commit 96cd6714d94b47512710776761dec98c8be68bef)\n\nChange-Id: I9f225825bef4995460e1c79a9f3a6c1331f24201\n"
    },
    {
      "commit": "3437531f515d84609fa43baaec32a0d1cc0e3fe0",
      "tree": "2331d63b2299babe5adb7240e7864695eb4bb34d",
      "parents": [
        "967e1a56df7675c8d38d411736fc081039f1a9f9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Sep 10 23:10:47 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 11 12:09:40 2014 -0700"
      },
      "message": "Use WellKnownClasses in ThrowStackOverflowError to reduce changes of further stack overflow\n\nBug: 17463118\n\n(cherry picked from commit bfc2b98a3cf7a9d580f2477e54aabded5004fd26)\n\nChange-Id: Iea04bb7f6c4daa9cbdb8ee6ce8ddcbeb9f05aa3d\n"
    },
    {
      "commit": "967e1a56df7675c8d38d411736fc081039f1a9f9",
      "tree": "62151b066b7531bbe78bfd6fe3c375ea31d3d2bc",
      "parents": [
        "4a4dafe9bbf3fd1b15d85d76c3af7dd581647ace",
        "46f0e97fcd4521db8b98a62eb977095b884659db"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Sep 11 18:10:04 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 11 18:10:04 2014 +0000"
      },
      "message": "Merge \"Add some comments for retired class.\""
    },
    {
      "commit": "4a4dafe9bbf3fd1b15d85d76c3af7dd581647ace",
      "tree": "c7139472cbcab7d3b06648c5d05bc6430f88ff52",
      "parents": [
        "33c1693244996102c3aa37d2f54e02220d77f62b",
        "48498591b90a8ff7b24b1ce05c220e3bc42013df"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Sep 11 15:06:09 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 11 15:06:10 2014 +0000"
      },
      "message": "Merge \"ART: Correctly make methods preverified\""
    },
    {
      "commit": "48498591b90a8ff7b24b1ce05c220e3bc42013df",
      "tree": "39ca61335fafc57cbcf91c5087335f367ccbedc4",
      "parents": [
        "b9620f305c79914f5159cf9279a7ccd173af1186"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 10 19:48:05 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Sep 11 08:04:35 2014 -0700"
      },
      "message": "ART: Correctly make methods preverified\n\nBug: 16828525\n\n(cherry picked from commit df1532b9ba0cda2d00b78fbdef461f8a6cf8a737)\n\nChange-Id: I66756348b2aa50e41dacca59769b6810a91c73b0\n"
    },
    {
      "commit": "070f732bc270f6b9a579838d3418eb13b9cdf8ff",
      "tree": "2f9fc4e13662e5eab9352684dc8fbb7a5909aca4",
      "parents": [
        "bb2e4d7d2d863e2d10876a469642784c9aeafda6"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Sep 09 12:08:49 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Sep 11 11:59:12 2014 +0200"
      },
      "message": "Fix deadlock in VirtualMachine.AllThreads\n\nWe cannot add any object in the JDWP object registry while holding the\nLocks::thread_list_lock. Indeed we may need to suspend a thread and take it,\ncausing a deadlock by waiting for ourself on this lock.\n\nBug: 17343664\n\n(cherry picked from commit d35776413901a6a9d478e06dc354ea4f7d962e04)\n\nChange-Id: I07d150b95a6d2b62c913bf2ca2ac217911b2f19d\n"
    },
    {
      "commit": "4537c41b9a58c2280b3ad8bcf0130ed11c7a54f6",
      "tree": "94017c28f80cd0cbbe2d9aa61f9eabc02e6047fc",
      "parents": [
        "c7f6b86c269727fe031146b9c18652d40916d46f"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Aug 28 14:41:50 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Sep 11 11:37:43 2014 +0200"
      },
      "message": "Don\u0027t hold any lock when visiting classes from JDWP\n\nComputes reference type ids of all loaded classes without holding the class\nlinker lock. Because computing the JDWP reference type id can cause thread\nsuspension, we can\u0027t hold any lock. This is detected in debug build (using\nlibartd.so) and causes an abort.\n\nAlso adds missing thread safety annotations related to ObjectRegistry::lock_.\n\nBug: 17305632\nBug: 16720689\n\n(cherry picked from commit 95795e286145a4aece5c4a095fa2e7e88ee2115a)\n\nChange-Id: If4fb069790a0a3358ad49da8f75c62a54c0f0b56\n"
    },
    {
      "commit": "e2d596efcd193292a5e41d9f0ded09ae441593b1",
      "tree": "d93b763c54846dc8a819c28c1dc011fdc9271bd9",
      "parents": [
        "b9620f305c79914f5159cf9279a7ccd173af1186"
      ],
      "author": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Mon Sep 08 17:48:25 2014 +0700"
      },
      "committer": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Thu Sep 11 10:20:14 2014 +0700"
      },
      "message": "x86 fault handler does not know about movb\n\nmov byte instruction is not known for fault handler and therefore\nit cannot catch null pointer exception represented by this instruction.\nAs a result implicit null check does not work.\n\nChange-Id: I45d6056f838d1568fce3de58218437fc12d1c45b\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\n"
    },
    {
      "commit": "b9620f305c79914f5159cf9279a7ccd173af1186",
      "tree": "edfb15d759f16808d575cb849302fc2fd22d6709",
      "parents": [
        "575a5649715ee50e0de8a107e8a5379d4c465382",
        "928f72bd75c385ba2708c58521171a77264d4486"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 10 23:43:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 10 23:43:32 2014 +0000"
      },
      "message": "Merge \"ART: Fix things for valgrind\""
    },
    {
      "commit": "575a5649715ee50e0de8a107e8a5379d4c465382",
      "tree": "09ee802f371c500ecd938d9189fa430bc5b6e517",
      "parents": [
        "6c8f8f632da00bbc0cffc89a12b0716f8500f039",
        "1ee99e31c630d6277c1e69f7c57bcf0b350538f6"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Sep 10 23:15:15 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 10 23:15:15 2014 +0000"
      },
      "message": "Merge \"Revert \"Disable Clang internal assembler.\"\""
    },
    {
      "commit": "1ee99e31c630d6277c1e69f7c57bcf0b350538f6",
      "tree": "50a92e3f5552aa5174ae54c645f579c40a30cf0b",
      "parents": [
        "d619cab991f116d7a90c9abeff8770e7d7a3a45a"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Sep 10 23:14:26 2014 +0000"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Sep 10 23:14:26 2014 +0000"
      },
      "message": "Revert \"Disable Clang internal assembler.\"\n\nThis reverts commit d619cab991f116d7a90c9abeff8770e7d7a3a45a.\n\nChange-Id: I69da36d734678dd5e9a99c1c53093fcaf81a66c3\n"
    },
    {
      "commit": "928f72bd75c385ba2708c58521171a77264d4486",
      "tree": "86f7fa7a21e3f6d21c9cab2d4fffe4aaa42dc458",
      "parents": [
        "dab9ed52f2df7189b81ccf3237b030ff638a492a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 09 19:53:48 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 10 15:50:42 2014 -0700"
      },
      "message": "ART: Fix things for valgrind\n\nWire up valgrind gtests. Add valgrind-test-art-host, currently\nonly depending on valgrind-test-art-host-gtest32.\n\nFix an Alloc setting to allow running valgrind.\n\nRefactor the fault handler to manage (and correctly release) the\nhandlers.\n\nFix minor failure-case leaks exposed by tests.\n\nFailing tests:\n\nThe optimizing compiler is leaking non-arena-ed structures\n(e.g., assembler buffers), as code generators are not destroyed.\nThe solution has been moved to a follow-up CL.\n\nNote: All 64b tests are failing as we cannot allocate a heap.\n\nChange-Id: I7f854cfd098d9f68107ce492363e7dba9a82b9fa\n"
    },
    {
      "commit": "6c8f8f632da00bbc0cffc89a12b0716f8500f039",
      "tree": "c6784f0352a76d97bd26d8451dfb01abc84cad85",
      "parents": [
        "a87a7950ee79f42351992d211517f9f22e9393ee",
        "5441091dc78c64a683cb336ff27e80c364bc2cd3"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 10 22:41:54 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 10 22:41:55 2014 +0000"
      },
      "message": "Merge \"Re-add read barrier to roots in the verifier.\""
    },
    {
      "commit": "a87a7950ee79f42351992d211517f9f22e9393ee",
      "tree": "251ccde96c5913a93782041fcf9624233794d773",
      "parents": [
        "be428b4da47339409aac0cfa153888c384dfaef7",
        "d8f69b086baf6717ce949d1c4de90d73b91083b0"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 10 22:41:42 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 10 22:41:43 2014 +0000"
      },
      "message": "Merge \"Revert \"Add read barriers for the roots in the verifier.\"\""
    },
    {
      "commit": "5441091dc78c64a683cb336ff27e80c364bc2cd3",
      "tree": "f5321f27c993634d46cc9777def144cd7f4f0b2e",
      "parents": [
        "d8f69b086baf6717ce949d1c4de90d73b91083b0"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 10 15:33:05 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 10 15:33:05 2014 -0700"
      },
      "message": "Re-add read barrier to roots in the verifier.\n\nFixes read-barriers but keeps verifier API invariants. Based on:\nhttps://android-review.googlesource.com/#/c/102962\nBug: 17398101\n\nChange-Id: Iad986784a5d735ccb3214362ccfc7ef69bc02c57\n"
    },
    {
      "commit": "958d78e51725730ccc38c33ff9424887adc7343b",
      "tree": "b5e67909fc0cab3e6a7d4860d85e8f1649961021",
      "parents": [
        "73f7d79c1755f85b2be590aa9d9b18e054f76a1a",
        "faff0f05fef90577c9744505555675185832aacd"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Sep 10 22:22:13 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 10 22:22:14 2014 +0000"
      },
      "message": "Merge \"Remove reference_static_offsets used for iterating through class static fields.\""
    },
    {
      "commit": "d8f69b086baf6717ce949d1c4de90d73b91083b0",
      "tree": "1a19ca7433520d48f2446d985794f0f55edef003",
      "parents": [
        "2adccb618c0de207fde96e5e90ce99c79eb8eb85"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 10 21:43:52 2014 +0000"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 10 15:21:47 2014 -0700"
      },
      "message": "Revert \"Add read barriers for the roots in the verifier.\"\n\nThis reverts commit 7da9586b559290e1c16207c6513ffe485de61655.\n\nBug: 17398101\n\nChange-Id: I1d6110fdf0d3a3c9241c8e7e7f4b85a298f9dd8e\n"
    },
    {
      "commit": "46f0e97fcd4521db8b98a62eb977095b884659db",
      "tree": "ea0b3bf38138c4c806452382d5daad4b8a6b9923",
      "parents": [
        "73f7d79c1755f85b2be590aa9d9b18e054f76a1a"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Sep 10 15:16:19 2014 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Sep 10 15:17:09 2014 -0700"
      },
      "message": "Add some comments for retired class.\n\nChange-Id: I9208ddc9a73ce751d5bfba786cf0496faba8e126\n"
    },
    {
      "commit": "faff0f05fef90577c9744505555675185832aacd",
      "tree": "40b5130526b80fe0a59f815f19dc2b87b0a9f879",
      "parents": [
        "05382d22a2ebbc95142ec2fc46e2d56b23e699ee"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Sep 10 12:03:22 2014 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Sep 10 14:40:37 2014 -0700"
      },
      "message": "Remove reference_static_offsets used for iterating through class static fields.\n\nSince static fields are contiguous in class object and there is no need to\ntraverse super classes, it\u0027s not meaningful to use reference_static_offsets.\nAlso especially with embedded vtable/imt, static field offset can\u0027t be encoded\nwith an unsigned integer anyway.\n\nA corresponding change is made to Class.java to remove the member field.\n\nBug: 16236588\nChange-Id: I1fde3cd9efce884945876f0658c63d992164fd94\n"
    },
    {
      "commit": "1a465ca32178292888d3dc34b1cd784432a35848",
      "tree": "c7588d59075c51969fb2a46edb09a1fefeb9a848",
      "parents": [
        "833ec8ff84a25078f5755489d7a36db3015c069a"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Sep 10 19:44:39 2014 +0200"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Sep 10 11:10:56 2014 -0700"
      },
      "message": "Ensure class is linked before resolution\n\nAdds a missing call to ClassLinker::EnsureResolved to ensure we did link the\nclass and retired the temp class (placeholder) before doing the resolution.\n\nBug: 17435441\n\n(cherry picked from commit 72da76359aa5599f78ddca79b294e9bf30e004ed)\n\nChange-Id: I3b368567c7b24ec2ff7ee1dec7bcd3501a6061f8\n"
    },
    {
      "commit": "833ec8ff84a25078f5755489d7a36db3015c069a",
      "tree": "24bbd9227f9e0ea0855c0892d512f0a65833a790",
      "parents": [
        "6a64c6cd9922035f26d1f92b52605b9ee37ada6a",
        "194321c7f3300ce0d6e5efea8ad77115c7038d35"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 10 18:07:01 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 10 18:07:02 2014 +0000"
      },
      "message": "Merge \"Add proper cfi directives.\""
    },
    {
      "commit": "194321c7f3300ce0d6e5efea8ad77115c7038d35",
      "tree": "929136a459106b3f67379a146aab6697ae7bc7c1",
      "parents": [
        "e1a851c161db964e42be642c6db470e289100f40"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Sep 09 13:55:13 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 10 11:05:45 2014 -0700"
      },
      "message": "Add proper cfi directives.\n\nThis function has a mix of arm and cfi directives. Since our unwinders\ncan work with both, remove the arm directives and fix the cfi directives.\n\nBug: 17392751\n\n(cherry picked from commit 7fae7c40e62ffe669fc224c57ed530b4d9c8da2c)\n\nChange-Id: I82a84db47ffa283f9e392d24de9a8c9958a59631\n"
    },
    {
      "commit": "44ff47008394f4451ab37dec2852e52b794e6e4a",
      "tree": "563917c17dcf4602f90e20dd3c4e98101a068234",
      "parents": [
        "55454c52abdb496bb6fc070f0fd1c618f7a926aa",
        "8a74117cac720239a69e60e734c7044b433fad47"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Sep 10 17:02:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 10 17:02:31 2014 +0000"
      },
      "message": "Merge \"Address read barrier issue with cl/106467\""
    },
    {
      "commit": "55454c52abdb496bb6fc070f0fd1c618f7a926aa",
      "tree": "2c530e631854cdb8161e590a3984adcf66013fcf",
      "parents": [
        "cf71e0b62cf8e21082204de120416c776706b6c6",
        "d619cab991f116d7a90c9abeff8770e7d7a3a45a"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Sep 10 16:33:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 10 16:33:09 2014 +0000"
      },
      "message": "Merge \"Disable Clang internal assembler.\""
    },
    {
      "commit": "aa4497db59f1eeec954f2ba5da6d458fcdf9b3a4",
      "tree": "1efe5c6c5fe93ae73b6ad02db1a4ac368c71c00e",
      "parents": [
        "6724a9531c92368491dd17937d0087f73a7c0642"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 05 14:01:17 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Sep 10 16:02:14 2014 +0100"
      },
      "message": "Improve dex location canonicalization-related performance.\n\nEagerly add canonical dex file locations to the OatFile\u0027s\nprimary lookup map in Setup(). This moves the boot.oat work\nfrom every app startup to the zygote initialization. Since\nwe always ended up initializing the canonical location map\nanyway due to the way that we\u0027re loading dex files, the lazy\ninitialization didn\u0027t save anything.\n\nClean up dex file name canonicalization to make sure we\nfree() the memory returned by realpath() rather than using\nstd::unique_ptr\u003c\u003e with the default deleter.\n\nAvoid some unnecessary duplicate OatDexFile lookups.\n\nBug: 16828525\nBug: 17346103\nChange-Id: Id8fbc8992f62996138eb2006a0046c6529747c09\n"
    },
    {
      "commit": "e1a851c161db964e42be642c6db470e289100f40",
      "tree": "02cb79b5d062f20fc58ff388ed3b76a694545157",
      "parents": [
        "05382d22a2ebbc95142ec2fc46e2d56b23e699ee",
        "cd48f2d86197d4fe87cc88077bc4af5ba66e5295"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 09 21:59:47 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 09 21:59:47 2014 +0000"
      },
      "message": "Merge \"Change Reference.get() intrinsic to Reference.getReferent().\""
    },
    {
      "commit": "8a74117cac720239a69e60e734c7044b433fad47",
      "tree": "88663982b24ac419886c432b22aebb1387c0039a",
      "parents": [
        "9b2b927f573264c2f0d66b24ceeb361857a41ab3"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Sep 08 13:22:56 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Sep 09 14:19:23 2014 -0700"
      },
      "message": "Address read barrier issue with cl/106467\n\nAnd tidy/add a check.\n\nBug: 12687968\nChange-Id: If63dc0d9d0a0ce5f2eeb81734ff8f4307865f67d\n"
    },
    {
      "commit": "d619cab991f116d7a90c9abeff8770e7d7a3a45a",
      "tree": "1ebdf849dac174fe86b4540b5629956430992ad2",
      "parents": [
        "9b2b927f573264c2f0d66b24ceeb361857a41ab3"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Sep 09 13:59:33 2014 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Sep 09 13:59:33 2014 -0700"
      },
      "message": "Disable Clang internal assembler.\n\nTo avoid compilation errors with macros and directives in asm_support_x86.S.\n\nBUG: 17443165\nChange-Id: Ia89387bf2213cf1bfd4dd7248a19b47391e8fb67\n"
    },
    {
      "commit": "cd48f2d86197d4fe87cc88077bc4af5ba66e5295",
      "tree": "a678a9eafd72d80cb6d7581b99cc11bc9cf64911",
      "parents": [
        "5bc47ebe278af65e8e2a2d6b603ac94a020285f7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 09 13:51:09 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 09 13:51:09 2014 -0700"
      },
      "message": "Change Reference.get() intrinsic to Reference.getReferent().\n\nThe reference intrinsic was incorrectly inlining\nPhantomReference.get(). We now get around this by adding a\nlayer of indirection. Reference.get() now calls getReferent()\nwhich is intrinsified and inlined.\n\nRequires:\nhttps://android-review.googlesource.com/#/c/107100/\n\nBug: 17429865\nChange-Id: Ie91e70abf43cedf3c707c7bb8a5059e19d2a2577\n"
    },
    {
      "commit": "d063d912e5580222b1822b152de315420cef49ee",
      "tree": "98399fb92eaeefab47daf6ce9b77f03ffb8841d8",
      "parents": [
        "5bc47ebe278af65e8e2a2d6b603ac94a020285f7"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Sep 08 09:38:18 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Sep 09 11:39:38 2014 -0700"
      },
      "message": "Change when sampling thread is reset during shutdown to prevent races.\n\nAlso adds some extra argument checking and testing for tracing.\n\nBug: 17412385\n\n(cherry picked from commit f8bdd4e783842577e49f418a0b5962ba49dfdd93)\n\nChange-Id: Ifc4f1a296155d73255b29d264b5475024e6419da\n"
    },
    {
      "commit": "6be5a284194f34b5316982c6afa0d3a15bcbcfef",
      "tree": "ea185692ff8cd6d8e11158bf3ee05a21365e6f44",
      "parents": [
        "42bc2f1fac342a01d38bc452da1e70f8099f7c2f",
        "30c2e1b3970c8a720eac38dbaca1d849c619114e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Sep 09 09:08:41 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 09 09:08:42 2014 +0000"
      },
      "message": "Merge \"Small error reporting fix in class linker.\""
    },
    {
      "commit": "c48b20611eea4d29361e83b2bcbe65eae6a655a3",
      "tree": "dd5a75a89e3b55cacb81e560077de155cf5ddbe2",
      "parents": [
        "cf254a2fcf69bdd032e4f2726fc1bd751544b0b6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 08 23:39:45 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 09 01:21:14 2014 -0700"
      },
      "message": "ART: Better error reporting on broken oat file\n\nDo not blow up when in GetHashBucket if GetHashBucketNum is zero.\nInstead back-step to ElfFileOpen, which prints which symbol was\nmissing from which file.\n\nBug: 17422404\n\n(cherry picked from commit 1b2140c9bf46388e4f59ecf3d62d99cd78fed12c)\n\nChange-Id: I3b890dd1c31c08b1ccc0f7f668afcceee95f8d00\n"
    },
    {
      "commit": "c7376cabb889eb49cbd2dd9a77d10ee63a53d5b5",
      "tree": "09fef7a9ceb03b21ffa0bbe59485d6b1c9dfdc4d",
      "parents": [
        "38510082135a7fb438afb515fa3174596e644e9b"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Sep 08 10:15:19 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Sep 09 09:48:17 2014 +0200"
      },
      "message": "Fix monitor visit for class initializer\n\nWe do not hold class object\u0027s lock when invoking class initializer. Therefore\nit is wrong to visit it when looking for monitors owned by a thread.\n\nBug: 17377924\n\n(cherry picked from commit 6d06f1b34322d91226c9dcd61e53c2b6731f8bb6)\n\nChange-Id: I9a18c421297608dc3109624111f9fea021a16d24\n"
    },
    {
      "commit": "38510082135a7fb438afb515fa3174596e644e9b",
      "tree": "1713771d82e5dfd77fd41cdbb83133f6551ddfda",
      "parents": [
        "9102fff43f52be08032b07e1e922dcdd3660f6b3",
        "376fa68f02d1cd56e506533a3ad16de4de88271d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 09 05:09:47 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 09 05:09:47 2014 +0000"
      },
      "message": "Merge \"ART: Fix unchecked register index validity\""
    },
    {
      "commit": "376fa68f02d1cd56e506533a3ad16de4de88271d",
      "tree": "9a462043cdacba41c96c6a1ee3c8ba08f904318b",
      "parents": [
        "ed20a4d80bcd8d47b5bcdd51ef17c786c0e5015c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Sep 07 13:06:12 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 08 22:08:53 2014 -0700"
      },
      "message": "ART: Fix unchecked register index validity\n\nThe static check of index validity is against the type given by\nthe instruction, e.g., boolean for SPUT_BOOLEAN, but the target_type\nis the resolved field type and can differ. An additional check is\nnecessary to avoid a read out of bounds.\n\nBug: 17411109\n\n(cherry picked from commit 74ae47a0590feceea31a2388f98c83e3ec0df0ec)\n\nChange-Id: Ie4ed8bbda79f3f6403a24e727450a943447aa71d\n"
    },
    {
      "commit": "6bcae8fa93684af581d16400f360541d39e5b5e6",
      "tree": "88f99458a0141805acee3f730a0709542283698e",
      "parents": [
        "30cbbee37d9fcca1a39b3681434180102ee5251a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Sep 04 18:33:17 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Sep 08 18:14:42 2014 -0700"
      },
      "message": "Add fast path for FindClass using the type dex file.\n\nIf we are using the PathClassLoader with a BootClassLoader\nparent, we can handle the common case in the FindClass function\nwithout needing to go back to java code.\n\nAround 10% speedup measured of maps launch, could be noise due to\nlarge variation of app launch times. Eliminates defineClassNative\nfrom being anywhere near the top of sampling profiles.\n\nBug: 17397179\nBug: 16828525\n\n(cherry picked from commit 8a39e7fe02e9a81853dc7a75cb50d9ece07a9b37)\n\nChange-Id: I1f31de76c1b1a53e32173b1e61a59b0e2f267c98\n"
    },
    {
      "commit": "30cbbee37d9fcca1a39b3681434180102ee5251a",
      "tree": "878d4aaeaf0a08f64d8c0b30ab80c40b70aaf019",
      "parents": [
        "b27285583ca40253b76010948420a91b45f79257"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Sep 08 13:35:11 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Sep 08 16:10:12 2014 -0700"
      },
      "message": "Ignore heap trim requests if we are the zygote\n\nDone to prevent app launching lag due to sleep in heap trimmer\ndaemon.\n\nBug: 17310019\n\n(cherry picked from commit f81bfa3e21c8a4e031505470ea954c93949cb30b)\n\nChange-Id: I3942d465781218aa04f7edc899ea87aa091f3cf7\n"
    },
    {
      "commit": "b27285583ca40253b76010948420a91b45f79257",
      "tree": "affc2711a5d6ca80d2bfd1963032bb4554b62599",
      "parents": [
        "6aca61ab6aff59c2d150fbafbdc48f0490c93d58"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Sep 08 20:08:41 2014 +0000"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Sep 08 16:09:56 2014 -0700"
      },
      "message": "Revert \"Fix heap trimmer daemon sleeping.\"\n\nThis reverts commit 698b44634396e8111e96e1116586fde89a838347.\n\n(cherry picked from commit 4d3981c72a546b87c8f5d391ff8b5135b8ca99a7)\n\nChange-Id: I7245bc08ebb95c12e7cc71b97edf9ca11ffbdf61\n"
    },
    {
      "commit": "6148d5340d5f2f4cffaa465229a1722b5a775c28",
      "tree": "360efbe3be43c5569d9a5fd275d738c2b6566d33",
      "parents": [
        "9b2b927f573264c2f0d66b24ceeb361857a41ab3",
        "1f0437ecd88bef4a40e587283b02785839bac4b8"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Sep 08 21:00:47 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 08 21:00:48 2014 +0000"
      },
      "message": "Merge \"Delete double finalization hack.\""
    },
    {
      "commit": "30c2e1b3970c8a720eac38dbaca1d849c619114e",
      "tree": "35b252fe4012c6b7aa9ad94b29c350bf542722a9",
      "parents": [
        "e2c23739c6395a83b30ece38f8a2e9e1bf7cf3ce"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Sep 08 09:55:29 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Sep 08 18:17:07 2014 +0100"
      },
      "message": "Small error reporting fix in class linker.\n\nChange-Id: Ia9e94df48e9984c25ad8ab5c6ca41f9153984915\n"
    },
    {
      "commit": "3946844c34ad965515f677084b07d663d70ad1b8",
      "tree": "0d85bfba2ff69c34a2897351d1e50a1464509305",
      "parents": [
        "e2c23739c6395a83b30ece38f8a2e9e1bf7cf3ce"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 02 15:17:15 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 08 12:15:07 2014 +0100"
      },
      "message": "Runtime support for the new stack maps for the opt compiler.\n\nNow most of the methods supported by the compiler can be optimized,\ninstead of using the baseline.\n\nChange-Id: I80ab36a34913fa4e7dd576c7bf55af63594dc1fa\n"
    },
    {
      "commit": "1f0437ecd88bef4a40e587283b02785839bac4b8",
      "tree": "60433394cc9e8cd1cd6e701d324f6a1081ea169d",
      "parents": [
        "b14339904c9cacc4af74260c7325e4eb32947f95"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 05 14:40:03 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 05 14:40:11 2014 -0700"
      },
      "message": "Delete double finalization hack.\n\nNo longer necessary.\n\nChange-Id: Ie5eb9e9ce4b8473d3b3e65bd108f93223b9a80dd\n"
    },
    {
      "commit": "306db81aba41eb244a4e8299cf58ac18ae9999c7",
      "tree": "a069a9dda1b246466cbeee2736f46f18ef56714e",
      "parents": [
        "b14339904c9cacc4af74260c7325e4eb32947f95"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 05 13:01:41 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 05 13:24:24 2014 -0700"
      },
      "message": "Fix numerous issues with DdmVmInternal allocation tracking\n\nIssues addressed:\n- Using without JDWP attached caused native crash.\n- When buffer is full (64k entries), number of entries reported was 0.\n- Disabling tracking after disabling tracking caused native crash.\n- Asking for allocations after disabled caused native crash.\n- Lock ordering issues between mutator lock and alloc tracker lock.\n\nAdding 098-ddmc test to cover these cases.\n\nBug: 17392248\n\n(cherry picked from commit a5815065ac0877add9c0db3605d27b4d6c426e61)\n\nChange-Id: Ib0bc18dfcdafcc050ab9dceed3d167dd878d1d7a\n"
    },
    {
      "commit": "b14339904c9cacc4af74260c7325e4eb32947f95",
      "tree": "6b64fcc3f530b6bb40e713ad1373fd5b82bfca7c",
      "parents": [
        "e5de88328353cbd4f3b313d26529ebb9c10c41c3",
        "871bfdcacbce7db574c4d1007f0065e65db26a7f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 05 17:19:23 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 05 17:19:24 2014 +0000"
      },
      "message": "Merge \"Revert \"Revert \"x86: Fix art_quick_instrumentation_exit\"\"\""
    },
    {
      "commit": "621962a0872bf328dba7eda44061f0f505014cef",
      "tree": "5212d8448e57e959dc6bac16ca9be4dffc522f1a",
      "parents": [
        "a8c55ae449ad423087f232b2fec1064062755970"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Sep 02 15:53:55 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Sep 05 16:33:50 2014 +0100"
      },
      "message": "Avoid recomputing the dex checksum during class loading\n\nThread the already computed checksum to VerifyOatAndDexFileChecksums and\nLoadMultiDexFilesFromOatFile to avoid recomputing it.\n\nBug:17346103\n\n(cherry picked from commit ca3459398018360d9968a52eebf727df085caf83)\n\nChange-Id: Ie244efaca55b9e7c814b35feec7fce11fab3856d\n"
    },
    {
      "commit": "a8c55ae449ad423087f232b2fec1064062755970",
      "tree": "17ca4770b299f41045e1e820840eafd255d4b12b",
      "parents": [
        "194b032b6d43299e117292494064d54ecf4ddbd8"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Sep 05 16:14:19 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Sep 05 16:14:19 2014 +0100"
      },
      "message": "Remove unreachable code from class_linker.cc\n\nIf the checksum doesn\u0027t match the oat_dex_file will be NULL, a case\nwhich is handled in the first if.\n\nBug: 17402267\n\nChange-Id: If8547ddc8fd7eff59a3b7dd36c07ac4ceb351361\n"
    },
    {
      "commit": "871bfdcacbce7db574c4d1007f0065e65db26a7f",
      "tree": "6713e308240a0b3eac08aaca84e800955c4c1b80",
      "parents": [
        "ed20a4d80bcd8d47b5bcdd51ef17c786c0e5015c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 05 05:43:34 2014 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Sep 04 22:44:39 2014 -0700"
      },
      "message": "Revert \"Revert \"x86: Fix art_quick_instrumentation_exit\"\"\n\nNeed to use GOT to avoid TEXTREL.\n\nThis reverts commit 62aa66f8532b8eb44e882596010b33e7781b0754.\n\nChange-Id: Ife659c28d621596ad288999fa128dcf32fc0b1c7\n"
    },
    {
      "commit": "62aa66f8532b8eb44e882596010b33e7781b0754",
      "tree": "928cadcdceb8c17ee9284a8d055390d0bc8cdf46",
      "parents": [
        "5324dc896b69fc14a24334f52169e2319b9b3842"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 05 05:02:08 2014 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 05 05:02:08 2014 +0000"
      },
      "message": "Revert \"x86: Fix art_quick_instrumentation_exit\"\n\nGCC 4.8 can\u0027t handle it correctly.\n\nThis reverts commit 5324dc896b69fc14a24334f52169e2319b9b3842.\n\nChange-Id: I2478a52f147b585658d0e5769c3fce7f2c75240e\n"
    },
    {
      "commit": "5324dc896b69fc14a24334f52169e2319b9b3842",
      "tree": "549710afd96a9b537a67d584a259b4cd38b423fd",
      "parents": [
        "ed20a4d80bcd8d47b5bcdd51ef17c786c0e5015c"
      ],
      "author": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Wed Aug 27 18:45:56 2014 +0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 05 02:47:46 2014 +0000"
      },
      "message": "x86: Fix art_quick_instrumentation_exit\n\nMake sure that we use a move-immediate instead of a\nmove-from-address (previously this was a load, whereas now\nwe are interested in the address as a value).\n\nChange-Id: I4048c4a97abcc6524fe976bdc35b834d8f3bc592\nSigned-off-by: Dmitry Petrochenko \u003cdmitry.petrochenko@intel.com\u003e"
    },
    {
      "commit": "ed20a4d80bcd8d47b5bcdd51ef17c786c0e5015c",
      "tree": "928cadcdceb8c17ee9284a8d055390d0bc8cdf46",
      "parents": [
        "0e59bf8b767e9be7ea22c67011ea902d597fe43f",
        "8be44cf31e76465090d717ccadcabeb079e03f5e"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Sep 04 21:59:58 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 04 21:59:59 2014 +0000"
      },
      "message": "Merge \"Fix arm64 build warning (promoted to error).\""
    },
    {
      "commit": "0e59bf8b767e9be7ea22c67011ea902d597fe43f",
      "tree": "bf6fbf9900ecf85d331023341af7908642825b23",
      "parents": [
        "552da6697f77b1d94a69b0ba54509a25a0de3ae7",
        "6be67eeedbe60afce42300ae3e7f0e7180a96efa"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Sep 04 21:47:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 04 21:47:08 2014 +0000"
      },
      "message": "Merge \"ART: Change ART for new native bridge sequence\""
    },
    {
      "commit": "8be44cf31e76465090d717ccadcabeb079e03f5e",
      "tree": "a1bbecc3c44276c2c636e79e144ca2979cd0b615",
      "parents": [
        "0c2894b5db7ad9ccc44f2ac37034cdc2bb05cda7"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Sep 04 14:33:42 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Sep 04 14:33:42 2014 -0700"
      },
      "message": "Fix arm64 build warning (promoted to error).\n\nThis refactors code that caused an warning on the arm64 build.\n\nChange-Id: I1c0ddabb7061ea289d98b03554bf764c26256078\n"
    },
    {
      "commit": "6be67eeedbe60afce42300ae3e7f0e7180a96efa",
      "tree": "404ed85d5c31744e66405d0147d9f14a67887428",
      "parents": [
        "47e877ab2d6744f4360d37f179eb5affd6a46470"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 02 21:22:18 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Sep 04 12:46:09 2014 -0700"
      },
      "message": "ART: Change ART for new native bridge sequence\n\nInitialize or unload after a fork.\n\nChange-Id: I5a20de1cb68dd1802937b369b14c50c9c1031c67\n"
    },
    {
      "commit": "91bb35cb7d5bb5dd28201d4334dace3546c376e6",
      "tree": "caa8c695156c85a0bc93de373fbbe61ad711202e",
      "parents": [
        "5250180c6783901c5e8cb580fe7d53890af6291c",
        "0c2894b5db7ad9ccc44f2ac37034cdc2bb05cda7"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Sep 04 18:06:25 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 04 18:06:25 2014 +0000"
      },
      "message": "Merge \"Make nested signal more generic\""
    },
    {
      "commit": "5250180c6783901c5e8cb580fe7d53890af6291c",
      "tree": "b62e98c1f8bc4d4569d0bd5d0950354e5c32ded2",
      "parents": [
        "217dc450cf0fef8539beaded77c704cfcb6669e9",
        "23d683ff957ed9967a045ad3da61f4a4e3c99f2a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Sep 04 17:51:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 04 17:51:04 2014 +0000"
      },
      "message": "Merge \"Fix heap trimmer daemon sleeping.\""
    },
    {
      "commit": "23d683ff957ed9967a045ad3da61f4a4e3c99f2a",
      "tree": "83dd1cdda19eb56a5997246eb48d69959ec932fa",
      "parents": [
        "5355835411cafcc2772e061cb7aef3b8ca1e6ea1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Sep 03 21:26:36 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Sep 04 10:39:10 2014 -0700"
      },
      "message": "Fix heap trimmer daemon sleeping.\n\nProblem:\nHeap trimmer daemon sleeping caused app launch occasionally to take a\nwhile due stopping the heap trimming thread taking a long time.\n\nThe heap trimmer thread now never sleeps, we prevent issues caused\nby frequent back and forth process state changes by only\ntransitioning to background if it has been kCollectorTransitionWait\ntime since the last transition to background. Similar logic for heap\ntrimming.\n\n(cherry picked from commit 698b44634396e8111e96e1116586fde89a838347)\n\nChange-Id: I5b2894e92eb79351eec35078d49c8457d2fd67a8\n"
    },
    {
      "commit": "0c2894b5db7ad9ccc44f2ac37034cdc2bb05cda7",
      "tree": "f0b95af077b55ee06bc9b3b1f4a4d04c743a5f13",
      "parents": [
        "5355835411cafcc2772e061cb7aef3b8ca1e6ea1"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri Aug 29 12:06:16 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Sep 04 10:27:48 2014 -0700"
      },
      "message": "Make nested signal more generic\n\nThis moves the nested signal catching code up to a slightly higher\nlevel in the fault manager.  Originally it was down in the DumpJavaStack\nfunction but it needs to be up in the caller of that to allow for other\nhandlers like the stack dumper.\n\nChange-Id: I31029f555dd9b501f4b5c0ed5c95777004873126\n"
    },
    {
      "commit": "217dc450cf0fef8539beaded77c704cfcb6669e9",
      "tree": "73ebab28a586f091dd3ac369b6165acb3410ad53",
      "parents": [
        "7b04ae299eb77786768ae05ba2498eb4eba6ddf6",
        "dbf3be0f133c0bdf454f637fee2452dbb5f7c027"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 04 17:23:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 04 17:23:53 2014 +0000"
      },
      "message": "Merge \"VisitClassesWithoutClassesLock isn\u0027t safe if classes move.\""
    },
    {
      "commit": "68caf9e7232109c698e7f91f64b348cf37b432dd",
      "tree": "2a7a5390eb54ceb846f0cee1afd956076216695e",
      "parents": [
        "5355835411cafcc2772e061cb7aef3b8ca1e6ea1"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Sep 03 13:48:16 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 04 09:57:38 2014 -0700"
      },
      "message": "Fix stack overflow and duplicate methods while tracing.\n\nBug: 16386215\nChange-Id: I0d0ae0113a3a00013ce84a1f5a110e2c52f19b86\n(cherry picked from commit 6b28a456b075fe53dfb7e924a44dbf35d0d41eb3)\n"
    },
    {
      "commit": "7b3dd82bfaa2b3558587f1614144ad8ccfdbd7a9",
      "tree": "d7a615b6b5b9aa440998a031cb2337556a8b3e7a",
      "parents": [
        "236287039744ee1938f4a4e3fd1fe48090c359d0",
        "805bab1738549b2477b3ad4d9d57fd7c681451b9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 04 14:22:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 04 14:22:45 2014 +0000"
      },
      "message": "Merge \"ART: Fix computation of frame size for direct proxy methods\""
    },
    {
      "commit": "805bab1738549b2477b3ad4d9d57fd7c681451b9",
      "tree": "1bace39c095672c3719706703b800695cfd2d1d0",
      "parents": [
        "519af184ae2d1245ed73004c1a1a457a400f66d5"
      ],
      "author": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Fri Aug 29 18:20:15 2014 +0700"
      },
      "committer": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Thu Sep 04 12:52:11 2014 +0700"
      },
      "message": "ART: Fix computation of frame size for direct proxy methods\n\nProxy method has only one direct method and it is a constructor which\nis cloned from java.lang.reflect.Proxy class together with code.\nAs a result its body is a compiled quick code and frame size should be\ncomputed accordingly in contrast with other virtual methods which are\ninvoked through stub.\n\nChange-Id: I0ac99b2f567b281c9342152bad1149dd6cd39480\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\n"
    },
    {
      "commit": "8ec31f9835a8d1513be9be7f9fa236fe4715750d",
      "tree": "2b161b3683e559c66ae1926250583165499862e9",
      "parents": [
        "badae981ada1fa279e54360df177ab6f40c299b9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Sep 03 10:30:11 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Sep 03 21:35:32 2014 -0700"
      },
      "message": "Fix native allocation watermark clamping.\n\nThe main issue causing the test to fail is that\nnative_footprint_gc_watermark_ becoming \u003e growth_limit_ due to no\nclamping.\n\nTemporary runFinalization fix is calling runFinalization 2x.\n\nBug: 17371542\n\n(cherry picked from commit 4c7fc5950853b0c368e2148db77ced7c4d3c303c)\n\nChange-Id: I05b85e95560c32c33d53bc96abf87d5262007395\n"
    },
    {
      "commit": "f4f3843150bb2152bcc583c1896f45a313d5f6a4",
      "tree": "b07eb17f7c1f9ce63e6c22d417aee0bf6dc24bdc",
      "parents": [
        "a07557ccece64fa7084bb01b9d26957bd0977c10"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Sep 03 11:21:08 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Sep 03 19:29:27 2014 -0700"
      },
      "message": "Add exception check to AllocateInternalWithGc\n\nTrying to figure out if the pending exception comes before or during\nAllocateInternalWithGc.\n\nBug: 17164348\n\n(cherry picked from commit 98d43cb0da3c34d1888d1e31d953c2940fd0f897)\n\nChange-Id: I2aac4b67f0c3f1c0fe3c9dc321316f76494c4074\n"
    },
    {
      "commit": "dbf3be0f133c0bdf454f637fee2452dbb5f7c027",
      "tree": "cd57469dbefeb18ebbc0d8d2be3da236bb3218c5",
      "parents": [
        "a07557ccece64fa7084bb01b9d26957bd0977c10"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 29 15:40:08 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 03 17:39:44 2014 -0700"
      },
      "message": "VisitClassesWithoutClassesLock isn\u0027t safe if classes move.\n\nWhich they do, so avoid by doing an array allocation.\nAlso, tidy member variables to the end of ClassLinker.\nRemove unnecessary mutable. Tidy and fix a locks required/excluded.\n\nChange-Id: I2404a9e7a1ea997d68ab1206f97d2a20dffbda06\n"
    },
    {
      "commit": "a07557ccece64fa7084bb01b9d26957bd0977c10",
      "tree": "c2864dffb3324039745112b602cae2eff699a5a4",
      "parents": [
        "2a09504334a3a3b4c47100197df0827cc6740433",
        "c0542af3e2170143ba40d89136e284997e16bf64"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 04 00:20:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 04 00:20:48 2014 +0000"
      },
      "message": "Merge \"Remove abuse of mirror::Object* to reference special values.\""
    },
    {
      "commit": "c0542af3e2170143ba40d89136e284997e16bf64",
      "tree": "a61e3b9cd297a4c52a0c0488a502cb77c47f0690",
      "parents": [
        "d3c9358544bbab15093614c5c2b6a9de86e11f7b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 03 16:16:56 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 03 17:15:54 2014 -0700"
      },
      "message": "Remove abuse of mirror::Object* to reference special values.\n\nRemove kInvalidIndirectRefObject, kClearedJniWeakGlobal and\nObjectRegistry::kInvalidObject. Handle error conditions by passing in or\nreturning an error value.\nGetObjectRefType is simplified to be faster and not return invalid references\nthat are not expected according to the spec. Adjust check JNI and\njni_internal_test appropriately.\nFix cases in the debugger/JDWP of out arguments being passed by reference.\nBug: 17376993\n\nChange-Id: I3ce8a28c01827e163f4dc288449959464da788b1\n"
    },
    {
      "commit": "a70343f996aea274a2568e8f2bcda829cdbc61d7",
      "tree": "50c65bcfd45aa6465eef05520b71dcce6375d318",
      "parents": [
        "4a9467959d4693f805c39536eed3c3bc5e8bbfd8",
        "ed2be1725fb79075892b1a9103487c9d9a95b350"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Sep 03 07:17:29 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 03 07:17:31 2014 +0000"
      },
      "message": "Merge \"Reduce lock contention when debugging\""
    },
    {
      "commit": "2cc4e2a1ae9a8827503b1508dca8346a465da20a",
      "tree": "5636232d43b961db8d0deba64b67f449c6dd43e0",
      "parents": [
        "47e877ab2d6744f4360d37f179eb5affd6a46470",
        "08487454218c2bfee6a9d669622c9ed935408783"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Sep 03 01:13:57 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 03 01:13:57 2014 +0000"
      },
      "message": "Merge \"Change native allocations to use growth limit.\""
    },
    {
      "commit": "47e877ab2d6744f4360d37f179eb5affd6a46470",
      "tree": "30feb660d23197248b866ebfe0e26d0005c25b7e",
      "parents": [
        "2013de579050cff717a6fb910ec386a6e61330bc",
        "1a7e2922f77f21471150af5045c710d1bdbffceb"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 03 01:00:21 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 03 01:00:21 2014 +0000"
      },
      "message": "Merge \"ART: Fix StubTest Interface Trampoline test\""
    },
    {
      "commit": "1a7e2922f77f21471150af5045c710d1bdbffceb",
      "tree": "047c6bd7deae973e171e36fb42a1bb657b336d13",
      "parents": [
        "6e3604287f73fbc58d8297c0bca6bfe808524a2b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 21 15:37:53 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 02 17:59:23 2014 -0700"
      },
      "message": "ART: Fix StubTest Interface Trampoline test\n\nThe imt conflict test does not actually need a proper conflict,\nas we do not invoke through a lookup.\n\nAdded simple check for art_quick_invoke_interface_trampoline_with_access_check.\nOnly non-failure testing, as failure requires a properly setup frame etc.\n\nChange-Id: I173dac04db950bd23f62eaf13341a7b19802e5e8\n"
    },
    {
      "commit": "08487454218c2bfee6a9d669622c9ed935408783",
      "tree": "1161401381bd41573a8e89153b09f0d6495d4b66",
      "parents": [
        "2013de579050cff717a6fb910ec386a6e61330bc"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 02 16:21:01 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 02 17:52:44 2014 -0700"
      },
      "message": "Change native allocations to use growth limit.\n\nPreviously native allocation tracking used a GC footprint limit\nwhich would cause GC in the allocating thread. This prevented\nexcessive growth of the heap but could cause jank due to GC in\nthe allocating thread. The new behavior is using the growth_limit\ninstead of the native footprint limit.\n\n(cherry picked from commit d9819ecc0bc21a2bb356a4de9b013e36fe618627)\n\nChange-Id: Ia40ed830e8c674cc49d4c0a6fd773d6cb8ff97fa\n"
    },
    {
      "commit": "2013de579050cff717a6fb910ec386a6e61330bc",
      "tree": "010f3b7c8fe27feb788a661e455282ab256969d6",
      "parents": [
        "579123b22546d36ed47e896a567a7ca6b5470d1a",
        "c2bda539093db61be1f4095e579f6e68db8a23f1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Sep 03 00:47:15 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 03 00:47:15 2014 +0000"
      },
      "message": "Merge \"Add missing read barriers to intern table.\""
    },
    {
      "commit": "fa6fe2dfb401e30890f1feb48b664eb19636b8d4",
      "tree": "1f0e6b66330254aca31d8dcebba0371cc297b6d7",
      "parents": [
        "62bcfec936692ff4f75cdc3267c081080b0e6acc",
        "d4ae41fd7a4ed711277c61c0d7fd2a3759458728"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 03 00:06:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 03 00:06:23 2014 +0000"
      },
      "message": "Merge \"ART: Tighten verifier list reading and offsets\""
    },
    {
      "commit": "d4ae41fd7a4ed711277c61c0d7fd2a3759458728",
      "tree": "98d7816eaef9be812dd0169d654ef38532936b2c",
      "parents": [
        "6e3604287f73fbc58d8297c0bca6bfe808524a2b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 02 11:17:34 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 02 16:56:09 2014 -0700"
      },
      "message": "ART: Tighten verifier list reading and offsets\n\nCheck offsets and sizes for header entries of a dex file.\n\nBug: 17347459\n\n(cherry picked from commit 78d639ef4be3ad7314846e1e6c1261d7d30f83fa)\n\nChange-Id: Ia1727c33dea51f7a8e345f3799f1ba414708239c\n"
    },
    {
      "commit": "c2bda539093db61be1f4095e579f6e68db8a23f1",
      "tree": "38ae12dc45d237de694441ee302ba3c48ac22bc2",
      "parents": [
        "62bcfec936692ff4f75cdc3267c081080b0e6acc"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 02 16:20:45 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 02 16:42:08 2014 -0700"
      },
      "message": "Add missing read barriers to intern table.\n\nAlso deleted GcRoot::Assign.\n\nChange-Id: Ib1ea739cf79c72fc92a8628cd9095c11b660e018\n"
    },
    {
      "commit": "62bcfec936692ff4f75cdc3267c081080b0e6acc",
      "tree": "b9a457ead8ee317c62c842a2a98b9d6294d7d577",
      "parents": [
        "d3c9358544bbab15093614c5c2b6a9de86e11f7b",
        "cdfd39f579574a75b98e7ad48c69826b00361b27"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 02 23:42:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 02 23:42:02 2014 +0000"
      },
      "message": "Merge \"Change intern table to unordered set.\""
    },
    {
      "commit": "63557459a4098294a9ff44d035241de2966047c0",
      "tree": "0c0b200ee1da9d269e77c2c6d2cacc7efa43f6e2",
      "parents": [
        "9a4f02722051955e536d6aacb776d637a6713545"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jun 04 16:57:15 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Sep 02 15:41:21 2014 -0700"
      },
      "message": "Pre-allocate the NoClassDefFoundError to be thrown for boot classes.\n\nBring over a Dalvik \"optimization\".\nBug: 12804658\nBug: 16853450\nChange-Id: I6419de7bd2ba18d91479cb52489104954f5c4524\n"
    },
    {
      "commit": "cdfd39f579574a75b98e7ad48c69826b00361b27",
      "tree": "0f057472d19bf290766e20ea3ad63d0b28ee83a1",
      "parents": [
        "9a4f02722051955e536d6aacb776d637a6713545"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 29 18:16:58 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 02 14:39:49 2014 -0700"
      },
      "message": "Change intern table to unordered set.\n\nIntern table active used bytes goes from 430k to 317k on system\nserver. Similar %wise savings on other apps.\n\nBug: 16238192\n\n(cherry picked from commit d910fcef539e12ab181e56ec80684f39c4e95733)\n\nChange-Id: Ic70395124435c6f420a77e6d8639404a160f395a\n"
    },
    {
      "commit": "9a4f02722051955e536d6aacb776d637a6713545",
      "tree": "5325d73c8a5a73ab4e2721b657f542dd22e7e17a",
      "parents": [
        "6e3604287f73fbc58d8297c0bca6bfe808524a2b",
        "68b56858367e29461ae290fd797443a1ef6d8005"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Sep 02 21:22:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 02 21:22:20 2014 +0000"
      },
      "message": "Merge \"Reduce and speed-up class def searches.\""
    },
    {
      "commit": "98172a66f14fd8c6ebce4240a3bb2eaa69eb16bc",
      "tree": "84a05cc4b6150fbf397ed61eeeb03ec112ef7e22",
      "parents": [
        "e18c901644cf8fdc012d0c852c97d77bb1f652ee"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 02 12:33:25 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 02 12:41:45 2014 -0700"
      },
      "message": "Change heap transitions + hspace compation to use VLOG(heap)\n\nVLOG(gc) is spammy since it is enabled.\n\n(cherry picked from commit 8bd2961b385c870953e650c253a04ee24b76809b)\n\nChange-Id: Id75256cdc6a9802818bb56f77533cca88ace42a6\n"
    },
    {
      "commit": "b061cc1dc41a976f5a620c19498d4b2f4d1675db",
      "tree": "8d13e9edf831e149a549f28818fb22219e7af7a1",
      "parents": [
        "e25b994ccf50e0c7abfab11785e231dfe70d7707"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 02 10:22:20 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 02 10:33:52 2014 -0700"
      },
      "message": "ART: Fix typo\n\nBug: 17327877\n\n(cherry picked from commit b373ba1bf7e67d4dd8286df08065ac76aa8ac1ee)\n\nChange-Id: I6132a8afb4b69c8d22a01b477f6f324c789ed666\n"
    },
    {
      "commit": "ed2be1725fb79075892b1a9103487c9d9a95b350",
      "tree": "8adf1d95f401c2c7e7df1c659c0dfcd4dd27a68f",
      "parents": [
        "645f9871115e82ff836397f6470cca825befd245"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Aug 19 15:33:43 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Sep 02 19:28:34 2014 +0200"
      },
      "message": "Reduce lock contention when debugging\n\nUses a ReaderWriterMutex for the breakpoint lock to reduce contention during\ndebugging session.\n\nAlso adds missing thread safety annotations on fields and methods related to\ninstrumentation and debugging.\n\nBug: 16814665\nBug: 11667502\n\n(cherry picked from commit 59d9d668d4f4286813afe2b4e7c6db839222ce96)\n\nChange-Id: I5f1156da8c6cc8316d6db16e6cfb2470fe289ad3\n"
    }
  ],
  "next": "31a7a0c981c5f6244b2c8c3a0c39f3e1d41ce154"
}
