)]}'
{
  "log": [
    {
      "commit": "e44ee0c3d073e00e88f3a29f2a42129c3eba84e7",
      "tree": "65180639908c568845a2dd7402fa9c935df2cbeb",
      "parents": [
        "812d4d4091b07c83a340e775325b7f42c8521574"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jan 08 10:26:17 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jan 08 21:59:52 2018 +0000"
      },
      "message": "Do not abort if we fail to allocate a thread-peer on shutdown\n\nWe were aborting if we failed to allocate the \"Shutdown thread\" a\njava-peer. This can sometimes happen if there is very constrained\nmemory during shutdown for some reason. Since the thread-peer is only\nobservable in very rare situations (and the runtime is shutting down\nanyway) we will instead simply continue without it.\n\nWe also change a test that was hitting this situation to handle not\nhaving a thread peer.\n\nBug: 71623806\n\nTest: while ./test/run-test --host \\\n                            --prebuild \\\n                            --compact-dex-level none \\\n                            --optimizing \\\n                            --no-relocate \\\n                            --runtime-option -Xcheck:jni \\\n                            --pic-test \\\n                            --64 \\\n                            --build-with-javac-dx \\\n                            004-ThreadStress;\n      do; done\nTest: ./test.py --host -j50\nChange-Id: Ib159d03e9f4b0e4d5b1b071d4b85e94620679bb0\n"
    },
    {
      "commit": "812d4d4091b07c83a340e775325b7f42c8521574",
      "tree": "7887b2cd4662410114f205bbe1896ff094d51407",
      "parents": [
        "4b9a11f1d43df69c50e93ba1793fce1c2216682b",
        "698ebbca3c54d17c696e87b9e5838df6a5ac9b08"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jan 08 20:45:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 08 20:45:00 2018 +0000"
      },
      "message": "Merge \"Clean up CodeItemAccessors and Compact/StandardDexFile\""
    },
    {
      "commit": "698ebbca3c54d17c696e87b9e5838df6a5ac9b08",
      "tree": "7887b2cd4662410114f205bbe1896ff094d51407",
      "parents": [
        "4b9a11f1d43df69c50e93ba1793fce1c2216682b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jan 05 11:00:42 2018 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jan 08 09:11:49 2018 -0800"
      },
      "message": "Clean up CodeItemAccessors and Compact/StandardDexFile\n\nChange constructor to use a reference to a dex file.\n\nRemove duplicated logic for GetCodeItemSize.\n\nBug: 63756964\nTest: test-art-host\nChange-Id: I69af8b93abdf6bdfa4454e16db8f4e75883bca46\n"
    },
    {
      "commit": "4b9a11f1d43df69c50e93ba1793fce1c2216682b",
      "tree": "723aece06334be5c39cf8c42cf3357489a6fb38a",
      "parents": [
        "30f54cc45bd338f9d9079786dae96ea13ab9f163",
        "c546ec9129f92d8a6d1eed273638042d37776527"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Jan 08 15:34:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 08 15:34:47 2018 +0000"
      },
      "message": "Merge \"Switch to using d8 in ART\""
    },
    {
      "commit": "30f54cc45bd338f9d9079786dae96ea13ab9f163",
      "tree": "542b2e8afa185ee3fdeb17fa1637579c110cc2c6",
      "parents": [
        "4cb6347613e37c98bf40d8bb5e6583ac81f4d856",
        "672b9c1e95beed861a63d4a4c273114387f035a6"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jan 08 12:37:05 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 08 12:37:05 2018 +0000"
      },
      "message": "Merge \"ARM: Fix breaking changes from recent VIXL update.\""
    },
    {
      "commit": "4cb6347613e37c98bf40d8bb5e6583ac81f4d856",
      "tree": "065ca3d73f5f8b0a86dab92b5b4784a7e4486707",
      "parents": [
        "118c59cf6af50e128d29609c9046a4af15826976",
        "7b38e692caa474bf0470349d016ef8f4502d50b9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 08 09:40:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 08 09:40:50 2018 +0000"
      },
      "message": "Merge \"ART: Take classloader into account for AttachAgent\""
    },
    {
      "commit": "118c59cf6af50e128d29609c9046a4af15826976",
      "tree": "c0f82859babac12e3e000964a328ddc2498b74bb",
      "parents": [
        "71a7b36894114d02860d2e64b9396dbd5e0b9b38",
        "fe92d1227f74a383172c0f339884c69e151fb404"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Jan 08 08:11:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 08 08:11:23 2018 +0000"
      },
      "message": "Merge \"ART: Verifier support for VarHandles\""
    },
    {
      "commit": "71a7b36894114d02860d2e64b9396dbd5e0b9b38",
      "tree": "ceb72fb04618577004707042f4f7a9086da0dbeb",
      "parents": [
        "bf84c1bbdbfd8d1e071ac8f3d6cc09e934212b5b",
        "4131d1096ac57a29ba1939c1cf2cb74144c16c92"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Jan 08 08:10:48 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 08 08:10:48 2018 +0000"
      },
      "message": "Merge \"ART: Additional Atomic methods\""
    },
    {
      "commit": "bf84c1bbdbfd8d1e071ac8f3d6cc09e934212b5b",
      "tree": "dce1d1993734a947fb2e6f626eb1b425cb72143b",
      "parents": [
        "b496af808eaf3af5ebac50aef4fbec33323b5016",
        "9e734c7ab4599d7747a05db0dc73c7b668cb6683"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 06 18:02:42 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jan 06 18:02:42 2018 +0000"
      },
      "message": "Merge \"Create dex subdirectory\""
    },
    {
      "commit": "9e734c7ab4599d7747a05db0dc73c7b668cb6683",
      "tree": "dce1d1993734a947fb2e6f626eb1b425cb72143b",
      "parents": [
        "b496af808eaf3af5ebac50aef4fbec33323b5016"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Jan 04 17:56:19 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Jan 05 11:07:19 2018 -0800"
      },
      "message": "Create dex subdirectory\n\nMove all the DexFile related source to a common subdirectory dex/ of\nruntime.\n\nBug: 71361973\nTest: make -j 50 test-art-host\nChange-Id: I59e984ed660b93e0776556308be3d653722f5223\n"
    },
    {
      "commit": "7b38e692caa474bf0470349d016ef8f4502d50b9",
      "tree": "df3dbcdce59af2ecaddb124bf315132593b3eedb",
      "parents": [
        "b496af808eaf3af5ebac50aef4fbec33323b5016"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 28 19:18:28 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jan 05 10:16:18 2018 -0800"
      },
      "message": "ART: Take classloader into account for AttachAgent\n\nTake a classloader into account for attaching an agent, if given.\nThis will use the library path from the classloader to find the\nagent library.\n\nSwitch to libnativeloader to do the actual loading.\n\nBug: 70901841\nTest: m test-art-host\nChange-Id: I59ec55178792bc738fb06e0299522e207dd4a784\n"
    },
    {
      "commit": "b496af808eaf3af5ebac50aef4fbec33323b5016",
      "tree": "9a2a93352c34113b936335f0561ffc69c4c0a046",
      "parents": [
        "daa27bcedade7ff2ee50fbdcbec11a4291b447ee",
        "473191c4093aac1ec50bc275c588287fa37a981e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 05 17:50:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 05 17:50:44 2018 +0000"
      },
      "message": "Merge \"ART: Clean up library loading\""
    },
    {
      "commit": "daa27bcedade7ff2ee50fbdcbec11a4291b447ee",
      "tree": "9b99a0a2c20052ab253e81dd6270cf06eb142865",
      "parents": [
        "70a58af9c733bc14c4573dddd282b3c02ccf4985",
        "6238c8331bf89ce35a377c6475034243a0791f28"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jan 05 17:36:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 05 17:36:37 2018 +0000"
      },
      "message": "Merge \"Remove DexFile direct accesses to CodeItem\""
    },
    {
      "commit": "70a58af9c733bc14c4573dddd282b3c02ccf4985",
      "tree": "46fe53c06014ec4809f5f4c1dbd1e1c941349619",
      "parents": [
        "9382c0d53f91f3788a5254495917898d8b61fe00",
        "2c64a837e62c2839521c89060b5bb0dcb237ddda"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 05 17:36:25 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 05 17:36:25 2018 +0000"
      },
      "message": "Merge \"Change ClassStatus to fit into 4 bits.\""
    },
    {
      "commit": "9382c0d53f91f3788a5254495917898d8b61fe00",
      "tree": "f60debd2cd618b0dcf9702cce2ceb41a7a89442f",
      "parents": [
        "183d794842338e7bf2702c5a5e9ea942586e8de7",
        "29895820587ae6fb40ce51cbe5c887de9f50f87b"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Fri Jan 05 17:26:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 05 17:26:20 2018 +0000"
      },
      "message": "Merge \"Print peak regions allocated metric at GC perf dump\""
    },
    {
      "commit": "c546ec9129f92d8a6d1eed273638042d37776527",
      "tree": "8e00ec83b6f028ea488af6480c49c55e6488e738",
      "parents": [
        "6cd0005698181e4cef2247b632d396e605d58fa3"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Jan 05 15:00:35 2018 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Jan 05 15:00:35 2018 +0000"
      },
      "message": "Switch to using d8 in ART\n\nIt seems reasonable that the ART bots use the current\nd8 toolchain.\n\nA later change will remove jack support.\n\nBug: 67934307\nTest: None\nChange-Id: I725ec85e99fe4f83678b0a3a12f54a74baea061d\n"
    },
    {
      "commit": "2c64a837e62c2839521c89060b5bb0dcb237ddda",
      "tree": "65475ed2e313ff17354e741bac7e9c85739b8b95",
      "parents": [
        "6cd0005698181e4cef2247b632d396e605d58fa3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jan 04 11:31:56 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jan 05 11:27:50 2018 +0000"
      },
      "message": "Change ClassStatus to fit into 4 bits.\n\nIn preparation for extending the type check bit string from\n24 to 28 bits, rewrite ClassStatus to fit into 4 bits. Also\nperform a proper cleanup of the ClassStatus, i.e. change it\nto an enum class, remove the \"Status\" word from enumerator\nnames, replace \"Max\" with \"Last\" in line with other\nenumerations and remove aliases from mirror::Class.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --optimizing\nBug: 64692057\nBug: 65318848\nChange-Id: Iec1610ba5dac2c527b36c12819f132e1a77f2d45\n"
    },
    {
      "commit": "183d794842338e7bf2702c5a5e9ea942586e8de7",
      "tree": "5aa95fee0bb646743e98cc87d32b5d590c85392a",
      "parents": [
        "bd018439d78f89c84df061173521dbd91666c02e",
        "809f5b1652eb68ad496af138370d2cc198510322"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jan 05 11:21:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 05 11:21:30 2018 +0000"
      },
      "message": "Merge \"Explicitly document functions generated with macro ART_GET_FIELD_FROM_CODE.\""
    },
    {
      "commit": "fe92d1227f74a383172c0f339884c69e151fb404",
      "tree": "c8cb4777ef1335e2ef1da22ca239524b6aa33214",
      "parents": [
        "4131d1096ac57a29ba1939c1cf2cb74144c16c92"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Jan 02 10:45:17 2018 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jan 05 10:38:26 2018 +0000"
      },
      "message": "ART: Verifier support for VarHandles\n\nExtends checking of signature polymorphic methods to support VarHandle\naccessor methods.\n\nBug: 65872996\nTest: run-test --host 954\nChange-Id: I696bfdfbf1cd99f7cd6720cda5911dd4f5e66ada\n"
    },
    {
      "commit": "4131d1096ac57a29ba1939c1cf2cb74144c16c92",
      "tree": "d3ac7e0732eac24602718ee2d2af33641b4cf13e",
      "parents": [
        "bd018439d78f89c84df061173521dbd91666c02e"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 03 14:04:42 2018 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jan 05 09:34:26 2018 +0000"
      },
      "message": "ART: Additional Atomic methods\n\nA few additional methods on the Atomic class to support the\ninterpreter VarHandles implementation.\n\nMinor renaming of Atomic::FetchAnd{Or,And}.* to\nAtomic::FetchAndBitwise{Or,And}.*.\n\nMinor updates for consistency in the choice of argument names and doc\ncomments.\n\nBug: 65872996\nTest: art/test.py --host -j32\nChange-Id: Iae35286935fbb270478082fed2fe74abb7b68c57\n"
    },
    {
      "commit": "bd018439d78f89c84df061173521dbd91666c02e",
      "tree": "0636a9e023c87d135800a32453093e6331caead0",
      "parents": [
        "2f1ca4c99fe779a52bea32fab78fd6da59971eeb",
        "4d77dafb032e6e14ce619842dec70862172dbaee"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 05 05:25:24 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 05 05:25:24 2018 +0000"
      },
      "message": "Merge changes Ibaed6a7e,I1c89537c\n\n* changes:\n  Correct behavior of thread suspension around Raw monitors\n  Ensure shutdown thread has a java peer.\n"
    },
    {
      "commit": "4d77dafb032e6e14ce619842dec70862172dbaee",
      "tree": "0636a9e023c87d135800a32453093e6331caead0",
      "parents": [
        "b6f3464a934910e84e9a76e9f453bec71bffed5c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 04 11:51:14 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 04 18:20:16 2018 -0800"
      },
      "message": "Correct behavior of thread suspension around Raw monitors\n\nThe interaction between raw monitors and thread suspension was\ndifferent than some real-world agents expected. Real-world agents rely\non the RawMonitorWait function acting as a suspend point.\n\nChanged the raw-monitor implementation to match this behavior.\n\nAdd tests for this behavior and for the behavior of RawMonitorExit\n(which does not act as a suspend point).\n\nBug: 66904725\nBug: 62821960\n\nTest: ./test.py --host -j50\nTest: ./art/tools/run-libjdwp-tests.sh --mode\u003dhost\n\nChange-Id: Ibaed6a7e6910b7b612f0fb1313958857fbe54595\n"
    },
    {
      "commit": "b6f3464a934910e84e9a76e9f453bec71bffed5c",
      "tree": "5b43e419a96763d272e8c034ea1489e1db99d64f",
      "parents": [
        "2f1ca4c99fe779a52bea32fab78fd6da59971eeb"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 04 11:01:48 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 04 18:19:36 2018 -0800"
      },
      "message": "Ensure shutdown thread has a java peer.\n\nUsing JVMTI it is possible to be running user-supplied code both on\nthe shutdown thread and on other threads while the shutdown thread is\nrunning. Specifically some real-world JVMTI agents rely on being able\nto suspend the shutdown thread while they do cleanup work. In order to\nsupport this we will make sure that the shutdown thread is given its\nown java peer so it can be suspended by other threads.\n\nBug: 66904725\nBug: 62821960\n\nTest: ./test.py --host -j50\n\nChange-Id: I1c89537c47fd3dd41aa4c0e7f7a6940d1c5ba913\n"
    },
    {
      "commit": "2f1ca4c99fe779a52bea32fab78fd6da59971eeb",
      "tree": "bac962be5c9f05c1479b199f14330759b4fa73b9",
      "parents": [
        "a821bb1a71637dbd2e251795fce26f5f6f937299",
        "d5f4baef9ba5f474e1e9a6b5795357fccef2cc42"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 05 01:59:05 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 05 01:59:05 2018 +0000"
      },
      "message": "Merge \"Remove skips for VariableTableTest \u0026 VariableTableWithGenericTest\""
    },
    {
      "commit": "6238c8331bf89ce35a377c6475034243a0791f28",
      "tree": "7de5c1baa9bfe88100b73ca055e7fbf4895ba4d5",
      "parents": [
        "a821bb1a71637dbd2e251795fce26f5f6f937299"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jan 04 09:55:13 2018 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jan 04 15:25:47 2018 -0800"
      },
      "message": "Remove DexFile direct accesses to CodeItem\n\nMotivation: StandardDexFile and CompactDexFile should be able to a\nhave different layout for code items.\n\nAlso addressed comments from a previous CL.\n\nBug: 63756964\nTest: test-art-host\n\nChange-Id: I5ea7a853b8095f68b4443ded0f599f2ac5efbd3a\n"
    },
    {
      "commit": "a821bb1a71637dbd2e251795fce26f5f6f937299",
      "tree": "887d934dd59f0bff408ef31b72b86048d73c766a",
      "parents": [
        "a61e97fd3cae77ec62c3f3bbe944a7eb4bfa87bf",
        "50173eb643bb1e9aa024e2fd11ac48d93e6bd786"
      ],
      "author": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Thu Jan 04 19:37:08 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 04 19:37:08 2018 +0000"
      },
      "message": "Merge \"Make D8 Desugaring default.\""
    },
    {
      "commit": "a61e97fd3cae77ec62c3f3bbe944a7eb4bfa87bf",
      "tree": "ba69bf3d1292afd424838e462562a84f0a7760e1",
      "parents": [
        "6cd0005698181e4cef2247b632d396e605d58fa3",
        "73f21d45a41aaad1a02eecdf3bbdbf78ef599d5e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jan 04 17:59:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 04 17:59:31 2018 +0000"
      },
      "message": "Merge \"Remove CodeItem accessor functions\""
    },
    {
      "commit": "6cd0005698181e4cef2247b632d396e605d58fa3",
      "tree": "57454d36c6a5b32cc1d3aee311ff0a94240b7fff",
      "parents": [
        "a0fd30d155f2cb3c72509bd47ffd90b52ad14780",
        "dfee52ffc2695e5d588d6f125c4f1b3b5e9ac4eb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 04 16:58:19 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 04 16:58:19 2018 +0000"
      },
      "message": "Merge \"Don\u0027t use ANDROID_BUILD_TOP in common_test.mk\""
    },
    {
      "commit": "a0fd30d155f2cb3c72509bd47ffd90b52ad14780",
      "tree": "e27ab7248a47b3dce4cfb1edf7a3044341935e2f",
      "parents": [
        "4abc0012a4d9dfe1074b904462b96bc9c71b5f3a",
        "a81a374e2b5f8ec62b17afc73efff16b35c9ba61"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jan 04 15:39:10 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 04 15:39:10 2018 +0000"
      },
      "message": "Merge \"Ignore OOMEs in ThreadStress\u0027 QueuedWait operation.\""
    },
    {
      "commit": "dfee52ffc2695e5d588d6f125c4f1b3b5e9ac4eb",
      "tree": "af17e1c150c46fd97b82e916115345226a632b75",
      "parents": [
        "4abc0012a4d9dfe1074b904462b96bc9c71b5f3a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 04 06:44:27 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 04 06:58:50 2018 -0800"
      },
      "message": "Don\u0027t use ANDROID_BUILD_TOP in common_test.mk\n\nThe environment variable has been deprecated. Instead just use PPID.\n\nTest: mma -j40 test-art-host-gtest\n\nChange-Id: I229ae92a972f3cd28ff9de6d186b798de3b328c2\n"
    },
    {
      "commit": "809f5b1652eb68ad496af138370d2cc198510322",
      "tree": "d88f0ef90b317ae1f6d8356d132f267fa40951a2",
      "parents": [
        "3165bb09dc04b61abd04bf8e263dd85d610694e4"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jan 04 14:05:59 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jan 04 14:32:51 2018 +0000"
      },
      "message": "Explicitly document functions generated with macro ART_GET_FIELD_FROM_CODE.\n\nThe ART_GET_FIELD_FROM_CODE macro is used to generate the following\nset of functions:\n\n  art{Get,Set}\u003cKind\u003e{Static,Instance}FromCode\n  art{Get,Set}\u003cKind\u003e{Static,Instance}FromCompiledCode\n\nwhere \u003cKind\u003e is in {Byte,Boolean,Short,Char,32,64,Obj}.\n\nHowever, finding the definitions of these functions from their names\nwas difficult, as these definitions (and their name) are\ngenerated. This change explicitly mentions the name of the functions\ngenerated with macro ART_GET_FIELD_FROM_CODE in a commment, in order\nto improve their grep-ability.\n\nTest: mmma art\nChange-Id: I22bf4851c562801c491ccdea2d9d9c9f965b9a6f\n"
    },
    {
      "commit": "a81a374e2b5f8ec62b17afc73efff16b35c9ba61",
      "tree": "45bdafcc0a8ca3b100735a271bd405f979881c5d",
      "parents": [
        "3165bb09dc04b61abd04bf8e263dd85d610694e4"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jan 04 13:11:52 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jan 04 14:24:39 2018 +0000"
      },
      "message": "Ignore OOMEs in ThreadStress\u0027 QueuedWait operation.\n\nPrevious work on ThreadStress\u0027 QueuedWait operation avoided some\nout-of-memory issues by by forcing ahead-of-time initialization of\nclasses used by the Semaphore class (see\nhttps://android-review.googlesource.com/508595).\nHowever, the execution of code from the Semaphore can still throw an\nOutOfMemoryError as some of its code paths allocate memory. In that\ncase (which is expected to be rare), just ignore the OOME and continue\nthe execution.\n\nTest: art/test/testrunner/testrunner.py -t 004-ThreadStress\nBug: 71570713\nChange-Id: I0970e9cc768ce69c669ed75ade22961700ed4549\n"
    },
    {
      "commit": "4abc0012a4d9dfe1074b904462b96bc9c71b5f3a",
      "tree": "ddc9aa77d480d4c7e346036612c78d3509dc625a",
      "parents": [
        "3165bb09dc04b61abd04bf8e263dd85d610694e4",
        "a556e6ba500ba54d1ca90d6a947dd962d9c287c7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 04 14:01:34 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 04 14:01:34 2018 +0000"
      },
      "message": "Merge \"MIPS: InstructionCodeGeneratorMIPS*::DivRemByPowerOfTwo()\""
    },
    {
      "commit": "3165bb09dc04b61abd04bf8e263dd85d610694e4",
      "tree": "3a4e2d4b6001b2bc8e7a8860565943c285e61f63",
      "parents": [
        "a3e50959997f5c3e3b2d7e200b3b022757845f20",
        "4557b3858a66aa20e42bce937e1f0620aad880a2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 04 09:02:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 04 09:02:46 2018 +0000"
      },
      "message": "Merge \"ART: Rename Atomic::CompareExchange methods\""
    },
    {
      "commit": "473191c4093aac1ec50bc275c588287fa37a981e",
      "tree": "df5b6493b21498097c29b5c9772cd1606f1bd29c",
      "parents": [
        "a3e50959997f5c3e3b2d7e200b3b022757845f20"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 28 16:55:31 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 03 23:27:37 2018 -0800"
      },
      "message": "ART: Clean up library loading\n\nRetrieve the library path from the classloader before attempting to\nload, instead of getting it passed down. This allows unifying said\nloading behavior for follow-up changes.\n\nFix up test code to support the new required data in classloader\nobjects.\n\nBug: 70901841\nTest: m test-art-host\nTest: device boots\nChange-Id: Iaccaeb56422877abac9f7fe6f5a17364c8adf4ca\n"
    },
    {
      "commit": "50173eb643bb1e9aa024e2fd11ac48d93e6bd786",
      "tree": "465c9e587a6fc19fde2941bd4a3804e56a3c27c3",
      "parents": [
        "90f20973356900e340998e8e2b34230e5c4c8fb0"
      ],
      "author": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Wed Dec 20 13:33:21 2017 -0800"
      },
      "committer": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Wed Jan 03 14:28:23 2018 -0800"
      },
      "message": "Make D8 Desugaring default.\n\nBug: 69329508\nTest: m checkbuild\nChange-Id: I25218efd33885a0b8c11858ccabeb4cfce4302bf\n"
    },
    {
      "commit": "d5f4baef9ba5f474e1e9a6b5795357fccef2cc42",
      "tree": "10dba57492b155630435e96fb2ce18116e25c527",
      "parents": [
        "b0ddceb337f614dc2600d19b82fb4a6596aa7d4c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 03 11:33:08 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 03 11:33:08 2018 -0800"
      },
      "message": "Remove skips for VariableTableTest \u0026 VariableTableWithGenericTest\n\nThese tests were overly restrictive, causing failures.\n\nBug: 66905468\nTest: ./art/tools/run-libjdwp-tests.sh --mode\u003dhost\nTest: ./art/tools/run-jdwp-tests.sh --mode\u003dhost\nChange-Id: I6d4313eda03f459bf9a7fd3f099238108d3a8f04\n"
    },
    {
      "commit": "a3e50959997f5c3e3b2d7e200b3b022757845f20",
      "tree": "87e75574ea1b491639ffdb6c6a05f34e82a91901",
      "parents": [
        "b0ddceb337f614dc2600d19b82fb4a6596aa7d4c",
        "2a5d7283bba919eadb92ac311c1d563a14098ab5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 03 19:21:22 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 03 19:21:22 2018 +0000"
      },
      "message": "Merge changes I69b3b6f2,I294dbd43\n\n* changes:\n  ART: Emit runtime read barrier checks only in slow-debug\n  ART: Ensure slow-debug mode in dex2oatd testing\n"
    },
    {
      "commit": "a556e6ba500ba54d1ca90d6a947dd962d9c287c7",
      "tree": "f9e747c6218ca741c7b0783a9d10dedf22dd36b3",
      "parents": [
        "b0ddceb337f614dc2600d19b82fb4a6596aa7d4c"
      ],
      "author": {
        "name": "Lena Djokic",
        "email": "Lena.Djokic@mips.com",
        "time": "Wed Dec 13 12:09:42 2017 +0100"
      },
      "committer": {
        "name": "Lena Djokic",
        "email": "Lena.Djokic@mips.com",
        "time": "Wed Jan 03 17:40:01 2018 +0100"
      },
      "message": "MIPS: InstructionCodeGeneratorMIPS*::DivRemByPowerOfTwo()\n\nReplace [d]sll+[d]srl with [d]ins on R2+.\n\nChange-Id: I7587e46c47c8ce413d81a5c6c29d91e32a14d855\n"
    },
    {
      "commit": "b0ddceb337f614dc2600d19b82fb4a6596aa7d4c",
      "tree": "ed9d3cb8668c54b0274653de2bbd7c90b08fa3ea",
      "parents": [
        "00359cd27da40020e0a539515590fac3a46be1e4",
        "38b8b25b7deff92627586405c80182a19e7c18f9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jan 03 15:47:24 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 03 15:47:24 2018 +0000"
      },
      "message": "Merge changes Idd405a2c,I7052da55\n\n* changes:\n  ART: Faster type check bitstring initialization.\n  Replace TypeStaticIf\u003c\u003e with std::conditional\u003c\u003e (C++11).\n"
    },
    {
      "commit": "38b8b25b7deff92627586405c80182a19e7c18f9",
      "tree": "60c804df353e436d5f783830971bd9d3112caeeb",
      "parents": [
        "ca420e49fc97983c2b49f42823bba68e3af26998"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jan 02 19:07:06 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jan 03 14:08:38 2018 +0000"
      },
      "message": "ART: Faster type check bitstring initialization.\n\nReuse depth from recursive call instead of calculating it\nrepeatedly at every level of recursion. Pass pointers by\nvalue instead of reference.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --jit\nBug: 70734806\nChange-Id: Idd405a2c3b04adbfd544639358dc562b32e4c34f\n"
    },
    {
      "commit": "ca420e49fc97983c2b49f42823bba68e3af26998",
      "tree": "caefec604b3e1dea7b4bd3dcb96fe473dab38b05",
      "parents": [
        "ce4982554648998abd0980bd06e738f4bcaa35d9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jan 03 13:37:04 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jan 03 14:08:08 2018 +0000"
      },
      "message": "Replace TypeStaticIf\u003c\u003e with std::conditional\u003c\u003e (C++11).\n\nTest: m\nChange-Id: I7052da55bfe4d69b2ac62965689b89e4f8548056\n"
    },
    {
      "commit": "00359cd27da40020e0a539515590fac3a46be1e4",
      "tree": "0dbb0307560d80992ca3a20d48ce2021ed7a51b5",
      "parents": [
        "90f20973356900e340998e8e2b34230e5c4c8fb0",
        "349e61ff554714ea79e76a89429d5cf8490d714e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 03 13:15:43 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 03 13:15:43 2018 +0000"
      },
      "message": "Merge \"ARM: Remove a deprecated IT block in the read barrier code\""
    },
    {
      "commit": "4557b3858a66aa20e42bce937e1f0620aad880a2",
      "tree": "8f34d8f014b11f17c6351bb955fcc74c940b8d16",
      "parents": [
        "90f20973356900e340998e8e2b34230e5c4c8fb0"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 03 11:47:54 2018 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 03 12:45:40 2018 +0000"
      },
      "message": "ART: Rename Atomic::CompareExchange methods\n\nRenames Atomic::CompareExchange methods to Atomic::CompareAndSet\nequivalents. These methods return a boolean and do not get the witness\nvalue. This makes space for Atomic::CompareAndExchange methods in a\nlater commit that will return a boolean and get the witness value.\n\nThis is pre-work for VarHandle accessors which require both forms.\n\nBug: 65872996\nTest: art/test.py --host -j32\nChange-Id: I9c691250e5556cbfde7811381b06d2920247f1a1\n"
    },
    {
      "commit": "73f21d45a41aaad1a02eecdf3bbdbf78ef599d5e",
      "tree": "88d52c615cd8ec5bd8d2fad44fddeef0911e2458",
      "parents": [
        "d096b3a09f0e7129813fb663fec5b5f131565d71"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jan 02 14:26:50 2018 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jan 02 17:53:21 2018 -0800"
      },
      "message": "Remove CodeItem accessor functions\n\nThese are replaced by the accessor helpers.\n\nBug: 63756964\nTest: test-art-host\nTest: test/testrunner/testrunner.py --host -j30\n\nChange-Id: Ic93d60b68b684eeb5f69be286b4e15b8f8f97542\n"
    },
    {
      "commit": "2a5d7283bba919eadb92ac311c1d563a14098ab5",
      "tree": "832ebaf8fe26cc8ccf0b738cc4547aed7493ffe8",
      "parents": [
        "e8f74caabfb6885ee5ad3a811222083877ca595e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 02 11:53:35 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 02 17:17:15 2018 -0800"
      },
      "message": "ART: Emit runtime read barrier checks only in slow-debug\n\nMove runtime read barrier check emission to slow-debug to have\nbetter control over when this instrumentation is done.\n\nBug: 35644369\nBug: 68025088\nTest: m test-art-host\nTest: manual inspection of core image code\nChange-Id: I69b3b6f243c30813a741fe9e0a460f1543c6bc5d\n"
    },
    {
      "commit": "e8f74caabfb6885ee5ad3a811222083877ca595e",
      "tree": "7f63a42622d2613cc64c8310b09d8707efdf9e92",
      "parents": [
        "90f20973356900e340998e8e2b34230e5c4c8fb0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 02 09:26:16 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 02 16:53:48 2018 -0800"
      },
      "message": "ART: Ensure slow-debug mode in dex2oatd testing\n\nMake sure that dex2oatd is configured to run slow-debug checks in\nrun-tests and for core image generation.\n\nBug: 35644369\nTest: m test-art-host\nChange-Id: I294dbd43dec38d63548c552ffde51e22044cf746\n"
    },
    {
      "commit": "90f20973356900e340998e8e2b34230e5c4c8fb0",
      "tree": "77861ebf10c71e938c8f0506fdafd1f713fe27f7",
      "parents": [
        "d096b3a09f0e7129813fb663fec5b5f131565d71",
        "4ae4e7e9724766adc2cef21d9a016169bd619e79"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 02 23:30:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 02 23:30:29 2018 +0000"
      },
      "message": "Merge \"Fix Concurrency issues in test 1941\""
    },
    {
      "commit": "d096b3a09f0e7129813fb663fec5b5f131565d71",
      "tree": "0de72a4281f997a8d8ae3713734ab556c530f68b",
      "parents": [
        "e8f53e692bc45d864186aa12036d8f856e4f727d",
        "6362e233c6fddd1c18bb0fb4520c575bf190bc69"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 02 22:19:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 02 22:19:20 2018 +0000"
      },
      "message": "Merge \"ART: Refactor VMStack code\""
    },
    {
      "commit": "e8f53e692bc45d864186aa12036d8f856e4f727d",
      "tree": "c2358ce03e46e4b581f7f09dae170a351f502394",
      "parents": [
        "39a5c9ad3cf431bfb75ea756bea650e6552d7aef",
        "f6e31474096a3c25b2d0c872fc120d7479b62367"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 02 21:46:32 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 02 21:46:32 2018 +0000"
      },
      "message": "Merge \"Fix default method verifier check for compact dex\""
    },
    {
      "commit": "39a5c9ad3cf431bfb75ea756bea650e6552d7aef",
      "tree": "2b0c9c473437e49ac3c85f8a04ce979ffced880b",
      "parents": [
        "ce4982554648998abd0980bd06e738f4bcaa35d9",
        "aadcbc64c674995ccdaf686789c8d39ada9913ad"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 02 21:01:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 02 21:01:59 2018 +0000"
      },
      "message": "Merge \"ART: Refactor Agent into Agent and AgentSpec\""
    },
    {
      "commit": "f6e31474096a3c25b2d0c872fc120d7479b62367",
      "tree": "72d8cee843375af8b8c8c7919ae930c9e5df2bfd",
      "parents": [
        "ce4982554648998abd0980bd06e738f4bcaa35d9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Dec 28 13:32:08 2017 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jan 02 11:41:47 2018 -0800"
      },
      "message": "Fix default method verifier check for compact dex\n\nAdd a feature flag and mark if the compact dex file was\ngenerated from a dex file that supported default methods or not. This\nis done to maintain the existing verifier behavior differences for\ndex files that do and don\u0027t support default methods.\n\nFixed callers to use a virtual function instead of always checking\nthe dex file version.\n\nRe-enabled run-test 975.\n\nBug: 70930171\nBug: 63756964\nTest: test-art-host\n\nChange-Id: I46ac5d3cde0d0c9f41cbc68cccaf954b531e0edf\n"
    },
    {
      "commit": "4ae4e7e9724766adc2cef21d9a016169bd619e79",
      "tree": "2c5cee38ba40e056dd740bcf2334ce93922e6fc8",
      "parents": [
        "9e73b32fed15d262b0393f114b9602ac7ef88917"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 14 10:04:06 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jan 02 11:30:26 2018 -0800"
      },
      "message": "Fix Concurrency issues in test 1941\n\nThe tracing support code we were using in test 1941 was not\nthread-safe. This led to the test sometimes failing in odd ways. This\nfixes the support code and also updates the 1941 test itself to make\nit somewhat more focused.\n\nBug: 70459579\nTest: ./test.py -j50 --host\nChange-Id: If9e5250bc233a407ee678b89d4dffd52baebdf5d\n"
    },
    {
      "commit": "aadcbc64c674995ccdaf686789c8d39ada9913ad",
      "tree": "2b0c9c473437e49ac3c85f8a04ce979ffced880b",
      "parents": [
        "ce4982554648998abd0980bd06e738f4bcaa35d9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 28 14:05:42 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 02 09:08:00 2018 -0800"
      },
      "message": "ART: Refactor Agent into Agent and AgentSpec\n\nSeparate configuration/loading and runtime state.\n\nTest: m test-art-host\nChange-Id: I69bb91e13ef10b9e1ce313f45b0b809b913d8e10\n"
    },
    {
      "commit": "ce4982554648998abd0980bd06e738f4bcaa35d9",
      "tree": "74cc64207d51b2ddace2c3e5f70ac1279b801aa3",
      "parents": [
        "10d9d49d1e9a1ab818c5ab1383f9abd34d32b3b8",
        "1e0181598b97ad4fa824f046b044f4c675cfd4f4"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Jan 02 15:29:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 02 15:29:30 2018 +0000"
      },
      "message": "Merge \"Fix potential out of bounds access in 151-OpenFileLimit test.\""
    },
    {
      "commit": "10d9d49d1e9a1ab818c5ab1383f9abd34d32b3b8",
      "tree": "32c695e66d02e36ea5575af24949045c54485a66",
      "parents": [
        "c23eb770df9d5defa4a0a39f9adc9bdb193511b8",
        "ffad66818572eb902f281057f85fa5bf031c66d5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 02 12:37:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 02 12:37:39 2018 +0000"
      },
      "message": "Merge \"ART: Add test for ArrayElementVarHandle offsets.\""
    },
    {
      "commit": "c23eb770df9d5defa4a0a39f9adc9bdb193511b8",
      "tree": "e29332aad50d0cea7d55f443ddf5dfe0d39e5d63",
      "parents": [
        "ee821204e80b736a4c1e59c359436358b68a0671",
        "93d6846bff241fe104d681e078f66dc40daf39d8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 02 12:04:10 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 02 12:04:10 2018 +0000"
      },
      "message": "Merge \"Revert \"Rename ANDROID_PRODUCT_OUT -\u003e PRODUCT_OUT.\"\""
    },
    {
      "commit": "93d6846bff241fe104d681e078f66dc40daf39d8",
      "tree": "e29332aad50d0cea7d55f443ddf5dfe0d39e5d63",
      "parents": [
        "bf7fbc28a885d50a336eb7a191d24dc15f075360"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 02 11:59:45 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 02 11:59:45 2018 +0000"
      },
      "message": "Revert \"Rename ANDROID_PRODUCT_OUT -\u003e PRODUCT_OUT.\"\n\nUsing ANDROID_PRODUCT_OUT is actually the right thing to do.\n\nThe reason the bots failed was because I\u0027ve changed their export to PRODUCT_OUT. I\u0027ve reverted that change here:\nhttps://chromium-review.googlesource.com/c/chromium/tools/build/+/847512\n\nThis reverts commit bf7fbc28a885d50a336eb7a191d24dc15f075360.\n\nChange-Id: Ic67586bc33b8921dd20946238b59fe522fe784dd\n"
    },
    {
      "commit": "ffad66818572eb902f281057f85fa5bf031c66d5",
      "tree": "29d019b3c47ad155e911b811a9827659c912b284",
      "parents": [
        "ee821204e80b736a4c1e59c359436358b68a0671"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Jan 02 10:18:58 2018 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Jan 02 10:31:09 2018 +0000"
      },
      "message": "ART: Add test for ArrayElementVarHandle offsets.\n\nFixes omission in 005ac512de3d734624a5db39bb14b71763ba730d.\n\nTest: art/test.py --host -g -j32\nBug: 65872996\nChange-Id: I085f8a56661012ca3b5a380d8c644aec88b7e441\n"
    },
    {
      "commit": "1e0181598b97ad4fa824f046b044f4c675cfd4f4",
      "tree": "ce28085b1d544a9b59749f4453ad1e8759174293",
      "parents": [
        "ebe55a88b145a97a4261519a578e9ce1ba587316"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Jan 02 09:05:51 2018 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Jan 02 09:05:51 2018 +0000"
      },
      "message": "Fix potential out of bounds access in 151-OpenFileLimit test.\n\nBug: 71453022\nTest: art/test/testrunner/testrunner.py -b -t 151-OpenFileLimit --host\nChange-Id: Idb7ff3c219dc699d394e28918009d34886d3de25\n"
    },
    {
      "commit": "ee821204e80b736a4c1e59c359436358b68a0671",
      "tree": "f9e4665f4d41b0fdd202d8461c725e948cf6116c",
      "parents": [
        "a13628ed118c821eef5e2eaf76a9b17ac27a405f",
        "bf7fbc28a885d50a336eb7a191d24dc15f075360"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 01 21:20:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 01 21:20:44 2018 +0000"
      },
      "message": "Merge \"Rename ANDROID_PRODUCT_OUT -\u003e PRODUCT_OUT.\""
    },
    {
      "commit": "bf7fbc28a885d50a336eb7a191d24dc15f075360",
      "tree": "f9e4665f4d41b0fdd202d8461c725e948cf6116c",
      "parents": [
        "a13628ed118c821eef5e2eaf76a9b17ac27a405f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 01 21:13:46 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 01 21:18:56 2018 +0000"
      },
      "message": "Rename ANDROID_PRODUCT_OUT -\u003e PRODUCT_OUT.\n\nChange-Id: I95cb69931b9d18e26ccd75ff59d9c5d1a11a2764\n"
    },
    {
      "commit": "a13628ed118c821eef5e2eaf76a9b17ac27a405f",
      "tree": "e29332aad50d0cea7d55f443ddf5dfe0d39e5d63",
      "parents": [
        "66c04886268e1ee537b075dd04c8648a06321f39",
        "a022d8bf3a4a39f99a2c4498fde75ce1a6fc585f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Dec 31 16:39:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Dec 31 16:39:25 2017 +0000"
      },
      "message": "Merge \"Use PRODUCT_OUT instead of ANDROID_PRODUCT_OUT\""
    },
    {
      "commit": "a022d8bf3a4a39f99a2c4498fde75ce1a6fc585f",
      "tree": "e29332aad50d0cea7d55f443ddf5dfe0d39e5d63",
      "parents": [
        "66c04886268e1ee537b075dd04c8648a06321f39"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "goran.jakovljevic@mips.com",
        "time": "Fri Dec 29 12:54:38 2017 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "goran.jakovljevic@mips.com",
        "time": "Fri Dec 29 12:54:38 2017 +0100"
      },
      "message": "Use PRODUCT_OUT instead of ANDROID_PRODUCT_OUT\n\nThis fixes an error when running art/tools/buildbot-build.sh:\nart/Android.mk:137: error: ANDROID_PRODUCT_OUT is obsolete. Use\nPRODUCT_OUT instead.\n\nTest: successfully executed buildbot-build.sh\nChange-Id: If269bb7b5b53c2940b4299c953f8fd9c27dc2c50\n"
    },
    {
      "commit": "66c04886268e1ee537b075dd04c8648a06321f39",
      "tree": "4b1b2ebb4458286f9655293ebf4feab435ab18d9",
      "parents": [
        "fbd5b0e3a37cc46116d910a0b53f52bb7a0f2b16",
        "fe0daaeef3f180a876b04af30278f777593f0c42"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Dec 29 03:04:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 29 03:04:54 2017 +0000"
      },
      "message": "Merge \"Use code item accessors in dex file verifier\""
    },
    {
      "commit": "fe0daaeef3f180a876b04af30278f777593f0c42",
      "tree": "4b1b2ebb4458286f9655293ebf4feab435ab18d9",
      "parents": [
        "fbd5b0e3a37cc46116d910a0b53f52bb7a0f2b16"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Dec 27 11:51:45 2017 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Dec 28 18:18:44 2017 +0000"
      },
      "message": "Use code item accessors in dex file verifier\n\nMotivation: Remove the code item friend keyword here.\n\nBug: 63756964\nTest: test-art-host\n\nChange-Id: I9f89c9a1ea5ed861f7ced6fa5546ff1c51b46b68\n"
    },
    {
      "commit": "fbd5b0e3a37cc46116d910a0b53f52bb7a0f2b16",
      "tree": "e56ce9fe2826ffe34d50c398bf1d42315c477116",
      "parents": [
        "ebe55a88b145a97a4261519a578e9ce1ba587316",
        "dc578c7e47b2db623b382932bfe4dbc6dce41aa4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Dec 28 18:17:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 28 18:17:26 2017 +0000"
      },
      "message": "Merge \"Move dex exception helpers to their own file and use dex accessor\""
    },
    {
      "commit": "6362e233c6fddd1c18bb0fb4520c575bf190bc69",
      "tree": "57440ea457b460b0ccffa89bedd1f08a92d7f399",
      "parents": [
        "ebe55a88b145a97a4261519a578e9ce1ba587316"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Dec 11 20:43:25 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 27 16:48:22 2017 -0800"
      },
      "message": "ART: Refactor VMStack code\n\nMake GetThreadStack generic wrt/ a function being called to generate the\nstack. In preparation for new code.\n\nBug: 70538431\nTest: m test-art-host\nChange-Id: I7e2b6583b28ad89bc645acdc9549f2f0a25ea055\n"
    },
    {
      "commit": "ebe55a88b145a97a4261519a578e9ce1ba587316",
      "tree": "67a39bb7d1bb69d360b51e69f0a43af2d929ba34",
      "parents": [
        "b2e60900f59d0e5695171144f7ddc2fa7cddee64",
        "94c589db78da2b66bc681c6480819ca4bd4d3326"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 27 22:52:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 27 22:52:00 2017 +0000"
      },
      "message": "Merge \"ART: Mark Dbg GCs as debugger\""
    },
    {
      "commit": "dc578c7e47b2db623b382932bfe4dbc6dce41aa4",
      "tree": "409e6dc0c338bf75c1ce55acfae91fe86ef3028e",
      "parents": [
        "1d32a16f93d8bb479523fd237277ecbbff5bf1f4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Dec 27 11:51:45 2017 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Dec 27 13:24:11 2017 -0800"
      },
      "message": "Move dex exception helpers to their own file and use dex accessor\n\nAlso change the input argument to be a code item accessor\ninstead of a code item pointer. This removes the dependency on\nthe code item layout.\n\nBug: 63756964\nTest: test-art-host\n\nChange-Id: If75a168d0b5a77d08fa3c6ba38d00705158911db\n"
    },
    {
      "commit": "94c589db78da2b66bc681c6480819ca4bd4d3326",
      "tree": "dd790ffa1c358e4fa41af5468f52909bc1035cfa",
      "parents": [
        "1d32a16f93d8bb479523fd237277ecbbff5bf1f4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 27 12:43:01 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 27 12:45:52 2017 -0800"
      },
      "message": "ART: Mark Dbg GCs as debugger\n\nChange Heap::CollectGarbage to accept explicit GcCause, but implicitly\ndefault to kGcCauseExplicit.\n\nChange Dbg functions that run an explicit GC to set the cause to\nkGcCauseDebugger.\n\nTest: m test-art-host\nChange-Id: I53d4073fca01c1de78d14a58dff33004c7971981\n"
    },
    {
      "commit": "b2e60900f59d0e5695171144f7ddc2fa7cddee64",
      "tree": "15d2f5f9a1d913107a4634bb6edcebd34df6310b",
      "parents": [
        "1d32a16f93d8bb479523fd237277ecbbff5bf1f4",
        "21f9cb88932fc321427f41256b154dc626233a6f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 27 20:42:51 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 27 20:42:51 2017 +0000"
      },
      "message": "Merge changes I4f6de0af,Id6805e03\n\n* changes:\n  ART: Disable watchdog test for non-CC\n  Revert \"ART: Add barrier to dex2oat watchdog startup\"\n"
    },
    {
      "commit": "21f9cb88932fc321427f41256b154dc626233a6f",
      "tree": "15d2f5f9a1d913107a4634bb6edcebd34df6310b",
      "parents": [
        "0f54b0d5322b9227f15e23bdd4109979aa9555eb"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 27 08:43:08 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 27 08:43:08 2017 -0800"
      },
      "message": "ART: Disable watchdog test for non-CC\n\nDisable the watchdog trigger test. It is not clear why CMS does\nnot reliably trigger the watchdog.\n\nBug: 63052624\nTest: m test-art-host\nChange-Id: I4f6de0af4f08317f75069dcaf83702f2d8b5c1c8\n"
    },
    {
      "commit": "0f54b0d5322b9227f15e23bdd4109979aa9555eb",
      "tree": "68dd5cc4d60804205396d25a1431239a39568f13",
      "parents": [
        "1d32a16f93d8bb479523fd237277ecbbff5bf1f4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 27 08:37:02 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 27 08:37:26 2017 -0800"
      },
      "message": "Revert \"ART: Add barrier to dex2oat watchdog startup\"\n\nThis reverts commit 85baf7a5a681c73825e0e0909d3757906b4e772b.\n\nThe change was ineffective.\n\nBug: 63052624\nTest: m test-art-host\nChange-Id: Id6805e0315feebd2f1afbf41d301074e5518e938\n"
    },
    {
      "commit": "1d32a16f93d8bb479523fd237277ecbbff5bf1f4",
      "tree": "399e9c129d6d1bc6ca761026654711ba774879a4",
      "parents": [
        "9ad08a3ea53487066cd39fafa46b98bb70685b14",
        "55256cb60e11d4fac71affb4b9760a2931a3598d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 22 20:09:22 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 22 20:09:22 2017 +0000"
      },
      "message": "Merge \"Extensions to check JNI.\""
    },
    {
      "commit": "9ad08a3ea53487066cd39fafa46b98bb70685b14",
      "tree": "d7f0d7cabaac5a7646c25bae584a82a9aa279cc0",
      "parents": [
        "64bae9fb677aa0e2406d13ea9f8ebaa92e16f978",
        "808c7a57bb913b13c22884f57cdacd59bf1fdb3f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Dec 22 20:01:46 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 22 20:01:46 2017 +0000"
      },
      "message": "Merge \"Make CodeItem fields private\""
    },
    {
      "commit": "55256cb60e11d4fac71affb4b9760a2931a3598d",
      "tree": "fc1ed6885b013e0aa2bcfd9ef4dd94fec29bd382",
      "parents": [
        "64bae9fb677aa0e2406d13ea9f8ebaa92e16f978"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 21 17:07:11 2017 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Dec 22 10:11:39 2017 -0800"
      },
      "message": "Extensions to check JNI.\n\nEnsure critical lock isn\u0027t held when returning from a down-call.\nLog a warning if the critical lock is held for a significant period of\ntime.\nRefactor JNIEnvExt to be a class rather than a struct.\n\nTest: mma test-art-host\n\nChange-Id: I4d149cb04d3a7308a22b92b196e51e2f1ae17ede\n"
    },
    {
      "commit": "808c7a57bb913b13c22884f57cdacd59bf1fdb3f",
      "tree": "d7f0d7cabaac5a7646c25bae584a82a9aa279cc0",
      "parents": [
        "64bae9fb677aa0e2406d13ea9f8ebaa92e16f978"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Dec 15 11:19:33 2017 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Dec 22 09:41:17 2017 -0800"
      },
      "message": "Make CodeItem fields private\n\nMake code item fields private and use accessors. Added a hand full of\nfriend classes to reduce the size of the change.\n\nChanged default to be nullable and removed CreateNullable.\nCreateNullable was a bad API since it defaulted to the unsafe, may\nadd a CreateNonNullable if it\u0027s important for performance.\n\nMotivation:\nHave a different layout for code items in cdex.\n\nBug: 63756964\nTest: test-art-host-gtest\nTest: test/testrunner/testrunner.py --host\nTest: art/tools/run-jdwp-tests.sh \u0027--mode\u003dhost\u0027 \u0027--variant\u003dX32\u0027 --debug\n\nChange-Id: I42bc7435e20358682075cb6de52713b595f95bf9\n"
    },
    {
      "commit": "64bae9fb677aa0e2406d13ea9f8ebaa92e16f978",
      "tree": "87a9c45ef0dbe0a70551d27c4cee293e94f76111",
      "parents": [
        "dfd110e676a6f19f676d85961c48bb5ed280767b",
        "5e399b8715f3cb153ddb619a7c47515583799db3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 21 19:02:59 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 21 19:02:59 2017 +0000"
      },
      "message": "Merge \"ART: Rename cloner_test.\""
    },
    {
      "commit": "dfd110e676a6f19f676d85961c48bb5ed280767b",
      "tree": "955b0d43b1492fd582efb6846023b131b9ae46db",
      "parents": [
        "2469ec9b640cbfdcc5f164468e97b1f938f8975a",
        "85baf7a5a681c73825e0e0909d3757906b4e772b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 21 17:25:17 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 21 17:25:17 2017 +0000"
      },
      "message": "Merge \"ART: Add barrier to dex2oat watchdog startup\""
    },
    {
      "commit": "5e399b8715f3cb153ddb619a7c47515583799db3",
      "tree": "ff88905149497482b079ab4cb8c2caaec05cc498",
      "parents": [
        "ffc3be6b4a58c1ed172a5c890f8b8583a416998f"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Dec 21 14:28:35 2017 +0000"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Dec 21 14:57:31 2017 +0000"
      },
      "message": "ART: Rename cloner_test.\n\nRename cloner_test to superblock_cloner_test to be\nconsistent with the test naming conventioni as a new\nSuperblockCloner file is arriving.\n\nTest: superblock_cloner_test.cc.\nChange-Id: I066a20b4599de6c59b83676bb11295135a512791\n"
    },
    {
      "commit": "2469ec9b640cbfdcc5f164468e97b1f938f8975a",
      "tree": "71a1baa630beb2b3c0e730b74917b27fa1fe71e0",
      "parents": [
        "8b3479b6b5c69a802fec2c36ddb785f6636d53f7",
        "8d840901650a4ac3c647cc0372e01d9a6eb433a9"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Wed Dec 20 21:28:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 20 21:28:29 2017 +0000"
      },
      "message": "Merge \"Use LogHelper::LogLineLowStack instead of LogMessage::LogLine.\""
    },
    {
      "commit": "8b3479b6b5c69a802fec2c36ddb785f6636d53f7",
      "tree": "4260efbc89fc5a589035ee48110c0b88f68dbf3b",
      "parents": [
        "3e12798f1756198e808a44eccad92c75baafcdae",
        "b91f9c154a816620f01206e119f036d9d28ce683"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Dec 20 20:44:11 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 20 20:44:11 2017 +0000"
      },
      "message": "Merge \"Make GetState() handle overflowed state and 0 path to root\""
    },
    {
      "commit": "b91f9c154a816620f01206e119f036d9d28ce683",
      "tree": "a63aca252021ddcfa218dc768c6ebe59412cc4f7",
      "parents": [
        "ffc3be6b4a58c1ed172a5c890f8b8583a416998f"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Dec 19 15:01:28 2017 -0800"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Dec 20 12:28:16 2017 -0800"
      },
      "message": "Make GetState() handle overflowed state and 0 path to root\n\nFix GetState() so that it deals correctly with an overflowed state in\nwhich the path to root is entirely zero. We don\u0027t try to salvage\nthe DCHECK for now. Fix the stated invariants to be more consistent\nwith the code.\n\nBug: 69564627\nTest: AOSP builds \u0026 runs. Host tests pass.\nChange-Id: Idd975f03d4292e4fc52ad7714bbb2b1b98e17f96\n"
    },
    {
      "commit": "3e12798f1756198e808a44eccad92c75baafcdae",
      "tree": "795734d37b4aa1359c21927a73b38b2fea3a783e",
      "parents": [
        "6f8542ac3f6384efc6ad4c51269552b2fa4a03eb",
        "a46e50b87508a87264b04bf526f86fa93e2d8c30"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Wed Dec 20 17:58:01 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 20 17:58:01 2017 +0000"
      },
      "message": "Merge \"Test all .art files in patchoat test\""
    },
    {
      "commit": "6f8542ac3f6384efc6ad4c51269552b2fa4a03eb",
      "tree": "deed392c9fb211948d7373cd8638f880d8721265",
      "parents": [
        "3859966d5c0d4a2d98e6012b458ef0b7e218c9b4",
        "c7547c3a52785f4a69675a88ec2a90696f26c75d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 20 17:15:57 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 20 17:15:57 2017 +0000"
      },
      "message": "Merge \"Disable libraries using eventfd on darwin hosts.\""
    },
    {
      "commit": "8d840901650a4ac3c647cc0372e01d9a6eb433a9",
      "tree": "1a3ee04c31cf29aa4378df2ec84e5199d073e17e",
      "parents": [
        "95e5a352efac9c304bec3022da5cfa6be99a4f54"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Wed Dec 20 08:19:53 2017 -0800"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Wed Dec 20 08:46:39 2017 -0800"
      },
      "message": "Use LogHelper::LogLineLowStack instead of LogMessage::LogLine.\n\nThe LogLine method is being altered to include LOG_TAG.\nInstead of updating the usage here with the new signature, a better match for\nART is selected: LogLineLowStack.\n\nBug: 35361699\nTest: it builds\nChange-Id: Ie6c01d3a25b097af693aa56c2e611f5261976fef\n"
    },
    {
      "commit": "c7547c3a52785f4a69675a88ec2a90696f26c75d",
      "tree": "deed392c9fb211948d7373cd8638f880d8721265",
      "parents": [
        "3859966d5c0d4a2d98e6012b458ef0b7e218c9b4"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 20 08:05:06 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 20 08:05:06 2017 -0800"
      },
      "message": "Disable libraries using eventfd on darwin hosts.\n\nThe eventfd API is not supported on darwin/MacOS. Since these\nlibraries are not meant for host use we will simply not build them for\nthose platforms. The libraries disabled are libdt_fd_forward and\nlibadbconnection. Both of these libraries are used for debugging\nsupport on device only so it should not be any real issue.\n\nTest: None\nChange-Id: Ia1b1efc50a0bd9427640edec322db5ebd37d92a2\n"
    },
    {
      "commit": "3859966d5c0d4a2d98e6012b458ef0b7e218c9b4",
      "tree": "9c8fd69a71d9eff0f759bf4cdf16327d300bbf50",
      "parents": [
        "ffc3be6b4a58c1ed172a5c890f8b8583a416998f",
        "fbf9670f31d09c47078d43fd85ee2bda23273d26"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 20 15:04:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 20 15:04:09 2017 +0000"
      },
      "message": "Merge changes from topic \"alternate-jdwp\"\n\n* changes:\n  Add adbconnection plugin\n  Add fd-forwarding transport lib\n  Add support for selecting alternate JDWP implementations\n"
    },
    {
      "commit": "85baf7a5a681c73825e0e0909d3757906b4e772b",
      "tree": "335f9f664bd08b666c5bc01fb18384ecfa39f238",
      "parents": [
        "ffc3be6b4a58c1ed172a5c890f8b8583a416998f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Dec 19 21:57:43 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Dec 19 21:58:45 2017 -0800"
      },
      "message": "ART: Add barrier to dex2oat watchdog startup\n\nEnsure that the watchdog is running before progressing.\n\nBug: 63052624\nTest: m test-art-host\nChange-Id: I4ada6be7e46b5ee10f9f53805fa10efb15d6de1e\n"
    },
    {
      "commit": "29895820587ae6fb40ce51cbe5c887de9f50f87b",
      "tree": "6cdc56e23e2b7491c645c89ec9bbe7f2302a4fa6",
      "parents": [
        "1e61f980e8beaa6121baecd122db17bab5429e1b"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Fri Dec 15 15:37:40 2017 -0800"
      },
      "committer": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Tue Dec 19 16:34:52 2017 -0800"
      },
      "message": "Print peak regions allocated metric at GC perf dump\n\nMaximum (of all GC iterations) peak regions allocated\nis printed during GC perf dump which reflects space\npressure on allocator.\n\nBug: b/69633530\nTest: Any bench with -XX:DumpGCPerformanceOnShutdown cmdline flag\nChange-Id: I0e2960825c5637955e9dfb677e5ed65ed852ba93\n"
    },
    {
      "commit": "ffc3be6b4a58c1ed172a5c890f8b8583a416998f",
      "tree": "9edaf87245989ad6c29a96fefd5042de5cfda383",
      "parents": [
        "a6615945258f003756ce7f344670a2802fad7037",
        "532246e54787d3016882dfcc9e6d210c48a8c6d9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Dec 19 23:09:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 19 23:09:58 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Move art-heap-poisoning and art-gtest-ss-gc to test cdex\"\"\""
    },
    {
      "commit": "a6615945258f003756ce7f344670a2802fad7037",
      "tree": "ebeb5b97ff910ec282c4d32104d73a4372979051",
      "parents": [
        "69b2560d6aa74b38cbbd22b8fdabbfb38e814835",
        "e166e67666bf4b23e4ed0a98f5e2bb3cae9cee7d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 19 22:55:03 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 19 22:55:03 2017 +0000"
      },
      "message": "Merge \"Revert \"Don\u0027t embed the dex code in the oat file if dex is uncompressed.\"\""
    },
    {
      "commit": "fbf9670f31d09c47078d43fd85ee2bda23273d26",
      "tree": "c2ee763c73f3cf89cfe3aed6230c1830b27583b3",
      "parents": [
        "3979571aa1dfc907569fb7e27ab225ca89f6f86e"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 14 13:27:13 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 19 14:52:08 2017 -0800"
      },
      "message": "Add adbconnection plugin\n\nThis plugin will take care of creating and managing a debugger connection\nthrough the adb daemon. This involves sending DDMS messages from the\nruntime, loading the JDWP agent when required, and setting up the\nconnection. We need this since DDMS packets can be sent even if there has\nnot been a full handshake done with the JDWP agent.\n\nAdd an \u0027adbconnection\u0027 value to \u0027-XjdwpProvider:...\u0027 to allow one to\nrequest that the adbconnection plugin be used to provide JDWP\nfunctionality.\n\nBug: 62821960\nTest: Manual, Flash walleye, debug apps\n\nChange-Id: Id9bed589b7c5e3830e6cdfbfee460b091459a27b\n"
    },
    {
      "commit": "3979571aa1dfc907569fb7e27ab225ca89f6f86e",
      "tree": "fd91ada65bffa3fcefc773a36cbf8055bf688a1c",
      "parents": [
        "403207107da7f11525c4d305184c56b35ec1c17a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 14 11:58:21 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 19 14:52:01 2017 -0800"
      },
      "message": "Add fd-forwarding transport lib\n\ndt_fd_forward is a jdwpTransport that takes as an address a local\nsocket file-descriptor and uses it to allow some other piece of code\nor program to control the actual attach and communication process.\n\ntools/dt_fds_forward.py is a python program that can be used as a\ncontroller for this comms system. This is useful for testing. It\nimplements the same behavior (excepting DDMS) that the adbconnection\nplugin will but is capable of being easily used on normal host\nmachines. Unlike the plugin, dt_fds_forward.py works by allowing a\nsocket file-descriptor to be inherited by the forked Java Language\nRuntime.\n\nThe overall goal of this transport is to use it to allow us to safely\nmultiplex the out-bound data with DDMS data. This is needed to let us\nmatch current DDMS behavior which transmits packets in the blind on\nthe same channel JDWP traffic is sent on.\n\nTest: ./tools/dt_fds_forward.py  \\\n        ./test/run-test --host --dev 001-HelloWorld\nTest: jdb -attach localhost:12345\nTest: nc localhost 12345, handshake, disconnect\nTest: jdb -attach localhost:12345, detach, attach\n\nTest: ./tools/dt_fds_forward.py  \\\n            --debug-lib $JAVA_HOME/jre/lib/amd64/libjdwp.so \\\n            -- \\\n            ./test/run-test --host --jvm --dev 001-HelloWorld\nTest: jdb -attach localhost:12345\n\nBug: 62821960\nBug: 69169846\n\nChange-Id: I654db6c6991c006933e1e1f0a4e41c13f795f9a8\n"
    },
    {
      "commit": "a46e50b87508a87264b04bf526f86fa93e2d8c30",
      "tree": "c099a68fe9d8c175f1d1393ceec1313c90d10a58",
      "parents": [
        "35e9c147cb1a45f36a63964d677f26c44f02990f"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Tue Dec 19 12:16:11 2017 -0800"
      },
      "committer": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Tue Dec 19 14:26:51 2017 -0800"
      },
      "message": "Test all .art files in patchoat test\n\nThis augments the patchoat test to check all .art files produced by\ndex2oat and patchoat, rather than just the main one -- boot.art.\nFor context, the test currently produces two .art files: boot.art and\nboot-core-libart-hostdex.art.\n\nTest: ./art/test/testrunner/run_build_test_target.py art-gtest-debug-gc\nTest: make test-art-host-gtest-patchoat_test\nTest: make test-art-target-gtest-patchoat_test\nBug: 66697305\nChange-Id: I8a90e70811ac8b98a7c2de5bfe6a388ca884e259\n"
    },
    {
      "commit": "69b2560d6aa74b38cbbd22b8fdabbfb38e814835",
      "tree": "56e3e3649d35812aae5bea6bd1510c307c99b1fc",
      "parents": [
        "5b2c96bda3a816075679ff81fd61f2d6f00a0981",
        "641a3afee3e6879b71ae9fe47b92680580901a49"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Dec 19 21:36:50 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 19 21:36:50 2017 +0000"
      },
      "message": "Merge \"Add code_item_accessors-no_art-inl and use it in dexlist, dexdump\""
    },
    {
      "commit": "641a3afee3e6879b71ae9fe47b92680580901a49",
      "tree": "64804a4d5820131e487e7c34fa5abdccc94b29b2",
      "parents": [
        "35e9c147cb1a45f36a63964d677f26c44f02990f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Dec 15 11:42:58 2017 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Dec 19 21:22:44 2017 +0000"
      },
      "message": "Add code_item_accessors-no_art-inl and use it in dexlist, dexdump\n\nAdded new helper to prevent inclusion of ART code. Removed accesses to\ndex code.\n\nBug: 63756964\nBug: 70852830\nTest: test-art-host-gtest -j40\nTest: mm test-art-host-dexdump -j40\n\nChange-Id: Ie0220df464a5cc2b81c0ee3e0483cdf2de003092\n"
    },
    {
      "commit": "5b2c96bda3a816075679ff81fd61f2d6f00a0981",
      "tree": "af00c4e3a4f4d829ac130eea8a60da220260dcd9",
      "parents": [
        "35e9c147cb1a45f36a63964d677f26c44f02990f",
        "8f514ee35ec3dda9b38b794a8052e0312e4b1c04"
      ],
      "author": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Tue Dec 19 20:26:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 19 20:26:29 2017 +0000"
      },
      "message": "Merge \"Update java.lang.String class size.\""
    },
    {
      "commit": "e166e67666bf4b23e4ed0a98f5e2bb3cae9cee7d",
      "tree": "c76c20d3f409cdc8bee26c03fd5e76356f150653",
      "parents": [
        "ae7e83817e546848ef6b2949dd9065b153e14316"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Dec 19 18:59:29 2017 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Dec 19 18:59:29 2017 +0000"
      },
      "message": "Revert \"Don\u0027t embed the dex code in the oat file if dex is uncompressed.\"\n\nThis reverts commit ae7e83817e546848ef6b2949dd9065b153e14316.\n\nReason for revert: Broken wrt/ preopted apps and stripping\n\nBug: 63920015\nBug: 70777774\nChange-Id: I39580684d46fa57bd780d2d8bedd65a47d58cf5e\nTest: m\n"
    }
  ],
  "next": "532246e54787d3016882dfcc9e6d210c48a8c6d9"
}
