)]}'
{
  "log": [
    {
      "commit": "5804e35269ec247ba794567debdfc7a0c623d919",
      "tree": "09df3a06aeb3f7eb6b8778bb80762d702768fc7c",
      "parents": [
        "eae5845c6144cd32c06334893244fc5c1eb21d9a",
        "43f0cdbe3281cd5c9a33d5472b1538e5617f6691"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 01 18:03:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 01 18:03:20 2017 +0000"
      },
      "message": "Merge \"ART: Intrinsify polymorphic signature methods\""
    },
    {
      "commit": "eae5845c6144cd32c06334893244fc5c1eb21d9a",
      "tree": "940c74364abafbe92faa13e88c71d266f4c1483f",
      "parents": [
        "4536a234e56aa7038198ab8c124fe117ef882192",
        "26ef34c01ae5db2d3c964844b3717b8974a612c9"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Nov 01 16:37:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 01 16:37:06 2017 +0000"
      },
      "message": "Merge \"ART: Move intrinsics definitions to runtime\""
    },
    {
      "commit": "43f0cdbe3281cd5c9a33d5472b1538e5617f6691",
      "tree": "afed702b60c483bd5fa63be7cb3ad866b83d24d1",
      "parents": [
        "26ef34c01ae5db2d3c964844b3717b8974a612c9"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Oct 10 14:47:32 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Nov 01 16:22:45 2017 +0000"
      },
      "message": "ART: Intrinsify polymorphic signature methods\n\nAdds VarHandle accessor method to list of intrinsics.\n\nAdds code to interpreter to ensure intrinsics with polymorphic\nsignatures are initialized.\n\nRename most uses of InvokePolymorphic to InvokeMethodHandle (and\nsimilar changes) to be clear that the particular code path applies to\nMethodHandle instances rather than VarHandle.\n\nChange-Id: Ib74865124a1e986badc0a7c4bb3d782af07225d4\nBug: 65872996\nTest: art/test.py --host\n"
    },
    {
      "commit": "26ef34c01ae5db2d3c964844b3717b8974a612c9",
      "tree": "8470588d8d0601626b3524abb5fbe19386ba7fe4",
      "parents": [
        "62540e3cc58abde95e147210d584614651d858b5"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Nov 01 13:32:41 2017 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Nov 01 16:21:52 2017 +0000"
      },
      "message": "ART: Move intrinsics definitions to runtime\n\nBug: 37538194\nTest: art/test.py --host\nChange-Id: Ic7adf5f8b14be0e1880ae898a4e199b4416a4d24\n"
    },
    {
      "commit": "a2cbb2b0723a3fa05cc44e13cbe90543b3236883",
      "tree": "1db9efcd8bcece516b6f5cbb48cf5f00ba7c1796",
      "parents": [
        "62540e3cc58abde95e147210d584614651d858b5",
        "e5179ce0ca8becf34ba6e7b2f3988874fe647c26"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 31 22:29:21 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 31 22:29:21 2017 +0000"
      },
      "message": "Merge \"Revert \"Prevent races with GC when transferring objects between threads\"\""
    },
    {
      "commit": "e5179ce0ca8becf34ba6e7b2f3988874fe647c26",
      "tree": "6d1bad18374493e2e85f715a575dea65f1725317",
      "parents": [
        "7585b91bfc77b8e4b821ccfa716fa86e46455275"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 31 22:28:11 2017 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 31 22:28:11 2017 +0000"
      },
      "message": "Revert \"Prevent races with GC when transferring objects between threads\"\n\nThis reverts commit 7585b91bfc77b8e4b821ccfa716fa86e46455275.\n\nReason for revert: Seems to be causing fatal error: \n  Checkpoint flag set without pending checkpoint\n\nChange-Id: I98ea653e629d73e854907115583afed3ed5ac68e\nTest: None.\nBug: 67838964\n"
    },
    {
      "commit": "62540e3cc58abde95e147210d584614651d858b5",
      "tree": "1ceacf74b8aa3980d8c0b03a757c9eb9d3b94330",
      "parents": [
        "a877fa31eadeebb481122bbd444f9c3816a35369",
        "7585b91bfc77b8e4b821ccfa716fa86e46455275"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 31 15:43:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 31 15:43:09 2017 +0000"
      },
      "message": "Merge \"Prevent races with GC when transferring objects between threads\""
    },
    {
      "commit": "a877fa31eadeebb481122bbd444f9c3816a35369",
      "tree": "1db9efcd8bcece516b6f5cbb48cf5f00ba7c1796",
      "parents": [
        "ec52a11b86c6917dfed40e840db936a266567dbe",
        "af7c9028905ccc0bb876e07dbe06921a80be9ebd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 31 01:31:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 31 01:31:16 2017 +0000"
      },
      "message": "Merge \"Fix DexInstructionIterator overrun bug\""
    },
    {
      "commit": "7585b91bfc77b8e4b821ccfa716fa86e46455275",
      "tree": "b37517925ac9ab701cbae7f446dc8bb624ddd492",
      "parents": [
        "0d2b2ad6cd9ca650d7a3f85a42afaf518cbfa4e0"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 30 15:33:58 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 30 16:16:41 2017 -0700"
      },
      "message": "Prevent races with GC when transferring objects between threads\n\nWe could have races with the GC when JVMTI code transfers a local\nreference from one thread to another. This race would happen if a GC\nwas currently underway causing an unmoved reference to be transferred\nto a thread that has already fixed up all of its references. This\nmeant that the receiving thread would now have a reference belonging\nto the from-space on its stack.\n\nThis could cause memory errors and CHECK failures.\n\nTo fix this we make sure to run all checkpoints where local references\nmight be transferred in a GC-critical-section.\n\nWe also needed to fix a too-strict check in the method verifier where\nwe were incorrectly asserting that suspension be allowable when in\nfact it was not necessary in all cases.\n\nTest: ./test.py --host -j50\nBug: 67838964\n\nChange-Id: Ib9166cc233d3c1b488864c0aff33246a3f99e436\n"
    },
    {
      "commit": "af7c9028905ccc0bb876e07dbe06921a80be9ebd",
      "tree": "53d7b80fb299e0a34b9951610740935f6f3ca802",
      "parents": [
        "460e09c5a5a09937825fe101d260d5c917144369"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 27 09:42:46 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 30 16:12:55 2017 -0700"
      },
      "message": "Fix DexInstructionIterator overrun bug\n\nHandle cases where the dex instructions can go past the end of the\ncode item in dexlayout.\n\nSince dexlayout runs before method verification, we need to be\ncareful to not go past the end of the code item.\n\nAdded test.\n\nBug: 67104794\nTest: test-art-host\n\nChange-Id: Idf7d51344659b2c75207bdf444e39f271feb8d3a\n"
    },
    {
      "commit": "ec52a11b86c6917dfed40e840db936a266567dbe",
      "tree": "16b09ab310cff24a97fa94d0b69a6ee14e92333f",
      "parents": [
        "437bb1e438075fbea579c89ea698c62071e3d864",
        "7b44df85ce4b8a92235a3e991917f1596817c87d"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Oct 30 19:35:17 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 30 19:35:17 2017 +0000"
      },
      "message": "Merge \"Update asm_support_gen.h for switch to clang-4375569.\""
    },
    {
      "commit": "03bcd79437499a68478d4d449f24a2d1097c9be8",
      "tree": "c9bf9766dbf61ed6bce1b1f3a3713879d1be623d",
      "parents": [
        "460e09c5a5a09937825fe101d260d5c917144369",
        "0fa1786bdcc333873ed65a1f77a4669d5701ac5e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 30 18:41:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 30 18:41:36 2017 +0000"
      },
      "message": "Merge \"Avoid JVMTI global deoptimization when possible\""
    },
    {
      "commit": "0fa1786bdcc333873ed65a1f77a4669d5701ac5e",
      "tree": "3ee1a5ead68150d60c0a72efa4c85b7db5b3e689",
      "parents": [
        "0d2b2ad6cd9ca650d7a3f85a42afaf518cbfa4e0"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 24 13:43:05 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 30 09:43:57 2017 -0700"
      },
      "message": "Avoid JVMTI global deoptimization when possible\n\nThis changes the openjdkjvmti plugin to be more controlled about the\nsituations that it will deoptimize everything. Most notably this makes\nthe plugin deoptimize only individual methods for breakpoints instead\nof doing a full deoptimization. It also doesn\u0027t deoptimize for the\nJVMTI_EVENT_EXCEPTION method, since our throwing code will always send\nthe appropriate event.\n\nImpact:\n    Exoplayer benchmark with breakpointlogger setting a breakpoint on\n    a method that is never called.\n\n    The agent is the tools/breakpoint-logger agent.\n\n    \u0027art\u0027 options are for all runs were:\n        --64\n        -Xusejit:true\n        -Xcompiler-option --debuggable\n    \u0027art\u0027 options for \u0027Pre change\u0027 and \u0027Post change\u0027 runs included:\n        -Xplugin:libopenjdkjvmti.so\n        \u0027-agentpath:libbreakpointlogger.so\u003dLbenchmarks/common/java/BenchmarkBase;-\u003erun()V@0\u0027\n\n    Clean run (no agent loaded):\n        Running FMP4 x 1 : 53\n        Running TS x 1 : 144\n        Running FMP4 x 2500 : 3309\n        Running TS x 100 : 3584\n        ExoPlayerBench(RunTime): 6977000.0 us.\n    Pre change:\n        Running FMP4 x 1 : 159\n        Running TS x 1 : 9395\n        Running FMP4 x 2500 : 298591\n        Running TS x 100 : 944447\n        ExoPlayerBench(RunTime): 1.243226E9 us.\n    Post change:\n        Running FMP4 x 1 : 87\n        Running TS x 1 : 495\n        Running FMP4 x 2500 : 2939\n        Running TS x 100 : 3947\n        ExoPlayerBench(RunTime): 6979000.0 us.\n\n    Post change vs clean run is well within margin of error for this\n    benchmark.\n\nTest: ./test.py --host -j50\nTest: ./art/tools/run-prebuild-libjdwp-tests.sh\n\nBug: 62821960\nBug: 67958496\n\nChange-Id: I63ef04f71c36c34d8534651d0c075921a836ec08\n"
    },
    {
      "commit": "759812202f4a2d1ba115f62c5bcc60cf29dec48a",
      "tree": "11119a0ed496c721d685dcc29fcb88e283738c3a",
      "parents": [
        "0d2b2ad6cd9ca650d7a3f85a42afaf518cbfa4e0",
        "dfabcc50f13f27201fd9c0ab0def187ef5945fda"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Oct 28 00:01:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 28 00:01:47 2017 +0000"
      },
      "message": "Merge \"base: Fix bitstruct bug with assigning fields\""
    },
    {
      "commit": "dfabcc50f13f27201fd9c0ab0def187ef5945fda",
      "tree": "eee8862eebf83d94cf8fb81042666732390933aa",
      "parents": [
        "2875173c75049777e6b63dbc9739846dd8f7d085"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Oct 26 14:51:52 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Oct 27 15:06:23 2017 -0700"
      },
      "message": "base: Fix bitstruct bug with assigning fields\n\nGiven a BitStruct \u0027foo\u0027, where bar was a BitStructField, assignment was\nbroken because it was using the C++ default behavior (copy the entire\nword).\n\n  foo.bar \u003d other_foo.bar\n\nThis will now correctly use BitFieldInsert to update the \u0027bar\u0027 bitfield.\n\nChange-Id: I1464462ffd4df22ad14a2e43a34f74d75ac2809a\n"
    },
    {
      "commit": "0d2b2ad6cd9ca650d7a3f85a42afaf518cbfa4e0",
      "tree": "6d1bad18374493e2e85f715a575dea65f1725317",
      "parents": [
        "d07e065b30ac99039ff466eff0d547c84e2fc9d2",
        "b1b0ed2b2889d42dcf800a3bdfe734759909482d"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 27 19:54:08 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 27 19:54:08 2017 +0000"
      },
      "message": "Merge \"Use the backtrace interface to skip java maps.\""
    },
    {
      "commit": "b1b0ed2b2889d42dcf800a3bdfe734759909482d",
      "tree": "655028ee6fb94d38d2569a6ef5577b9b5370c504",
      "parents": [
        "5751dc831ffd8acb089c2aff2e2ddf18f89da975"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 24 15:38:14 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 27 11:17:55 2017 -0700"
      },
      "message": "Use the backtrace interface to skip java maps.\n\nThis has no effect until the new unwinder is used. When the new\nunwinder is enabled this will have nearly the same behavior as the\nold unwinder. The difference is that the old unwinder ignored the\nminidebug information (compressed section data) completely. The new\nunwinder will not ignore minidebug information in system libraries,\nit will only ignore them in .oat or .odex maps.\n\nThere will be a small difference between the new and old unwinder. The\nnew unwinder when dumping in an ANR trace file looks like this:\n\n  native: #00 pc 0000000000069abc  /system/lib64/libc.so (__epoll_pwait+8)\n  native: #01 pc 000000000001feb4  /system/lib64/libc.so (epoll_pwait+52)\n  native: #02 pc 0000000000015cec  /system/lib64/libutils.so (android::Looper::pollInner(int)+144)\n  native: #03 pc 0000000000015bcc  /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+108)\n  native: #04 pc 0000000000110d98  /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int)+44)\n  at android.os.MessageQueue.nativePollOnce(Native method)\n  at android.os.MessageQueue.next(MessageQueue.java:325)\n  at android.os.Looper.loop(Looper.java:142)\n  at android.app.ActivityThread.main(ActivityThread.java:6569)\n  at java.lang.reflect.Method.invoke(Native method)\n  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)\n  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:795)\n\nThe old unwinder looks like this:\n\n  native: #00 pc 0000000000069abc  /system/lib64/libc.so (__epoll_pwait+8)\n  native: #01 pc 000000000001feb4  /system/lib64/libc.so (epoll_pwait+52)\n  native: #02 pc 0000000000015cec  /system/lib64/libutils.so (android::Looper::p\nollInner(int)+144)\n  native: #03 pc 0000000000015bcc  /system/lib64/libutils.so (android::Looper::p\nollOnce(int, int*, int*, void**)+108)\n  native: #04 pc 0000000000110d98  /system/lib64/libandroid_runtime.so (???)\n  native: #05 pc 00000000001d1e1c  /system/framework/arm64/boot-framework.oat (J\nava_android_os_MessageQueue_nativePollOnce__JI+140)\n  at android.os.MessageQueue.nativePollOnce(Native method)\n  at android.os.MessageQueue.next(MessageQueue.java:325)\n  at android.os.Looper.loop(Looper.java:142)\n  at android.app.ActivityThread.main(ActivityThread.java:6569)\n  at java.lang.reflect.Method.invoke(Native method)\n  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.jav\na:438)\n  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:795)\n\nTest: kill -3 of android process.\nChange-Id: If9d282d1a7a303c4f2af296bd98b1994b9bc2660\n"
    },
    {
      "commit": "733bd4d85ccebe7a4e78aa6c8c4c691fde47843b",
      "tree": "d94bb13c8eea14d00c180c618bf54f6cd9a2aea6",
      "parents": [
        "5751dc831ffd8acb089c2aff2e2ddf18f89da975"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Oct 26 10:39:15 2017 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Oct 27 08:53:41 2017 -0700"
      },
      "message": "Separate MemMap from DexFile completely\n\nCreate a container class for holding ownership of MemMap and segregate\nthat functionality to dex_file_loader.  This removes the dependency\nbetween dex_file.cc and mem_map.cc.\n\nBug: 22322814\nTest: make test-art-host\nChange-Id: I96db6fd10cdbad774c2f1f85c249418a154fbd52\n"
    },
    {
      "commit": "5751dc831ffd8acb089c2aff2e2ddf18f89da975",
      "tree": "bdbf90587d3c0aaa42a2276db06bd1ddeb3cb2c0",
      "parents": [
        "dc02d53eeea1c80d4f77cc66a00c42d398a04c18",
        "e875f4c210ce0598e47b6d66ec12cd7c60208844"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 27 10:08:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 27 10:08:58 2017 +0000"
      },
      "message": "Merge \"Don\u0027t verify dex file when the runtime is in NoVerify mode.\""
    },
    {
      "commit": "daf12303bdad792ac4b17b0a6f50bdacaf2a2068",
      "tree": "69fd0b7535ed0c1ac5e67d6ee99be4189e0654a0",
      "parents": [
        "c2389ab1f3d75c308661260bbda57a69686d16d6",
        "d863be7a36bf2017958051fe1191ed47192085e8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 26 20:25:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 26 20:25:58 2017 +0000"
      },
      "message": "Merge \"ART: Move JniConstants::init from ART to libcore\""
    },
    {
      "commit": "0aff0fffa828a1a1920a3db10599642b45b2c68e",
      "tree": "74274532ab76718e8b97d36996af83408fcc865e",
      "parents": [
        "3e6c13997373efac343a65740da0c4f6e77338b9",
        "24066ec509949f777a4c6e61ef631de33bfdc28a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 26 16:43:45 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 26 16:43:45 2017 +0000"
      },
      "message": "Merge \"Re-enable dex verifier after dexlayout\""
    },
    {
      "commit": "24066ec509949f777a4c6e61ef631de33bfdc28a",
      "tree": "5620a9f0ef3f476ada8b1763a1854877d136f022",
      "parents": [
        "31275df5ea1b91ed668618d6ec64a76d67cee73c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Oct 21 16:01:08 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 26 09:35:02 2017 -0700"
      },
      "message": "Re-enable dex verifier after dexlayout\n\nDisabled class def ordering since it violates the spec regarding\nsuperclasses occurring before subclasses. This fixes a dex verifier\nfailure.\n\nAdjust the data section size based on string data and code item\ndiff. This fixes dex2oat_image_test failing dex file verification.\n\nFixed handling of unreference annotations. Previously, these would\nnot get written back out. This resulted the dex file verifier\nprematurely ending for annotations during CheckIntraSectionIterate\nand then complaining about non zero padding (that was actually an\nannotation).\n\nTest: test-art-host\nBug: 63756964\nBug: 68208404\n\nChange-Id: Id2b9b360640c360ac562826e9193971f7bb30eea\n"
    },
    {
      "commit": "3e6c13997373efac343a65740da0c4f6e77338b9",
      "tree": "cb77105b96f532dcb07bc0db2b421f7fe785cee0",
      "parents": [
        "9041c606de11412a036bac2d2068d6f151a0fab7",
        "eb3c7644b91d985d084c564410af60583c908172"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 26 13:14:50 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 26 13:14:50 2017 +0000"
      },
      "message": "Merge \"ART: Remove workaround for bug 34659969.\""
    },
    {
      "commit": "e875f4c210ce0598e47b6d66ec12cd7c60208844",
      "tree": "c3836836ceafec0d881fd7c27a1438ab860cac0a",
      "parents": [
        "88a6296e13cae96157a451efa5776d1fecb05912"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 26 12:26:43 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 26 12:26:43 2017 +0100"
      },
      "message": "Don\u0027t verify dex file when the runtime is in NoVerify mode.\n\nbug: 30972906\nbug: 63920015\n\nTest: systrace of priv-app with OOB, no verification at startup\nChange-Id: I479a7ddcfa495228a379744b23c26fa8c91c3dde\n"
    },
    {
      "commit": "eb3c7644b91d985d084c564410af60583c908172",
      "tree": "a217e5b815a0d008897218dcffe510ba11cdcce7",
      "parents": [
        "6291ac84088ba32888d6b7d714f9965eeb82d345"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 24 15:13:36 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 26 12:26:34 2017 +0100"
      },
      "message": "ART: Remove workaround for bug 34659969.\n\nThe workaround is unnecessary since\n    https://android-review.googlesource.com/423760 .\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nBug: 34659969\nChange-Id: I47010ea95879457fdc6af6f9809a40ed209f8e38\n"
    },
    {
      "commit": "d863be7a36bf2017958051fe1191ed47192085e8",
      "tree": "528db45904a0bfac04bb96e38f9de63701fb8169",
      "parents": [
        "373a9b5c718a45ac484afcf4fe6ce84f4bb562b3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 12 12:02:28 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 26 02:13:09 2017 +0000"
      },
      "message": "ART: Move JniConstants::init from ART to libcore\n\nThis should live with libcore. There\u0027s no deep magic in the runtime\nstartup.\n\nAlso remove dependency on libnativehelper shared library.\n\nBug: 65522645\nTest: m\nTest: m test-art-host\nTest: Device boots (bullhead)\nChange-Id: I6d03144fa02461d31e9e26c27cdb3a9a9510122d\n"
    },
    {
      "commit": "373a9b5c718a45ac484afcf4fe6ce84f4bb562b3",
      "tree": "52a3e78fa8bc94a76674caaae837c728332d05dc",
      "parents": [
        "d0332e01ac26c2fd0a900de000a55ed5768ff936"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 18 09:01:57 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 25 10:13:59 2017 -0700"
      },
      "message": "ART: Depend on libnativehelper headers only\n\nDepend on header-only versions where possible. Move projects\nexcluding libart to libnativehelper_header_only.\n\nBug: 65522645\nTest: mmma art\nChange-Id: I53dd3b2a97e94ee685f72de007ed3858f7f5c6b6\n"
    },
    {
      "commit": "d0332e01ac26c2fd0a900de000a55ed5768ff936",
      "tree": "f65403f1dc6c3ff93c4cae9c1d60851db4e1be88",
      "parents": [
        "31275df5ea1b91ed668618d6ec64a76d67cee73c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 22 19:23:38 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 25 10:13:59 2017 -0700"
      },
      "message": "ART: Do not depend on libnativehelper - toStringArray\n\nDirectly implement the single vector-\u003eString[] invocation.\n\nBug: 65522645\nTest: m test-art-host\nChange-Id: I019f1811d967b049355eef3dcf68835504f86113\n"
    },
    {
      "commit": "639181ce5a654c999a41808d33e715a30b2c4db0",
      "tree": "53157ccca423a663391df715bae2177e5878a73e",
      "parents": [
        "4cee4d08dbbeba1127b7424f8a721fd6c28943d8",
        "e0d8ae280416b4823aefbed288fa148074e27667"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 24 22:42:30 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 24 22:42:30 2017 +0000"
      },
      "message": "Merge \"Add DCHECKS for class-defs only being null for Proxy classes\""
    },
    {
      "commit": "e0d8ae280416b4823aefbed288fa148074e27667",
      "tree": "7e29197e3d45e1c07cbaef1f7c418903d3e0616d",
      "parents": [
        "89f33b8cf486e6fc135c214008c5a4833f44fcf6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 24 10:23:16 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 24 13:48:42 2017 -0700"
      },
      "message": "Add DCHECKS for class-defs only being null for Proxy classes\n\nFollow-up to go/aog/518436\n\nTest: ./test.py --host -j50\nBug: 68157595\nChange-Id: I4e56d7454caef2023bd367841fb9a57fbecda748\n"
    },
    {
      "commit": "2897ca8520df514bbb70b61f3bb69ed686f160f9",
      "tree": "37738a6a7e8a73bd76dc93ec970678d73547665f",
      "parents": [
        "fa3fc51c254d726e9d5e1037726c9b2cf90965fc",
        "358347ae8fcf662def560367fe35a9ed9ee3b187"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 24 13:26:01 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 24 13:26:01 2017 +0000"
      },
      "message": "Merge \"Ensure GetSourceDebugExtension works with Proxy classes.\"\nam: 358347ae8f\n\nChange-Id: I0365076d92bfbfed0347a6b8d354c145409d94b6\n"
    },
    {
      "commit": "358347ae8fcf662def560367fe35a9ed9ee3b187",
      "tree": "56bee9546c6475088f8762d2e05c3e7380c8550c",
      "parents": [
        "2a96120f0a67838355b2134c6038f29cc4576ba0",
        "89f33b8cf486e6fc135c214008c5a4833f44fcf6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 24 13:20:45 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 24 13:20:45 2017 +0000"
      },
      "message": "Merge \"Ensure GetSourceDebugExtension works with Proxy classes.\""
    },
    {
      "commit": "fa3fc51c254d726e9d5e1037726c9b2cf90965fc",
      "tree": "a17d92231591efac09f471ab5cb0c27e12f50b5b",
      "parents": [
        "51b44934399b6d97fa88a2a33692e566c2ac3556",
        "2a96120f0a67838355b2134c6038f29cc4576ba0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 24 00:26:43 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 24 00:26:43 2017 +0000"
      },
      "message": "Merge \"ART: Correct static invariant checks\"\nam: 2a96120f0a\n\nChange-Id: I45d088796ae13263a56919c6dced9851cdf8fa1b\n"
    },
    {
      "commit": "89f33b8cf486e6fc135c214008c5a4833f44fcf6",
      "tree": "701beef4a0b293fb39a2970a341f2a9ddf6c5d8c",
      "parents": [
        "b5f03f5bf4e3e873cdaf9609d2004402cc8674f0"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 23 16:37:03 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 23 16:37:03 2017 -0700"
      },
      "message": "Ensure GetSourceDebugExtension works with Proxy classes.\n\nWe were unconditionally trying to read a class-def pointer from\nclasses passed to GetSourceDebugExtension but this pointer will be\nnull for proxy classes. This could cause segfaults.\n\nBug: 67836742\nBug: 68157595\n\nTest: ./test.py --host -j50\nChange-Id: I3d9ee4647b65bf5092de486903c7fb1e88c718a5\n"
    },
    {
      "commit": "51b44934399b6d97fa88a2a33692e566c2ac3556",
      "tree": "bb52583fe579f80a990cd77983113bc90b068e1d",
      "parents": [
        "fa5f755d70b204adf203f492358440345daf3e09",
        "75b24721e8f3c4fc699480611ee1af119f6bc60a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 23 23:31:11 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 23 23:31:11 2017 +0000"
      },
      "message": "Merge \"ART: Fix headers\"\nam: 75b24721e8\n\nChange-Id: I9eb3f7a2ca825bc27adfeaf6f7055ad2204d1d24\n"
    },
    {
      "commit": "580667b8d9cf6943596efff4df64f5879c1529e3",
      "tree": "b12378ae46584e568c23f5414f18578636b8d896",
      "parents": [
        "0a0935f36f23d37ec20151ff7250180050f3b822"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 23 11:20:39 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 23 14:16:54 2017 -0700"
      },
      "message": "ART: Correct static invariant checks\n\nInstances of initializing classes may leak to other threads. It is\nlegal to execute methods and access fields, as long as they are not\nstatic. However, the class should still be initializing (or already\nbe erroneous). Replace checks with this weaker invariant.\n\nFollow-up to commit 4e99b3d8955131f3fc71aa113f0fa71f0092cb6f.\n\nBug: 15899971\nBug: 62478025\nBug: 67719550\nTest: m test-art-host\nChange-Id: I63190253759df95ca54e40fd4117a24e12e0c069\n"
    },
    {
      "commit": "0a0935f36f23d37ec20151ff7250180050f3b822",
      "tree": "1bb724da3054f4f25051174133437b50cb3bdcc3",
      "parents": [
        "b5f03f5bf4e3e873cdaf9609d2004402cc8674f0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 23 11:59:49 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 23 14:15:24 2017 -0700"
      },
      "message": "ART: Fix headers\n\nInclude required headers.\n\nTest: m\nChange-Id: Ifce6c7b7a977c8db8eb4bb5ca34e354566d552bb\n"
    },
    {
      "commit": "fa5f755d70b204adf203f492358440345daf3e09",
      "tree": "e7f18162168677529d4cc9fa97b19496aacb6668",
      "parents": [
        "21f873e5fb9043e076a9a5f4817408e4a66c43d4",
        "b5f03f5bf4e3e873cdaf9609d2004402cc8674f0"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Mon Oct 23 20:46:21 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 23 20:46:21 2017 +0000"
      },
      "message": "Merge \"MIPS32: Improve stack alignment, use sdc1/ldc1, where possible.\"\nam: b5f03f5bf4\n\nChange-Id: If5068a0f539d2101331791c3ac0b5f1adb55d95f\n"
    },
    {
      "commit": "715f43e1553330bc804cea2951be195473dc343d",
      "tree": "55e143005efe10e8448c91eff6b88a635af2a3f6",
      "parents": [
        "9e842d3e7d6102d964178e36e5d596ca91895147"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Mon Oct 23 11:00:32 2017 -0700"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Mon Oct 23 11:00:32 2017 -0700"
      },
      "message": "MIPS32: Improve stack alignment, use sdc1/ldc1, where possible.\n\n- Ensure that SP is a multiple of 16 at all times, and\n- Use ldc1/sdc1 to load/store FPU registers from/to 8-byte-aligned\n  locations wherever possible.\n\nUse `export ART_MIPS32_CHECK_ALIGNMENT\u003dtrue` when building Android\nto enable the new runtime alignment checks.\n\nTest: Boot \u0026 run tests on 32-bit version of QEMU, and CI-20.\nTest: test/testrunner/testrunner.py --target --optimizing --32\nTest: test-art-host-gtest\nTest: test-art-target-gtest\n\nChange-Id: Ia667004573f419fd006098fcfadf5834239cb485\n"
    },
    {
      "commit": "21f873e5fb9043e076a9a5f4817408e4a66c43d4",
      "tree": "4c12b8445c82b6924bf937099012a3b41fb3b3bf",
      "parents": [
        "1e43af8c589f2fe1b781c969eedb4b11268fd2c2",
        "9e842d3e7d6102d964178e36e5d596ca91895147"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 23 16:34:11 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 23 16:34:11 2017 +0000"
      },
      "message": "Merge \"Add basic support for writing cdex container in dexlayout\"\nam: 9e842d3e7d\n\nChange-Id: I6ed94f2f2f678682562fd5c4eac22df0a769e8de\n"
    },
    {
      "commit": "9e842d3e7d6102d964178e36e5d596ca91895147",
      "tree": "0903b495d4742e17bd6f7d0b89dbf5bd67e8a93d",
      "parents": [
        "e4df8d98afd512e8ed0b7664b31856ab49edb13a",
        "603ccabb82511824a2a9d9531397005009a0e28a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 23 16:27:01 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 23 16:27:01 2017 +0000"
      },
      "message": "Merge \"Add basic support for writing cdex container in dexlayout\""
    },
    {
      "commit": "cad70a281cc7c97a6c2eeb2675952f2d3b12f4ee",
      "tree": "1c0c51b34dc92ce87d7fd579ac46b495aebd615c",
      "parents": [
        "2a79e48b43e1a2c0ece941db8d141a0c02542deb",
        "dfeec3a983c81e62fbfeb4eb81d4f58b65effd80"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 23 08:33:43 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 23 08:33:43 2017 +0000"
      },
      "message": "Merge \"Pass the verify flag to DexFileLoader utilities.\"\nam: dfeec3a983\n\nChange-Id: I0af6e8ebd41e9feb187ea640ac4e043cb7a9a80d\n"
    },
    {
      "commit": "dfeec3a983c81e62fbfeb4eb81d4f58b65effd80",
      "tree": "fe80df785c35671790d13728d1f6d114278c43c2",
      "parents": [
        "59c5dfe792d3288c5df75a035f6614cb228d7352",
        "095c6c96236476b605b3ac672f6d2b8c151e9479"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 23 08:29:27 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 23 08:29:27 2017 +0000"
      },
      "message": "Merge \"Pass the verify flag to DexFileLoader utilities.\""
    },
    {
      "commit": "603ccabb82511824a2a9d9531397005009a0e28a",
      "tree": "2c83d0e217b87f9ddb1d2e16085abb437a6d389d",
      "parents": [
        "6479e488e627c0e470e2068422316f6966d254f5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 20 14:34:28 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 20 18:03:48 2017 -0700"
      },
      "message": "Add basic support for writing cdex container in dexlayout\n\nPass compact dex level option to dexlayout and generate a file with\na compact dex header if it is enabled.\n\nAdded test in dex2oat_test.\n\nAdded logic to check for CompactDexFile header in\nDexFileLoader::OpenCommon.\n\nBug: 63756964\nTest: test-art-host-gtest-dex2oat_test\n\nChange-Id: Icfec03cdb64f71de900b92754ab4be3789c71cc3\n"
    },
    {
      "commit": "cf9e60ee6bcda27aa9a3ac0e651b558066fddd35",
      "tree": "168746abfc0c5ddd2f34c644e76f7dba98763183",
      "parents": [
        "38956034499a320ab05ffb6ecc1e22528aef8660",
        "6479e488e627c0e470e2068422316f6966d254f5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 20 21:44:37 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 20 21:44:37 2017 +0000"
      },
      "message": "Merge \"Add compact-dex-level argument to dex2oat\"\nam: 6479e488e6\n\nChange-Id: I227f14d45006159e0b9ba95285571a387cba4ab0\n"
    },
    {
      "commit": "6479e488e627c0e470e2068422316f6966d254f5",
      "tree": "8dc534058939c211f4ab065a31ee5331389bf76f",
      "parents": [
        "a59820dc247b220640a738ae7cb3803a4d89829c",
        "eafe2a5a057c32eaf972cb09fe447cfbffae71ca"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 20 21:35:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 20 21:35:23 2017 +0000"
      },
      "message": "Merge \"Add compact-dex-level argument to dex2oat\""
    },
    {
      "commit": "eafe2a5a057c32eaf972cb09fe447cfbffae71ca",
      "tree": "b48d251e9636f69915194feef19f3c39a650d221",
      "parents": [
        "a64eaf9023ac0c2f788ecd9ca138b003207b0760"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 19 15:29:42 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 20 10:40:44 2017 -0700"
      },
      "message": "Add compact-dex-level argument to dex2oat\n\nNo-op right now but will be passed to dexlayout to generate\nCompactDex.\n\nAdded the following dex2oat options:\n--compact-dex-level\u003dnone generates no CompactDex.\n--compact-dex-level\u003dfast generates CompactDex with optimizations\nthat are fast and take low resources.\n\nWill add test in follow up through dex2oat/compact_dex_file_test.\n\nTest: test-art-host-gtest\nBug: 63756964\n\nChange-Id: If9d6f4a383bdad1086b3e37daefe108bdd5cd36d\n"
    },
    {
      "commit": "4c7a8c640421711e9b31b88e19ac832dd03c98b0",
      "tree": "794af2373d205493a3d603bd893b8e251c78c147",
      "parents": [
        "f76236db8a47a4baa604df7bbfb53471e1a22229",
        "71ae03b7a56ddb9c45e3a7edd690fe919af9f17a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 20 15:48:13 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 20 15:48:13 2017 +0000"
      },
      "message": "Merge \"ART: Increase lock contention thresholds in debug builds\"\nam: 71ae03b7a5\n\nChange-Id: I7f633964af7934dde92d2cd3765cd09609286ce1\n"
    },
    {
      "commit": "71ae03b7a56ddb9c45e3a7edd690fe919af9f17a",
      "tree": "62e9ff8cf22629abc0b89ab6ec4db22b7477f6fa",
      "parents": [
        "f0536a524bfa750c91d458bf777e517287b50186",
        "5d6891446445497332986782f9490e949ecd55c9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 20 15:34:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 20 15:34:32 2017 +0000"
      },
      "message": "Merge \"ART: Increase lock contention thresholds in debug builds\""
    },
    {
      "commit": "095c6c96236476b605b3ac672f6d2b8c151e9479",
      "tree": "fe04b7fe93e65efadd3f019dd1ecba4c2c40df18",
      "parents": [
        "b277aa1385f7f4593c9978d8106669142d158f4f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 19 13:59:55 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 20 14:22:52 2017 +0100"
      },
      "message": "Pass the verify flag to DexFileLoader utilities.\n\nRefactoring-only change.\n\nAlso remove unused DexFilerLoader::OpenMemory.\n\nbug: 30972906\nbug: 63920015\n\nTest: build.\n\nChange-Id: I7cd4b5787565ab1a3457ce2be6bb14657229c550\n"
    },
    {
      "commit": "f76236db8a47a4baa604df7bbfb53471e1a22229",
      "tree": "47d755c8b9fd36eff45ba0bf9cc23eede1fe5973",
      "parents": [
        "bb059f29697288d7cb1c22504f17bd096573107d",
        "f0536a524bfa750c91d458bf777e517287b50186"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Oct 20 12:47:03 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 20 12:47:03 2017 +0000"
      },
      "message": "Merge \"Fix overlapping cfi ranges in mterp\"\nam: f0536a524b\n\nChange-Id: I37a7d21416f29dd6c2252327192844546b333945\n"
    },
    {
      "commit": "f0536a524bfa750c91d458bf777e517287b50186",
      "tree": "e90fcbc1a9623e89914cb6e66b8cab94832ddcb5",
      "parents": [
        "96b7474ebf313abdaf99e657e4ba9758e2467fb1",
        "0de2d595af38bfa8362deb3efbe8b2ac3cb2a146"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Oct 20 12:42:52 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 20 12:42:52 2017 +0000"
      },
      "message": "Merge \"Fix overlapping cfi ranges in mterp\""
    },
    {
      "commit": "bb059f29697288d7cb1c22504f17bd096573107d",
      "tree": "f0ce9e24618c20926b2064de68f8422cf191030f",
      "parents": [
        "9008367b0097df3297acc408fab5107defece0b4",
        "96b7474ebf313abdaf99e657e4ba9758e2467fb1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 20 10:34:26 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 20 10:34:26 2017 +0000"
      },
      "message": "Merge \"Use ScopedArenaAllocator for code generation.\"\nam: 96b7474ebf\n\nChange-Id: Ib09fed87ba0f6c6fffdd239a510b81e164e94a85\n"
    },
    {
      "commit": "96b7474ebf313abdaf99e657e4ba9758e2467fb1",
      "tree": "175c7a007ef033c3fccc1e74da2e4424e74da336",
      "parents": [
        "6247604714ae7fb2b64451b225cc0ecd3d4b716f",
        "174b2e27ebf933b80f4e8b64b4b024ab4306aaac"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 20 10:31:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 20 10:31:25 2017 +0000"
      },
      "message": "Merge \"Use ScopedArenaAllocator for code generation.\""
    },
    {
      "commit": "6642a57676c51e30d1d70bf10aa33fedb8b56290",
      "tree": "8b6103cf7a74d313bc9edcc0d3a682a6247b1dca",
      "parents": [
        "118ee320b259b8f8b9683c11a0ba19b47b006a44",
        "1b2f884ba96eaaa41c661faf323ef21a7b8fffdf"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Oct 20 01:09:29 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 20 01:09:29 2017 +0000"
      },
      "message": "Merge \"Change RequestSynchronousCheckpoint to release thread_list_lock_\"\nam: 1b2f884ba9\n\nChange-Id: Iac85d4a7245a34391a322a8468860336873b5b25\n"
    },
    {
      "commit": "1b2f884ba96eaaa41c661faf323ef21a7b8fffdf",
      "tree": "03efdd315f049417849ce0fb450690caa7880e9f",
      "parents": [
        "a64eaf9023ac0c2f788ecd9ca138b003207b0760",
        "b1e31a8337b9cce2f3160a972123886b355dce27"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 20 00:55:12 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 20 00:55:12 2017 +0000"
      },
      "message": "Merge \"Change RequestSynchronousCheckpoint to release thread_list_lock_\""
    },
    {
      "commit": "d8f5ef2a697d12c94b16a3059006f6b34590b938",
      "tree": "2dc7950efc144ad29de07f31fd8a785a4daeb8c6",
      "parents": [
        "6dda83d6293701ee01b2cacc931109a46c7272db",
        "5ef8128014b1796ae56dba3031f64ce6bfef4496"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 19 23:14:49 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 19 23:14:49 2017 +0000"
      },
      "message": "Merge \"ART: Only check non-deoptable classes in slow-debug\"\nam: 5ef8128014\n\nChange-Id: I306185ea790e418393793a26d5746302ca18b84d\n"
    },
    {
      "commit": "5ef8128014b1796ae56dba3031f64ce6bfef4496",
      "tree": "ea1f3804f9b8f117e861c8d856cf83add69c9a09",
      "parents": [
        "ad0fbe9ac34ece07e587db4c138f2ae0fbfdefbe",
        "dbe54913870fff81cae0796c0f7b66cf298b6d1f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 19 22:28:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 19 22:28:38 2017 +0000"
      },
      "message": "Merge \"ART: Only check non-deoptable classes in slow-debug\""
    },
    {
      "commit": "6dda83d6293701ee01b2cacc931109a46c7272db",
      "tree": "59b6438592343db4703b853194e5c0aec234e579",
      "parents": [
        "57dad3f5377ae3431dde9edd6cebc852b3e8ac5e",
        "ad0fbe9ac34ece07e587db4c138f2ae0fbfdefbe"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 19 22:27:41 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 19 22:27:41 2017 +0000"
      },
      "message": "Merge \"ART: Add trace around app image verification\"\nam: ad0fbe9ac3\n\nChange-Id: Ie10a069df97373def11d17e3502481b535d72b79\n"
    },
    {
      "commit": "ad0fbe9ac34ece07e587db4c138f2ae0fbfdefbe",
      "tree": "6ece0370c107f61196663c71197a2db5a41f1d6c",
      "parents": [
        "bf0ab2c2af60d42a50eb7c6e998859d9b9a255e3",
        "acbd98ba58faf3e7c9f2b888ee8a2f54ac5df015"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 19 22:21:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 19 22:21:06 2017 +0000"
      },
      "message": "Merge \"ART: Add trace around app image verification\""
    },
    {
      "commit": "146ee21561e1baf511ecad66c6eefc7468a51f09",
      "tree": "c244034e10da9d532c72d2b5ee0817c6b0a19975",
      "parents": [
        "9e3998809043b7a0642aec4bb1e85bc86de75138",
        "e3a5e668d03143e64ee78697a2ae7e4f4386950b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 19 22:18:41 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 19 22:18:41 2017 +0000"
      },
      "message": "Merge \"ART: Only stress background transition in slow-debug\"\nam: e3a5e668d0\n\nChange-Id: I65983607b7b48796e3195be9d3fe910b93cabcb1\n"
    },
    {
      "commit": "e3a5e668d03143e64ee78697a2ae7e4f4386950b",
      "tree": "dd2dd3751da2f19a73d00f7fbd44d4242baae35e",
      "parents": [
        "185f633f600643a02bc2c3de9f2801d0eca3bdd7",
        "ed56b5e1b92ab11a2a1414807d1a8a1c9123f455"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 19 22:12:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 19 22:12:00 2017 +0000"
      },
      "message": "Merge \"ART: Only stress background transition in slow-debug\""
    },
    {
      "commit": "1a32e7d80cd82fe984e99014938ff37f10353ab5",
      "tree": "b2caaf5797c54f679f4e4be9de2bd2a1c4959a00",
      "parents": [
        "c2c21458f16b4f0ffdb82e84a614e6892dd8a363",
        "772f1377b6502ae0178cb11605d39708673f7c23"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 19 22:11:05 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 19 22:11:05 2017 +0000"
      },
      "message": "Merge \"ART: Move more read-barrier checking under slow-debug\"\nam: 772f1377b6\n\nChange-Id: Id72177acf5bb17da3215f47ab71b29052d307306\n"
    },
    {
      "commit": "ed56b5e1b92ab11a2a1414807d1a8a1c9123f455",
      "tree": "93fe2f163b9d23de4c3553d02354363187116311",
      "parents": [
        "1b8376c8127c973377e7881afb1ae41a8cf812c1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 19 12:58:19 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 19 13:24:09 2017 -0700"
      },
      "message": "ART: Only stress background transition in slow-debug\n\nTo lighten the load when starting new processes, by default keep\nthe wait time until running background compaction.\n\nBug: 35644369\nTest: m test-art-host\nChange-Id: I932684b02f3095bc011e5e8346eea103e458bfc5\n"
    },
    {
      "commit": "6c578714a0fb2cb0a3a136abdc60637abd369677",
      "tree": "028879e95fa731cd7c5cd1d1789d0f9fa7b5b584",
      "parents": [
        "1b8376c8127c973377e7881afb1ae41a8cf812c1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 19 13:00:34 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 19 13:23:41 2017 -0700"
      },
      "message": "ART: Move more read-barrier checking under slow-debug\n\nMove CC checks under the slow-debug check. These invocations\nwere missed in the original round.\n\nBug: 35644369\nTest: m test-art-host\nChange-Id: I43dac35e2c1eede1d3e1f87091c7e9c23d9f6eb9\n"
    },
    {
      "commit": "dbe54913870fff81cae0796c0f7b66cf298b6d1f",
      "tree": "20fb2ec0189a528c3fb41a1ecbaef4fec2d0ab8d",
      "parents": [
        "1b8376c8127c973377e7881afb1ae41a8cf812c1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 19 13:02:03 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 19 13:23:17 2017 -0700"
      },
      "message": "ART: Only check non-deoptable classes in slow-debug\n\nOnly collect the list of non-deoptable classes on fork in slow-debug\nbuilds to improve fast-debug process start times.\n\nBug: 35644369\nTest: m test-art-host\nChange-Id: I36d5141789fa477afe49e92d0c6c15d48fa35b3d\n"
    },
    {
      "commit": "5d6891446445497332986782f9490e949ecd55c9",
      "tree": "aff2c7ea53a0763b9a37272ff2c945264cb1b528",
      "parents": [
        "1b8376c8127c973377e7881afb1ae41a8cf812c1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 19 13:03:29 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 19 13:22:50 2017 -0700"
      },
      "message": "ART: Increase lock contention thresholds in debug builds\n\nDebug builds are known-slower. To avoid the overhead of stack\ninspection, formatting and printing, increase the thresholds\ntenfold.\n\nBug: 35644369\nTest: m test-art-host\nChange-Id: Ica43a7c5123223c7c2d94a606d745f7aadad0259\n"
    },
    {
      "commit": "acbd98ba58faf3e7c9f2b888ee8a2f54ac5df015",
      "tree": "d5d7a7e29af68392cc4d956977da702f00983bdc",
      "parents": [
        "1b8376c8127c973377e7881afb1ae41a8cf812c1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 12 10:44:11 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 19 13:06:11 2017 -0700"
      },
      "message": "ART: Add trace around app image verification\n\nTo track verification times in debug builds.\n\nBug: 35644369\nTest: m test-art-host\nChange-Id: I131a713464e2bd44125e5091e9c20cec600a87e0\n"
    },
    {
      "commit": "228f1ea291c5b7e53eadd1f66f6c0f20636807a6",
      "tree": "84f5ccc66535eb132cbf16e526d1fbae7944ed21",
      "parents": [
        "7d9169d5886666c2fef1f54fba3715fb380720a3",
        "dfce43569a32ed7da881796713647cd8051d0d4e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 19 01:44:05 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 19 01:44:05 2017 +0000"
      },
      "message": "Merge \"Add CompactDexFile\"\nam: dfce43569a\n\nChange-Id: I954fa04e82275547a3ab34690ffc8962fc5f86f9\n"
    },
    {
      "commit": "dfce43569a32ed7da881796713647cd8051d0d4e",
      "tree": "2b4b8e48a9cc88f469ac5637bfa4de9307f75a5f",
      "parents": [
        "d9b2fd27750a45a25d8dc7a5550af4e8aae23d2b",
        "cf76bf83147f30cf23c70cfb7834a07420775143"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 19 01:39:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 19 01:39:29 2017 +0000"
      },
      "message": "Merge \"Add CompactDexFile\""
    },
    {
      "commit": "b1e31a8337b9cce2f3160a972123886b355dce27",
      "tree": "30413acc04bd03c385b3b6023e332ecc535ff4ee",
      "parents": [
        "8cdfac752808784d29185710095ad104922cd861"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Oct 04 16:57:36 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Oct 18 17:01:37 2017 -0700"
      },
      "message": "Change RequestSynchronousCheckpoint to release thread_list_lock_\n\nThe RequestSynchronousCheckpoint function in some cases needs to\nrelease the thread_list_lock_ as it waits for a checkpoint to be\nexecuted. This means that the thread being checkpointed might be\ndeleted. Previously it was not obvious this was the case since the\nthread_list_lock_ seemed to be held throughout the execution of the\nmethod.\n\nIn order to prevent bugs we make RequestSynchronousCheckpoint\nexplicitly release the thread_list_lock_ when executed, meaning code\nwill be aware that threads might die during its execution.\n\nBug: 67362832\nTest: ./test.py --host -j50\nChange-Id: I1cbdf7660096dc1908b0eeabc1062447307bc888\n"
    },
    {
      "commit": "fc51f375bb384fe21613f8e9816f093d1b5dc095",
      "tree": "06889bdca7d7414b90dd65054b331d5e21fbf000",
      "parents": [
        "c1ab9f196565e832f22fabc4b3806c30435c12eb",
        "b05fa41b1f05b24b122799a1b45667e8e401c97e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Oct 18 23:12:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 18 23:12:00 2017 +0000"
      },
      "message": "Merge \"base: Fix integer conversion in MaskLeastSignificant, add more asserts\"\nam: b05fa41b1f\n\nChange-Id: I1146eab0b4c098828b7f7b463dc4d3b7086a8616\n"
    },
    {
      "commit": "b05fa41b1f05b24b122799a1b45667e8e401c97e",
      "tree": "1964cd75b115b960c61e55a188517568c5201328",
      "parents": [
        "cae9e089b8dfecef8545038643096f20b4cba174",
        "2f366292b51789bcecb1bde53e07d7f78802bc4f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 18 23:04:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 18 23:04:40 2017 +0000"
      },
      "message": "Merge \"base: Fix integer conversion in MaskLeastSignificant, add more asserts\""
    },
    {
      "commit": "cf76bf83147f30cf23c70cfb7834a07420775143",
      "tree": "4b2b7c0f05c58214bbeb613bf3b0fec3d1a4cfc2",
      "parents": [
        "24276374dcaf95bfc52be2b8193eb4e337de62e4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Sep 25 16:22:36 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 18 15:45:31 2017 -0700"
      },
      "message": "Add CompactDexFile\n\nAdd holder class for CompactDex. Add unit test.\n\nBug: 63756964\nTest: test-art-host\nChange-Id: I304d7cb0e38b20e51132ea2c155f3db7bd50028a\n"
    },
    {
      "commit": "c1ab9f196565e832f22fabc4b3806c30435c12eb",
      "tree": "5dbca8fb8ba8661164aca36efdb60ed2c50a264e",
      "parents": [
        "a70e0af9506d412b8fd3e3cf781ffbb8f30500ec",
        "cae9e089b8dfecef8545038643096f20b4cba174"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 18 22:06:18 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 18 22:06:18 2017 +0000"
      },
      "message": "Merge \"ART: Fix includes\"\nam: cae9e089b8\n\nChange-Id: Iadd42280921da0ee06962c4641f8c998f97b811c\n"
    },
    {
      "commit": "2b51edd7918d6a70fd335cdc5af50e9513aab1cf",
      "tree": "e2e57953d38318df3b7d32ca707fa07093fb16d7",
      "parents": [
        "d6947136eab2fcefb1a9195110b9195aabaf469e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 18 13:15:02 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 18 13:27:12 2017 -0700"
      },
      "message": "ART: Fix includes\n\nAdd missing libnativehelper dependencies. Remove superfluous\nScopedLocalRef includes.\n\nTest: mmma art\nChange-Id: Ic2ecbcc1d205500307f0ef5b2859c60d3fc336f3\n"
    },
    {
      "commit": "0de2d595af38bfa8362deb3efbe8b2ac3cb2a146",
      "tree": "52605a507d99926b4b94d7a7d8b1018f1b470ccc",
      "parents": [
        "28d3cda54c9a6026e75b5f6dc0b41d868c8e0681"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Oct 06 14:13:33 2017 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Oct 18 08:56:34 2017 -0700"
      },
      "message": "Fix overlapping cfi ranges in mterp\n\nSome residual .type and .size directives in mterp cause the\nunwinder to see code covered by overlapping functions.  This\nCL removes them, treating the mterp\u0027s assembly stubs as all\npart of the same function.\n\nTest: m test-art-host\nTest: testrunner.py --host --interpreter\nBug: 66749877\n\nChange-Id: Id4cebf140c3d4baa2298f1c56b66bad6686161ce\n"
    },
    {
      "commit": "5688e511be9f77442dd3f7fe5f1e18b6b21e6dbb",
      "tree": "42bc82264f7fba751d27bad93bab8f646299a8de",
      "parents": [
        "7ac138fcf11e6e526ae2f5fe0d4e9a68ff1a962a",
        "24276374dcaf95bfc52be2b8193eb4e337de62e4"
      ],
      "author": {
        "name": "Lena Djokic",
        "email": "Lena.Djokic@imgtec.com",
        "time": "Wed Oct 18 11:09:16 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 18 11:09:16 2017 +0000"
      },
      "message": "Merge \"Fix mips64 build\"\nam: 24276374dc\n\nChange-Id: I28b1fe38ac981e6f77c1a94bec5291deea804ba3\n"
    },
    {
      "commit": "7ac138fcf11e6e526ae2f5fe0d4e9a68ff1a962a",
      "tree": "6237fdc901b4ff3aa6667d286e17f7ed7636851e",
      "parents": [
        "01cb388bdb62de27dc2755c020674d83a855d30d",
        "aa337b1846d211c6b12a4f33472a52f267dd3a2c"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 18 11:06:45 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 18 11:06:45 2017 +0000"
      },
      "message": "Merge \"Unquicken dex files before exporting from oatdump\"\nam: aa337b1846\n\nChange-Id: Icad9825db6f2de80f90b43ddfaa3a03f65a25ca1\n"
    },
    {
      "commit": "24276374dcaf95bfc52be2b8193eb4e337de62e4",
      "tree": "7521652065d9052e4b363c9e044cdb083a61cdfd",
      "parents": [
        "aa337b1846d211c6b12a4f33472a52f267dd3a2c",
        "030fe39782563bd9ecab7fe636cf09477648d7f5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 18 10:45:15 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 18 10:45:15 2017 +0000"
      },
      "message": "Merge \"Fix mips64 build\""
    },
    {
      "commit": "aa337b1846d211c6b12a4f33472a52f267dd3a2c",
      "tree": "597b75fabf2a2eb58ab3c8a4ee661afb8cf2c5a3",
      "parents": [
        "4a6603701b217bbbd75020e1689c87c61125ef02",
        "a1f56a8dddb88f5377a7dd4ec79640103c713d30"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 18 09:58:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 18 09:58:06 2017 +0000"
      },
      "message": "Merge \"Unquicken dex files before exporting from oatdump\""
    },
    {
      "commit": "030fe39782563bd9ecab7fe636cf09477648d7f5",
      "tree": "3cfc69b8d85fdee0843092792888fcb2e333a749",
      "parents": [
        "4a6603701b217bbbd75020e1689c87c61125ef02"
      ],
      "author": {
        "name": "Lena Djokic",
        "email": "Lena.Djokic@imgtec.com",
        "time": "Tue Oct 17 15:55:38 2017 +0200"
      },
      "committer": {
        "name": "Lena Djokic",
        "email": "Lena.Djokic@imgtec.com",
        "time": "Wed Oct 18 10:55:19 2017 +0200"
      },
      "message": "Fix mips64 build\n\nAdded missing register definitions in header.S for mips64.\nWe needed this because machine/regdef.h has been removed from\nbionic.\nGenerated mterp_mips64.S using gen-mterp.py script.\n\nTest: successful mips64 build\n\nChange-Id: I6a2f4fcf8a827f6198f3c97f3a3dd35b7bc79c7e\n"
    },
    {
      "commit": "174b2e27ebf933b80f4e8b64b4b024ab4306aaac",
      "tree": "968cdd8d7fd68571115db77cc288807c3b257911",
      "parents": [
        "6783118d2ad9d759f0617b1219a9e29a10a569f7"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 12 13:34:49 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 17 11:12:08 2017 +0100"
      },
      "message": "Use ScopedArenaAllocator for code generation.\n\nReuse the memory previously allocated on the ArenaStack by\noptimization passes.\n\nThis CL handles only the architecture-independent codegen\nand slow paths, architecture-dependent codegen allocations\nshall be moved to the ScopedArenaAllocator in a follow-up.\n\nMemory needed to compile the two most expensive methods for\naosp_angler-userdebug boot image:\n  BatteryStats.dumpCheckinLocked() : 19.6MiB -\u003e 18.5MiB (-1189KiB)\n  BatteryStats.dumpLocked(): 39.3MiB -\u003e 37.0MiB (-2379KiB)\n\nAlso move definitions of functions that use bit_vector-inl.h\nfrom bit_vector.h also to bit_vector-inl.h .\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 64312607\nChange-Id: I84688c3a5a95bf90f56bd3a150bc31fedc95f29c\n"
    },
    {
      "commit": "bff57b0ef8832ed474921fd8d388cdd985d9ca26",
      "tree": "1bfe67cc74cab4a9051ed7ff9e880f8db315fc65",
      "parents": [
        "56cedf31db7297fc4463ea3d3965c0b6dc3cc1f3",
        "b73cc5dece8bf95935e03ff86b9a314872886299"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Oct 17 08:04:26 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 17 08:04:26 2017 +0000"
      },
      "message": "Merge \"ART: Implement missing mterp handlers\"\nam: b73cc5dece\n\nChange-Id: I37efe26b548df151e129cd4c95025b36d0ce09c7\n"
    },
    {
      "commit": "b73cc5dece8bf95935e03ff86b9a314872886299",
      "tree": "cdfb4fcf6b9ad60d441a4def9b505d355ffbacce",
      "parents": [
        "ea7638349dd23dfdd6ee0c2e45a63faa653962e3",
        "e7732be2390f00b1f98b8c0066a37892ee1126f6"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Oct 17 08:00:17 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 17 08:00:17 2017 +0000"
      },
      "message": "Merge \"ART: Implement missing mterp handlers\""
    },
    {
      "commit": "56cedf31db7297fc4463ea3d3965c0b6dc3cc1f3",
      "tree": "e4d135d57a087c04dc171ffc109d279e43017889",
      "parents": [
        "58977e5c1802eaa4ba0efcd724299f6b4031b415",
        "ea7638349dd23dfdd6ee0c2e45a63faa653962e3"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Oct 17 02:06:04 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 17 02:06:04 2017 +0000"
      },
      "message": "Merge \"signal_catcher: print errno when tombstoned_notify_completion fails.\"\nam: ea7638349d\n\nChange-Id: Id97938bb80ec24ff1f328c1aab2d4262826188d6\n"
    },
    {
      "commit": "ea7638349dd23dfdd6ee0c2e45a63faa653962e3",
      "tree": "27bdea870f6a571ae6c37f776b523dbd4622b8e2",
      "parents": [
        "f391895ca62acff4bc547bd1af8398af1edc7a39",
        "ff9e43fa6dcd44cecb81149c8410c071ef840723"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 17 01:50:43 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 17 01:50:43 2017 +0000"
      },
      "message": "Merge \"signal_catcher: print errno when tombstoned_notify_completion fails.\""
    },
    {
      "commit": "58977e5c1802eaa4ba0efcd724299f6b4031b415",
      "tree": "dffe38f19bf95e51eac9e8a6270ebf64a4da5684",
      "parents": [
        "b2528f9f2805b963e520243d321c5aaeb3776d20",
        "f391895ca62acff4bc547bd1af8398af1edc7a39"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 16 23:23:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 16 23:23:00 2017 +0000"
      },
      "message": "Merge \"Don\u0027t dlclose plugins or agents during shutdown.\"\nam: f391895ca6\n\nChange-Id: Ib6eb4c468cb37eabe0bb53545e3db58fb8beba4f\n"
    },
    {
      "commit": "ebd60e1331d8330f01d792be61a14cf425240f6b",
      "tree": "156cd2bdba366e5591c889b5f38daae5bed752e0",
      "parents": [
        "8fb092125112ec4a6bf38a91e417c53bbb7f7a8e",
        "26d46e51a8c387d26e7971857e26f4582b936204"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 16 23:20:53 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 16 23:20:53 2017 +0000"
      },
      "message": "Merge \"Remove low RAM special casing for heap growth multiplier\"\nam: 26d46e51a8\n\nChange-Id: Ief4f2993762c0fce548fc8c5efc62c33b8e89a7a\n"
    },
    {
      "commit": "8fb092125112ec4a6bf38a91e417c53bbb7f7a8e",
      "tree": "f24fde869584f36a5704a6a708043a2d8d4da6fa",
      "parents": [
        "646be16f21ee3d87abafec8ec171dd3914dd369d",
        "f856934689a289b2bc82462e8757a170242bb44d"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Oct 16 23:19:59 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 16 23:19:59 2017 +0000"
      },
      "message": "Merge \"Fix dexlayout debug info printing\"\nam: f856934689\n\nChange-Id: Idcba932c1ccd3ffad888cee8c6f221963a53fcf6\n"
    },
    {
      "commit": "f391895ca62acff4bc547bd1af8398af1edc7a39",
      "tree": "a18dc59dde71f09b5fbfcd6a306e7a152609c44a",
      "parents": [
        "0b753fa0cd0719852b87711a72c795817ab47ff4",
        "5b80358a9da889cd2ecf18eb49aa42efa409e582"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 16 22:49:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 16 22:49:54 2017 +0000"
      },
      "message": "Merge \"Don\u0027t dlclose plugins or agents during shutdown.\""
    },
    {
      "commit": "ff9e43fa6dcd44cecb81149c8410c071ef840723",
      "tree": "50e913b8641dd213a2ce73d4b4c354b5dbc26a1c",
      "parents": [
        "baeedfee3521c295916e3ae85afa2cb5dee7d6a5"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Oct 16 14:10:08 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Oct 16 15:05:37 2017 -0700"
      },
      "message": "signal_catcher: print errno when tombstoned_notify_completion fails.\n\nFailure here could either be someone internal closing our FD (EBADF) or\ntombstoned closing its end of the socket (EPIPE). Print the error to\ndisambiguate the cases.\n\nBug: 67805174\nTest: treehugger\nChange-Id: Ie35cb31218b5bb08757e61360c6539d39eece08b\n"
    },
    {
      "commit": "26d46e51a8c387d26e7971857e26f4582b936204",
      "tree": "d8309e595cae7ad347a1cdda845bdd26365a05a7",
      "parents": [
        "f856934689a289b2bc82462e8757a170242bb44d",
        "11c273ddfda3e30d14af32e385570955b61bc39b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 16 21:50:02 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 16 21:50:02 2017 +0000"
      },
      "message": "Merge \"Remove low RAM special casing for heap growth multiplier\""
    },
    {
      "commit": "5b80358a9da889cd2ecf18eb49aa42efa409e582",
      "tree": "71c5fce7e27b9dbd74bd7fd2b62e0633938973ee",
      "parents": [
        "445e0ec3724b7f4f36bbd218f67a2c9bfbea7669"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 16 10:59:26 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 16 13:39:49 2017 -0700"
      },
      "message": "Don\u0027t dlclose plugins or agents during shutdown.\n\nWe were dlclosing agents and the JVMTI plugin during shutdown but it\nseems that some agents assume that their code will remain loaded even\nafter the Agent_OnUnload function returns. This caused segfaults\nduring shutdown in some situations. Since the runtime is shutting down\nanyway there is not much to lose by just not unloading these agents\nand the plugins they depend on.\n\nTest: stress --cpu 60\nTest: ./art/tools/run-prebuilt-libjdwp-tests.sh \\\n        --debug \\\n        --test org.apache.harmony.jpda.tests.jdwp.Events.CombinedEventsTest#testCombinedEvents_05\n\nBug: 67497270\nBug: 67855829\n\nChange-Id: Ib988c0d21bd12d40f33d709e633312eb68021b38\n"
    },
    {
      "commit": "a1f56a8dddb88f5377a7dd4ec79640103c713d30",
      "tree": "ae1df3adacfcd82dd0b960cfd4cabcfb44fe6536",
      "parents": [
        "e4c00b3af3ccf460e4b0332a04dc9eaeffee5c7a"
      ],
      "author": {
        "name": "Anestis Bechtsoudis",
        "email": "anestis@census-labs.com",
        "time": "Sun Oct 08 23:37:10 2017 +0300"
      },
      "committer": {
        "name": "Anestis Bechtsoudis",
        "email": "anestis@census-labs.com",
        "time": "Mon Oct 16 23:36:16 2017 +0300"
      },
      "message": "Unquicken dex files before exporting from oatdump\n\nBenefit from the vdex unquicken method when exporting dex files from\noatdump (--export-dex-to). Currently oatdump exports the quickened dex\nfiles as generated by the dex compiler (dex-to-dex transformations).\nWith this commit the dex files associated with the input oat file are\nunquickened before exporting.\n\nIn contrast to the other VdexFile::Unquicken() calls, in this case it\nis useful to decompile a RETURN_VOID_NO_BARRIER into a RETURN_VOID. As\nsuch, the required changes around the decompile_return_instruction flag\nwere made since it was hardcoded to false.\n\nThis feature is mostly useful when inspecting oat files that have the\noriginal bytecode being stripped from the matching APK. If unquicken\nis successful, the old checksum is expected to match.\n\nTest: test-art-host\n\nChange-Id: I9133d5f488ee3451c8f361ae90d1e12857529b1e\nSigned-off-by: Anestis Bechtsoudis \u003canestis@census-labs.com\u003e\n"
    },
    {
      "commit": "e7732be2390f00b1f98b8c0066a37892ee1126f6",
      "tree": "a2f1b1b46f1eb6e3623ec37f077b57e0f1b01013",
      "parents": [
        "44f520b12bab27ef4c0719f9dd296d76c79b23cb"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Oct 11 14:35:20 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Oct 16 21:20:36 2017 +0100"
      },
      "message": "ART: Implement missing mterp handlers\n\nAdds mterp handlers for const-method-{handle,type}, invoke-custom, and\ninvoke-polymorphic.\n\nMinor refactoring starting from interpreter_common.{h,cc} for consistency.\n\nTest: m test-art-host\nBug: 65872996\nChange-Id: I95cda758d1ce2fb52e3b1c6211e5d1763cee7bd6\n"
    },
    {
      "commit": "11c273ddfda3e30d14af32e385570955b61bc39b",
      "tree": "d771029bda69385e3ea3297a473bf841a05bed6d",
      "parents": [
        "44f520b12bab27ef4c0719f9dd296d76c79b23cb"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Oct 15 20:54:45 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 16 13:11:15 2017 -0700"
      },
      "message": "Remove low RAM special casing for heap growth multiplier\n\nMoved to change the default value in runtime.cc. This enables\nchanging the value by passing in a\n-XX:ForegroundHeapGrowthMultiplier value.\n\nThis enables devices to set the foreground heap growth multiplier\nto non 1.0 values even when low_memory_mode is true. Doing this\nreduces GC frequency and can help device performance.\n\nIncreased the limit to 5.0 since the old limit of 1.0 was bogus.\n\nBug: 67416130\nTest: test-art-host\nTest: make and flash\n\n(cherry picked from commit 2f33ad21a5c3688c33c1f36665216d76bac47f2c)\n\nMerged-In: I86166830261c034255c23611cb8f4ebcf8c43b09\nChange-Id: I6fdf82e69ebe350476fb4fe3da9d22bf671b9eac\n"
    },
    {
      "commit": "aa6abb081cbe14ccd693459bf016b14627f58616",
      "tree": "3f7c8d392ef39c12e5ab902de3922115f312695e",
      "parents": [
        "776f0b98414fe0d996928e7dce982c93195fc113"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Oct 12 08:25:11 2017 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Oct 16 16:57:40 2017 +0000"
      },
      "message": "Fix dexlayout debug info printing\n\nParsing local info and position info made shared debug info print\nincorrectly.  Remove the dexlayout structs that represent the pre-parsed\nversions and print from the byte buffer.\n\nBug: 67664147\nTest: make test-art-host\nChange-Id: Iae33ae8ff486914d8d7a5973f81faaf3c95615a6\n"
    },
    {
      "commit": "b61bb245fdf49582582cb59074343a003afd1a4e",
      "tree": "866e16192e2950007b98235bdd1a29d3e6fbf8ac",
      "parents": [
        "66fca596f806f25da7402cefcadf84ad82e9d8c0",
        "2c8fe470a4a79be7280bfa467232d7de0f6ee6d5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 16 16:42:36 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 16 16:42:36 2017 +0000"
      },
      "message": "Merge \"Add -XX:MadviseRandomAccess option\"\nam: 2c8fe470a4\n\nChange-Id: I091c0cde18625cf7111a5057b65b9fb7d374e80c\n"
    },
    {
      "commit": "2c8fe470a4a79be7280bfa467232d7de0f6ee6d5",
      "tree": "9ba803346664363a54d37a03b3e742458bd7ac39",
      "parents": [
        "bcb82557bab28fee71512de08c0199d09057a611",
        "c42cb0e08a7c8f7085115e57b0ea92da9eee1575"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 16 16:35:49 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 16 16:35:49 2017 +0000"
      },
      "message": "Merge \"Add -XX:MadviseRandomAccess option\""
    }
  ],
  "next": "66fca596f806f25da7402cefcadf84ad82e9d8c0"
}
