)]}'
{
  "log": [
    {
      "commit": "01fc470f59ec2721023b458a3a8f64e931c730c5",
      "tree": "45358e77b46342d53a9f12bae9c111204c841879",
      "parents": [
        "7539b4073011a2a733d7a7170449519cf71866a3"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Sep 17 09:29:22 2019 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Sep 17 16:31:34 2019 +0000"
      },
      "message": "Fix test 1974\n\nTest 1974 would print different messages depending on if an object was\nfreed or not. This could cause the test to incorrectly fail.\n\nTest: ./test.py --host\nChange-Id: Idbcfdb3c08412b7ea969b6ca6d95493342598e0c\n"
    },
    {
      "commit": "7539b4073011a2a733d7a7170449519cf71866a3",
      "tree": "46a5a0cbda5880add3aa85adc0d0da6b0dd1bc0e",
      "parents": [
        "f4666af9f4a3a029c1a076358526f8437f4f4b43"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 17 09:20:22 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 17 16:23:46 2019 +0000"
      },
      "message": "Fix test 1974 expected output\n\nTest fails because of missing \"!\" in the expected output.\n\nTest: test/run-test --always-clean --dex2oat-jobs 4 --host --prebuild --compact-dex-level fast --jit --runtime-option -Xjitthreshold:0 --no-relocate --gcstress --runtime-option -Xcheck:jni --64 1974-resize-array\nChange-Id: I9dcabf3041fc380e3f3b8f1d94b41f71e5e26dac\n"
    },
    {
      "commit": "f4666af9f4a3a029c1a076358526f8437f4f4b43",
      "tree": "1948b5533c4766b61466af28906e3438dc5e0e73",
      "parents": [
        "8e2c78d6dfddaceb602ae356e42af4eff19cc74a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 03 12:45:29 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 17 16:07:08 2019 +0000"
      },
      "message": "Revert^2 \"Fix profile saver hotness for AOT code\"\n\nAdded diagnostic to debug flakiness.\n\nTest: test/run-test --always-clean  -O --prebuild --optimizing --no-relocate --runtime-option -Xcheck:jni --64  2230-profile-save-hotness\n\nBug: 139883463\n\nThis reverts commit 775d38d8492ba8c60dba968064d6e0ac44e0b372.\n\nChange-Id: Ia0b45791be4c5c3a990bb030f5d68cef577b4474\n"
    },
    {
      "commit": "8e2c78d6dfddaceb602ae356e42af4eff19cc74a",
      "tree": "88311e37873564385470e629d1f0aca80525051b",
      "parents": [
        "3f43b9314da361811bb3cd258b28dff0fe56e7cc"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Sep 16 17:22:59 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Sep 17 09:25:15 2019 +0000"
      },
      "message": "Generate mini-debug-info when running tests.\n\nEnsure we get better backtraces from tests and make them profitable.\n\nTest: manual (check that gcstress test can get backtraces on host)\nChange-Id: Ie6ed399c331786c74c608ccc7f383795131cd46a\n"
    },
    {
      "commit": "a49b04f66e15a8f75fec831a01180625daa2c556",
      "tree": "53cc4cf50ddcb9f01da7b292760662f5437057a2",
      "parents": [
        "70f2314b46bb98f80de38d3217c2bdad3adaba9b"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Sep 16 14:53:15 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Sep 16 15:33:39 2019 +0000"
      },
      "message": "Revert \"ART: Detect target run-test timeout and print a message\"\n\nThis reverts commit 2704d0ac013e46cb237a1a13e607fa644fde4c03.\n\nReason for revert: The CL swallows the exit code, which breaks tests.\n\nBug: 140935398\nChange-Id: Ica4e8461b5465063e8c726285c5fed8e4ee6d93b\n"
    },
    {
      "commit": "38a281806b7c8d5c5a4b8124a4e5409c6e4f7aa7",
      "tree": "1bec94e6f34ae53b66be4c78f3f7cd5574f08faa",
      "parents": [
        "2704d0ac013e46cb237a1a13e607fa644fde4c03"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 13 11:36:11 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 13 11:45:04 2019 -0700"
      },
      "message": "ART: Add exit-code option to signal_dumper\n\nTo work around a corner-case behavioral difference in toybox timeout,\nadd an option to define the exit code on timeout.\n\nUse this for target run-tests.\n\nBug: 140935398\nBug: 141007616\nTest: manual\nChange-Id: I4c5a93007af58861ede66dc376571a0fbefa38fa\n"
    },
    {
      "commit": "2704d0ac013e46cb237a1a13e607fa644fde4c03",
      "tree": "6e40a70de240b8ab64ee97da8804102ef9252949",
      "parents": [
        "5aae3dbb09bffe7a38c994dc6909b2e52048b477"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 13 11:27:04 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 13 11:45:01 2019 -0700"
      },
      "message": "ART: Detect target run-test timeout and print a message\n\nTo make it more obvious that a timeout has happened, detect it\nand print a message to appear in the shell log (not logcat).\n\nBug: 140935398\nTest: manual\nChange-Id: I0c9d939a7822c835f603ff42cb4972a44dce29b0\n"
    },
    {
      "commit": "5aae3dbb09bffe7a38c994dc6909b2e52048b477",
      "tree": "cca224c6f079ac54f041328b3836e478379c680f",
      "parents": [
        "5d775eb9bdaa4496e47dede6915fb3b15bf1df16"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 13 10:24:57 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 13 11:44:10 2019 -0700"
      },
      "message": "ART: Switch to executable test in run-test\n\nCheck that the signal_dumper file exists and is executable.\n\nBug: 140935398\nTest: art/test/testrunner/testrunner.py -t 001-HelloWorld\nChange-Id: Ifb30e5c65109617b6b5fa0ce2e40629a0228b963\n"
    },
    {
      "commit": "5d775eb9bdaa4496e47dede6915fb3b15bf1df16",
      "tree": "db0ec11912b70b2e726b1c1f7a498f1d154f007e",
      "parents": [
        "29bfb0c871cec2aa56c0cf4d037a1f42f3398cd3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 13 09:54:55 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 13 11:44:10 2019 -0700"
      },
      "message": "ART: Fix signal_dumper detection in run-test\n\nFix the testing APEX name to com.android.art.\n\nIf asked to run under chroot, only look into paths under the chroot. That\nmeans we can no longer use PATH lookup as fallback. Hardcode /system/bin\ninstead.\n\nBug: 140935398\nTest: chroot test\nChange-Id: Ief33714c0662ff4b254f8bcc556b8be558d92e2c\n"
    },
    {
      "commit": "29bfb0c871cec2aa56c0cf4d037a1f42f3398cd3",
      "tree": "17e0e0286b9437e8c855b61015ad27875d4a6912",
      "parents": [
        "6ad30a246b12317fa4f9469023017e4b9403d67d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Sep 12 15:17:43 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 13 17:58:58 2019 +0000"
      },
      "message": "ART: Add env variable to increase run-test timeouts\n\nTo generally increase timeouts, allow an environmental factor. This\nis meant for slow hosts or devices.\n\nWe may want to look into trying to auto-detect the necessity of this.\n\nBug: 140935398\nTest: ART_TIME_OUT_MULTIPLIER\u003d10 art/test/run-test --host --dev 001-HelloWorld\nChange-Id: I3f751b5e824da52e6441691b944eb99c1c3692b3\n"
    },
    {
      "commit": "6ad30a246b12317fa4f9469023017e4b9403d67d",
      "tree": "1a12cbb0fbc2ccf880cb78f4f591ab93f0204201",
      "parents": [
        "87beba30796dddb12a1dac7cb3c8f72d9b20e9f2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Sep 12 15:12:36 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 13 17:58:58 2019 +0000"
      },
      "message": "ART: Make run-test timeout dependent on sanitization\n\nOnly sanitization shows really long runs. Lower the default timeout\nto 10 minutes and attempt to detect sanitized builds.\n\nBug: 140935398\nTest: art/test/testrunner/testrunner.py -b --host\nTest: SANITIZE_HOST\u003daddress art/test/testrunner/testrunner.py -b --host\nChange-Id: I6c40ba310e8c177c1621ac75264a838efecfac83\n"
    },
    {
      "commit": "87beba30796dddb12a1dac7cb3c8f72d9b20e9f2",
      "tree": "19bfa943a6feeb7a661411a07eea47db4fe91206",
      "parents": [
        "9e3954db9a21c852c411db4118bf910de6f4dbcb"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Aug 09 14:20:32 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Sep 13 17:52:37 2019 +0000"
      },
      "message": "Fix some typos in ART.\n\nTest: n/a\nChange-Id: I25301ab0d749f253f54fd83787343f239088d510\n"
    },
    {
      "commit": "60931d9f0a6b63fec1bf44fa662032e930438f42",
      "tree": "b8b0f7046f0a2e99a13f6babdfda05b962f9c38a",
      "parents": [
        "f0c94806a921e17c701797cc017b794c58033eb5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Sep 12 10:12:11 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 12 21:41:18 2019 +0000"
      },
      "message": "ART: Simplify and tighten run-test timeouts\n\nRemove the old read-barrier special casing. Read-barrier is the\ndefault now and performs well enough.\n\nUse 25min as run-test default. This is derived from ASAN continuous\ntesting. All other continuous test cases seem to stay below 10min.\nConsider a function of input values to tighten this further, e.g.,\nhost vs target.\n\nReduce the timeout in testrunner.py. Document the value and its\nconnection to run-test.\n\nBug: 140935398\nTest: art/test/testrunner/testrunner.py -b --host\nChange-Id: I4818f4897a675c3e14af0fb7d7257b9b52e7671c\n"
    },
    {
      "commit": "52b4dc9048ecddf551ba2d8db43c3884e80dca93",
      "tree": "4e61f2460c11c34588bdab6dd81d759b7b576c6b",
      "parents": [
        "5a446bd6c72d25ed2435fb2279bd8617ad003d2e"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Sep 12 11:56:52 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Sep 12 11:58:07 2019 +0100"
      },
      "message": "Fix comments in `test/etc/run-test-jar`.\n\nTest: art/test/run-test 001-HelloWorld\nBug: 138868214\nChange-Id: I99df4d843a3f20356bf6a1cf9b5abd1d72b96f2d\n"
    },
    {
      "commit": "2ea4ec09b7b672bdad802c9e78e34273b86734ef",
      "tree": "c822f33676658975cc2cc25cb29bb01a742f2f83",
      "parents": [
        "816a5528f292afffe8375a403c9fbf8840a7d51a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 11 11:36:01 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 11 13:43:48 2019 -0700"
      },
      "message": "ART: Add signal_dumper as target run-test dependency\n\nBug: 138868214\nTest: art/test/testrunner/testrunner.py -b -t 001-HelloWorld\nChange-Id: Id8763ded284783cf7a32bca8f35ea7fe75742dbb\n"
    },
    {
      "commit": "a61380851f3e9a66eed41e8620ff673f8bdec27a",
      "tree": "562eaee73069909e773a15b5191ed49638179c90",
      "parents": [
        "975d70b52ffc8f8e022d8b76f64395e32da4c1c0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 11 11:08:23 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 11 13:43:48 2019 -0700"
      },
      "message": "ART: Check for signal_dumper on-device for run-test\n\nCheck for the testing APEX, and fall back to PATH.\n\nBug: 138868214\nTest: art/test/run-test --dev 001-HelloWorld\nTest: manual (add signal_dumper)\nChange-Id: Iab74fd94bd22520aa1de89426a5cba60cad21ee9\n"
    },
    {
      "commit": "975d70b52ffc8f8e022d8b76f64395e32da4c1c0",
      "tree": "830016286f0b517fa0ff90b9368d1ceafc75f326",
      "parents": [
        "ba23956b9feeaba0faa5bf3479fc148f156c78aa"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 11 11:00:18 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 11 13:43:48 2019 -0700"
      },
      "message": "ART: Add timeout to run-test invocation on-device\n\nIf TIME_OUT is set, add timeout to the command line of the test.\n\nAdding the signal_dumper is a follow-up.\n\nBug: 138868214\nTest: art/test/run-test --dev 001-HelloWorld\nChange-Id: Ia9a0d924c61d8dc23ba9beb2c35d0552d83e80c1\n"
    },
    {
      "commit": "7f8678ec4d2abec1f540fb441be60604bec86b6e",
      "tree": "e36b4d32dfc47fcebadf0ee5c7e4d1e3d51412a6",
      "parents": [
        "84e5bb990d48263849bab132d80d753495bc7204"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 30 16:22:28 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 06 18:40:59 2019 +0000"
      },
      "message": "Revert^2 \"Prevent overflow for AOT hotness counters\"\n\nFixed bug where sbc usage was incorrect. sbc does -1 + carry.\n\nTest: test/run-test --always-clean --runtime-option -Xcheck:jni --64 674-hotness-compiled\nTest: test/run-test --always-clean --runtime-option -Xcheck:jni 674-hotness-compiled\nBug: 139883463\n\nThis reverts commit 7ab07777b08db86dda2891f3e7ae15df8f25a599.\n\nChange-Id: I6f8ac0320592a94314386b04cdb0c7e0e6da6994\n"
    },
    {
      "commit": "84e5bb990d48263849bab132d80d753495bc7204",
      "tree": "4c14da40ad65b10759c81892849e69119fbdaf53",
      "parents": [
        "acb12378f91cc96183b999721d2875e504bb8762"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Sep 05 19:56:46 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 06 15:31:38 2019 +0000"
      },
      "message": "Rename some build variables and targets for the ART APEX.\n\nTest: m\nBug: 135753770\nChange-Id: I66273981013710500e5e57c0a3c40a5fdc61e3d0\n"
    },
    {
      "commit": "8ea9b3711a5cc6c2d9ec4fe1e57e8c36fc62bced",
      "tree": "77ec6a1b7c2864f8e05f4a35d92abf0689b6d837",
      "parents": [
        "9d4fb714d84031f136bd1d5f0b70d53e710e5abf"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Sep 04 15:52:41 2019 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Sep 04 23:02:16 2019 +0000"
      },
      "message": "Use j.l.ThreadGroup class directly for GetThreadGroupInfo\n\nWe were using the class of the input to GetThreadGroupInfo in some\nsituations. This could lead to us reading the wrong field or not\nfinding expected fields. Change to always directly use the\nj.l.ThreadGroup class from WellKnownClasses. Also use some handles in\nthis function.\n\nTest: ./test.py --host\nBug: 140521090\nChange-Id: I3560662718311ccc0fa9b906f178407350ce9960\n"
    },
    {
      "commit": "3e29e19c9ae2c1785cfff17ad67d4bde8abda2a5",
      "tree": "59630052122c3fcc4d2f9e4a88a8220b09595e49",
      "parents": [
        "da144b68f4b66ccb0c8d6e677372087be0d83889"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Sep 03 14:24:04 2019 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 04 16:49:58 2019 +0000"
      },
      "message": "Switch testrunner.py to report times with monotonic clock\n\nBug: b/138868214\nTest: art/test/testrunner/testrunner.py --target --32 --jit --target \\\n   --verbose --ndebug -t 159 --timeout 10\nTest: art/test/testrunner/testrunner.py --target --32 --jit --target \\\n   --verbose --ndebug -t 159 --timeout 1\n\nChange-Id: I3f59154a08fd84699adfc6d774c4ec3fe2729b05\n"
    },
    {
      "commit": "da144b68f4b66ccb0c8d6e677372087be0d83889",
      "tree": "c3a40fc83dd3d9aa51795521b8cbd34405c4d630",
      "parents": [
        "358b49d2124dc8e45f492f0728028d37cfbfb979"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Sep 03 11:57:53 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 03 13:14:47 2019 +0000"
      },
      "message": "Address syntax warnings in testrunner.py\n\nBug: N/A\nTest: manual\nChange-Id: I293d33cad3d367511cbe04a27c6de65fe6cd9ec3\n"
    },
    {
      "commit": "d6be5da75294d29060440a10e77f5d3461ed8d74",
      "tree": "2a92b0c53c3b40ef36cb8a81c4326b323d63b80c",
      "parents": [
        "ad909af6c4be163bf2d5f4ca1e0487cc619a5041"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Jul 16 17:14:46 2019 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Sep 02 10:28:27 2019 +0000"
      },
      "message": "Update references to the ART APEX for tests.\n\nTest: art/tools/buildbot-build.sh --host \u0026\u0026 art/test.py --host --64 --optimizing\nTest: art/tools/run-gtests.sh in chroot\nTest: art/test/testrunner/testrunner.py --target --64 in chroot\nTest: art/tools/run-libcore-tests.sh --mode\u003ddevice --variant\u003dX64 in chroot\nTest: art/tools/run-jdwp-tests.sh --mode\u003ddevice --variant\u003dX64 in chroot\nBug: 135753770\nChange-Id: I876c5a2931970d6a75c1812e0f87bc65ab7bde0f\nMerged-In: I876c5a2931970d6a75c1812e0f87bc65ab7bde0f\n"
    },
    {
      "commit": "a86a5d162e6b59a32e8ea7991e6c8a157aca5a0a",
      "tree": "438596ce2b406fcae4cbb7427f906c26ae5814c1",
      "parents": [
        "bf8a5d8f4b0c181f38bf0f5fa270cd65140d9ff2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Aug 30 11:03:05 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 30 21:13:33 2019 +0000"
      },
      "message": "Prevent attempts to run impossible configurations.\n\nSome configurations, such as --regalloc_gc --prebuild are\nfundamentally incompatible and will always fail. Add support for\nspecifying a list of these impossible configurations and automatically\nskipping them.\n\nTest: ./test/testrunner/testrunner.py --host -t 001-HelloWorld --all-compiler --all-prebuild\nChange-Id: I54ddac3e5c762cd9209e788fe2ab7d6b863b286c\n"
    },
    {
      "commit": "bf8a5d8f4b0c181f38bf0f5fa270cd65140d9ff2",
      "tree": "98ef51eae1c870b83ca683a14583f2526adc18e9",
      "parents": [
        "ab5f4c17a86b8c808dba862db566f0ffa1146367"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Aug 30 10:17:22 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 30 21:13:33 2019 +0000"
      },
      "message": "Add --all-\u003ctype\u003e options to testrunner\n\nIt is sometimes useful to test all combinations of a subset of\noptions. This adds the ability to do so by using a \u0027--all-\u003ctype\u003e\u0027\noption that acts like passing in every flag of the given type. For\nexample passing `--all-gc` acts like passing `--gcstress --cms\n--gcverify`.\n\nTest: ./test/testrunner/testrunner.py --host --all-gc --all-compiler --host -t 001-HelloWorld\nChange-Id: I13662194b3ba9e2cd55d9ed2e2974d5f306d9b5c\n"
    },
    {
      "commit": "ab5f4c17a86b8c808dba862db566f0ffa1146367",
      "tree": "8f43f6a0581f8284009d9a235473667a7c94145e",
      "parents": [
        "c94b44dac8bcee13ae7eedd6fe541ddf6dfc424b"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Aug 16 13:59:11 2019 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Aug 30 15:38:34 2019 +0000"
      },
      "message": "Allow space characters in SimpleName for DEX format 040.\n\nWe allow both ASCII and Unicode spaces (everything in the Unicode category\n\u0027Zs\u0027). This includes characters:\n\n  0x20, 0xa0, 0x1680, 0x2000..0x200a, 0x202f, 0x205f, 0x3000\n\nRe-enabled DX building in ART tests, as we temporarily need DX for testcase\ngeneration (until D8 is updated to support spaces in SimpleName).\n\nBug: 137432016\nTest: 2029-spaces-in-SimpleName\nTest: art/test.py --host -r -t 2029-spaces-in-SimpleName\nChange-Id: I02f0207a3a291caeb6c3070cc48ea8c55c792199\n"
    },
    {
      "commit": "7ab07777b08db86dda2891f3e7ae15df8f25a599",
      "tree": "1b0b2fa585e49e4a7913c09d67794763197c6490",
      "parents": [
        "154445799432cb53d23cd011485132be07c39b5a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 30 08:26:59 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 30 08:57:20 2019 +0000"
      },
      "message": "Revert \"Prevent overflow for AOT hotness counters\"\n\nThis reverts commit 79e6eb8b79be6249358b7801bc511290dacf10d0.\n\nBug: 139883463\n\nReason for revert: 674-hotness-compiled fails on target.\n\nChange-Id: I02fce74d70a4ae69dd5b4ae3924aa11728d9e16f\n"
    },
    {
      "commit": "154445799432cb53d23cd011485132be07c39b5a",
      "tree": "80f75f575956685031c4f77249606d501867126f",
      "parents": [
        "775d38d8492ba8c60dba968064d6e0ac44e0b372"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 30 09:44:59 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 30 08:57:20 2019 +0000"
      },
      "message": "Use \"items\" instead of \"iteritems\".\n\nThe method got removed in python3.\n\nTest: 701-easy-div-rem\nBug: 140161314\nChange-Id: I840bb96a9d48ba1acf87af53d8d10f0abf2eac64\n"
    },
    {
      "commit": "775d38d8492ba8c60dba968064d6e0ac44e0b372",
      "tree": "dba772e1f12be33fe128cfaeda375654b74b3501",
      "parents": [
        "86459c058c387d76f96d6644e8ec9fb1aa7f165d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 30 08:28:01 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 30 08:57:20 2019 +0000"
      },
      "message": "Revert \"Fix profile saver hotness for AOT code\"\n\nThis reverts commit 4cb48c1bd359bee98a1a4c0cff475d76a3b5483a.\n\nBug: 139883463\n\nReason for revert: Test fails on target.\n\nChange-Id: I1b3a7aec961b212d92e457d52da6ab921044f491\n"
    },
    {
      "commit": "86459c058c387d76f96d6644e8ec9fb1aa7f165d",
      "tree": "410d3aabee49e72bbd78e1a1e795b50180577bc3",
      "parents": [
        "79e6eb8b79be6249358b7801bc511290dacf10d0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 29 14:01:18 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 29 23:54:46 2019 +0000"
      },
      "message": "ART: Change Python code in run-test\n\nWe rely on Python\u0027s os.path.realpath as the \"nuclear option\" to\nresolve the temp directory. However, between Python 2 and Python 3,\nit is better not to use print.\n\nBug: 140161314\nTest: art/test/testrunner/testrunner.py -b --host -t 001-HelloWorld\nChange-Id: I38ad20d63b94e5bf816cb019f9f95cb2934e33dc\n"
    },
    {
      "commit": "79e6eb8b79be6249358b7801bc511290dacf10d0",
      "tree": "1a04d214dd6223423abd442d8d9b0b61a3db2336",
      "parents": [
        "bae88c0759d48acf29b58d960ad2665e3462dfda"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Aug 26 12:33:46 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Aug 29 16:05:52 2019 +0000"
      },
      "message": "Prevent overflow for AOT hotness counters\n\nPrevious, the addition did not have a check for overflow and might wrap\naround since the counter is only 16 bits.\n\nModified the test to exercise this.\n\nThe slowdown from fixing the overflow is 2% average on golem arm32/64.\nOverall this brings the slowdown from the counter to ~15% from ~13%.\n\nThe benchmarks that regress the most are loopy ones that I would\nconsider non-representative. Code size increases by 0.6%.\n\nBug: 139883463\nTest: test/run-test --host --64 --prebuild 674-hotness-compiled\nTest: test/run-test --host --prebuild 674-hotness-compiled\nTest: test/run-test --64 --prebuild 674-hotness-compiled\nTest: test/run-test ---prebuild 674-hotness-compiled\n\nChange-Id: Icf0ab2aedbc40ab10c9d952ce0f9c7b5e5feaf15\n"
    },
    {
      "commit": "4e8e0a5a2a6b0404a5ecd118e647adcb50c464af",
      "tree": "c9d2578609ba1024610764c335239aa9ae62f591",
      "parents": [
        "0414e244c82ed5140b5a7626f935b548e8588195"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Aug 29 16:28:26 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Aug 29 16:28:26 2019 +0100"
      },
      "message": "Fix vpython embedded specification\u0027s bookends in testrunner.py.\n\nTest: Rely on the ART Buildbot\nBug: 140161314\nChange-Id: I1b7279aebd83ec8d7c900d6b321e90d1c4533fe5\n"
    },
    {
      "commit": "8feeef6bf1425ca3b5f012b318ae0439984f24fc",
      "tree": "6e8ed3e0180a2575568132e927a9856a068b016d",
      "parents": [
        "4cb48c1bd359bee98a1a4c0cff475d76a3b5483a"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Aug 29 10:11:21 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Aug 29 11:49:33 2019 +0000"
      },
      "message": "Add required vpython version tag to testrunner.py\n\nBug: 140161314\nTest: art/test/testrunner/testrunner.py -b --host -t 001-Main\nChange-Id: I0bbbebb502437c5f7254f1f8401c3a0c7052d961\n"
    },
    {
      "commit": "4cb48c1bd359bee98a1a4c0cff475d76a3b5483a",
      "tree": "f017f7d687f94c4bd2f895a434a46185c03f0063",
      "parents": [
        "49484076e86b75b3449e18cc6827bd0a94ef1300"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 27 17:08:11 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Aug 29 01:37:05 2019 +0000"
      },
      "message": "Fix profile saver hotness for AOT code\n\nIf the counter is larger than the warm threshold, mark the method as\nhot. This fixes a bug for profiling arleady compiled methods where\nthey would not be marked as hot no matter what the counter was.\n\nAlso removed unused functions, and reverted HasSeenMethod to verify\nthat the method is hot.\n\nBug: 139883463\nTest: test-art-host\n\nChange-Id: I243e528e9f06da7223eed9b91ad613d4f1ad9524\n"
    },
    {
      "commit": "49484076e86b75b3449e18cc6827bd0a94ef1300",
      "tree": "011c5cb0ee53a8037c2baf79529a8ed10f9632d3",
      "parents": [
        "e09b87eb8d8c063ddaee53a70b4bc8dbf61ff66c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 28 11:03:37 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 28 11:34:21 2019 -0700"
      },
      "message": "ART: Add testrunner diagnostics for b/140161314\n\nTry to give interpreter info on import failures.\n\nBug: 140161314\nTest: art/test/testrunner/testrunner.py -b --host -t 001-Main\nTest: manual (fake exception)\nChange-Id: I9d8fd9b0dd115b2625cbf52eb1c96be70f7b4d09\n"
    },
    {
      "commit": "6d0e3de6d7c64ad5af2665974475ef747cf7b313",
      "tree": "293fafc287a6eabb8251a0fb56fc64c936f9bbdb",
      "parents": [
        "85059deed7dcf86cbfe5f7e84003d1c14e3a0efe"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Aug 23 16:12:58 2019 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Tue Aug 27 09:17:41 2019 +0000"
      },
      "message": "Typo fix in test/README.md.\n\nBuild target name should be \u0027test-art-host-gtest\u0027 instead of\n\u0027test-art-host-gtest\u0027.\n\nTest: ran `m test-art-host-gtest` and ensured it does the right thing.\nChange-Id: I4f230de748750d4406b0aa93cc803676b408760c\n"
    },
    {
      "commit": "1ec82e562a31fbd7383555b610743d85b7b4a7d4",
      "tree": "c3330952f350174d81b6afee476183d263ecd42d",
      "parents": [
        "52699518fa40739d0e69bc8e364b7a4569872845"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 02 17:41:04 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 26 11:01:33 2019 -0700"
      },
      "message": "ART: Properly kill timed-out test\n\nThe python documentation states that a subprocess should be killed\nand waited on after timeout.\n\nTest: m test-art-host\nTest: manual\nChange-Id: Icf6233e1f8999070d2554b115d35fb1c304b1303\n"
    },
    {
      "commit": "52699518fa40739d0e69bc8e364b7a4569872845",
      "tree": "3944cfed2dd7d2242ba67d28c22ce0c538f0f990",
      "parents": [
        "9ac8e4327bd732e4b3b9b8dc6a29560013338d21"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 02 17:27:47 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 26 11:01:14 2019 -0700"
      },
      "message": "ART: Take actual time on timeout in testrunner\n\nBug: 138868214\nTest: m test-art-host\nTest: manual\nChange-Id: I73bd4fd72550c86d24a48bf4a2290f25795171f1\n"
    },
    {
      "commit": "05b0086ea31f281d61fdecd99921328b2dbf9f21",
      "tree": "ccca77ed59f7abc177f6e15c6eaa5672d360151e",
      "parents": [
        "6e163a83257c40ec76ae808bbea56b63d48b9bd8"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Aug 14 17:47:23 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 16 21:46:04 2019 +0000"
      },
      "message": "Add support for running specific tests to run-gtests.sh.\n\nTest: art/tools/run-gtests.sh\nTest: art/tools/run-gtests.sh -h\nTest: art/tools/run-gtests.sh -j4\nTest: art/tools/run-gtests.sh /apex/com.android.art/bin/art/arm/instruction_set_features_test\nTest: art/tools/run-gtests.sh -j4 /apex/com.android.art/bin/art/arm/instruction_set_features_test\nChange-Id: Ie29819d27e2657e7c32c2b1f9ce830cbc136f2ed\n"
    },
    {
      "commit": "9ce340f829f836560278ecd078fbefcf19c9d629",
      "tree": "3327d6d7dd3c0ff86861cdab67791ee7c8dbe3b8",
      "parents": [
        "d4fc62c66328c0944348a314e3770b4f2b8006ce"
      ],
      "author": {
        "name": "xueliang.zhong",
        "email": "xueliang.zhong@linaro.org",
        "time": "Tue Jan 22 17:46:09 2019 +0000"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Aug 15 20:35:11 2019 +0000"
      },
      "message": "ARM64: toFloat() intrinsics with ARMv8 FP16.\n\nThis CL intrinsifies toFloat() method with ARMv8.2 FP16 instructions.\n\nThis CL depends on the android framework and libcore changes:\nmoving FP16 implementations into libcore.\n\nTested with local micro benchmark on Pixel 3, compared to original\nandroid.util.Half.toFloat() Java implementation, this intrinsic is\n50% faster.\n\nIn real-life case, the FP16 toFloat() intrinsic can help\naccelerate ColorLong ARGB decoding in Android framework.\n\nThis intrinsic implementation archieves bit-level compatibility with the\noriginal Java implementation android.util.Half.toFloat().\n\nTest: 580-fp16\nTest: art/test/testrunner/run_build_test_target.py -j80 art-test-javac\nTest: test-art-host, test-art-target\n\nChange-Id: I059c69747067b84f2c532465e32a1dcd3c25269f\n"
    },
    {
      "commit": "be53085e183be3edafdf03cac58624c87383e7e9",
      "tree": "7406d4ff01c6d01e82a9a5119e57968bd33fec1a",
      "parents": [
        "5a75277056c8d528b0f68b7dbbb11609d0c91528"
      ],
      "author": {
        "name": "Georgia Kouveli",
        "email": "georgia.kouveli@linaro.org",
        "time": "Thu Jan 17 10:46:41 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 14 08:20:56 2019 +0000"
      },
      "message": "ARM64: Improve BoundsCheck for constant inputs.\n\nThis is a port of 2dd053d to ARM64.\n\nOriginal author: Georgia Kouveli \u003cgeorgia.kouveli@linaro.org\u003e\nCommitted by: David Horstmann \u003cdavid.horstmann@linaro.org\u003e\n\nTest: test-art-target, test-art-host\nTest: 1960-checker-bounds-codegen\nTest: 449-checker-bce\n\nChange-Id: I6564e4d147a0f40665b37c604487159a9d9aeae5\n"
    },
    {
      "commit": "72d7e94d70923c5ff4cbe947117801583eae4672",
      "tree": "cde1932ed801dc7f388b56282d3e2bca000e428a",
      "parents": [
        "f1bb75abb38609d72648e03eefac7320b5e804b4"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 23 13:10:20 2019 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Aug 13 17:54:27 2019 +0000"
      },
      "message": "Add obsolete object event\n\nAdd an extension event to notify agents that an object is becoming\nobsolete. This is meant to be used by agents performing allocation\ntracking using the VMObjectAlloc event to let them know that an object\nreplacement is occurring. This event is only triggered by calls to\nJVMTI functions that create obsolete objects. Normal GC actions\n(including a moving compaction) will not cause this event to trigger.\n\nTest: ./test.py --host\nBug: 134162467\n\nChange-Id: If48b880814a751ba6c24c18d0ad116db4f8fdf64\n"
    },
    {
      "commit": "f1bb75abb38609d72648e03eefac7320b5e804b4",
      "tree": "bca31cca9f36ba117d7f7825a268b5fd76af638c",
      "parents": [
        "a67daeba97fb1a469cb5764a7ced0d03fc206a38"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Aug 12 15:03:55 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Aug 13 12:30:43 2019 +0000"
      },
      "message": "Add some more documentation on ART run-tests and gtests.\n\nExtend `test/README.md` with some general information based on\nfrequently asked questions about ART Testing.\n\nTest: Render `test/README.md` as HTML and check the output manually\nChange-Id: I867ba2dfa7c2fb68cafc58dbd03d90b1fc5008a7\n"
    },
    {
      "commit": "bac080b0beec961671a7753c88780d8bf700fa40",
      "tree": "101965980dec12c1355077dd9699822211b265e4",
      "parents": [
        "44b977d9e2974cdbd8ef11f35919166dada92bda"
      ],
      "author": {
        "name": "Georgia Kouveli",
        "email": "georgia.kouveli@linaro.org",
        "time": "Thu Jan 31 16:12:16 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 13 00:43:36 2019 +0000"
      },
      "message": "Loop vectorizer should not remove instructions that can throw\n\nInstructions that are not used outside of the inner loop were\ninadvertently being removed. Make sure this does not happen.\n\nOriginal author: Georgia Kouveli \u003cgeorgia.kouveli@linaro.org\u003e\nCommitted by: David Horstmann \u003cdavid.horstmann@linaro.org\u003e\n\nTest: 1961-checker-loop-vectorizer\nTest: test-art-target\n\nChange-Id: I3af9e861e75669457e5925dd1d655db784a55287\n"
    },
    {
      "commit": "759845ff57929e26bfe922b30c814cb58e886bc1",
      "tree": "91ed3883cbce398f08308e2cff119dea04eb21cb",
      "parents": [
        "77251f97137f6a9fd5e88b18b653d022996cd369"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Tue Aug 06 16:04:36 2019 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Mon Aug 12 15:36:42 2019 +0000"
      },
      "message": "Separate ICU4J from core-libart\n\n- It adds the new core-icu4j into boot classpath\n\nBug: 138994281\nTest: CtsLibcoreTestCases\nChange-Id: I6e8d971f304fe9f4836fcd73818720ed83d38154\n"
    },
    {
      "commit": "e47933ab3091a002806a3718cc626d2f8d84b620",
      "tree": "831bc2de70109894250e7b51a6d962d235224344",
      "parents": [
        "411a6de63982d1e6ec16e11141725ff95cbdfab9"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Aug 09 14:06:02 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sun Aug 11 15:11:03 2019 +0000"
      },
      "message": "Replace more occurrences of `make` with `m` in ART.\n\nCalling `make` is no longer supported since\nhttps://android-review.googlesource.com/c/platform/build/+/1092954/.\n\nTest: n/a\nChange-Id: Ie2a0bcf7ea45b5ce82b471de31abb848a102c0ad\n"
    },
    {
      "commit": "fa595885339140c3507f26d93cdc6b99081e23c5",
      "tree": "19d6240afee048aa37a778f09996c6ecad5266a6",
      "parents": [
        "918e9af6a7259e7178ec10257f568a60e832a962"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Aug 06 17:40:09 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 09 07:36:39 2019 +0000"
      },
      "message": "Fix setting/getting the native priority of a thread.\n\nBug: 138415922\nTest: 720-thread-priority\nChange-Id: I6e1f34fce3838b7904281be00f315e5b7ade0c78\n"
    },
    {
      "commit": "6461124331de7707f3b109cec38337d851be997e",
      "tree": "551fe08dc46d71f903244080f90df751d648adb5",
      "parents": [
        "3cb59a4e22bff5a06f5bcd1deb86e2580dd36de3"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Fri Jul 05 16:32:41 2019 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Thu Aug 08 11:06:51 2019 +0000"
      },
      "message": "Remove icu .dat file from Runtime module\n\nBug: 137009149\nBug: 130295968\nTest: device boots\nTest: m out/target/common/obj/JAVA_LIBRARIES/ahat-test-dump_intermediates/test-dump.hprof\nTest: art/build/apex/runtests.sh fails due to bug 138103882\nTest: art/tools/buildbot-build.sh\nTest: m test-art-host-gtest\nChange-Id: I0501fd6dd02dac3cf9780f5f1c0103e4b0475e1f\n"
    },
    {
      "commit": "7cfc8f5b2a7c1af68de5f2e79652cf55954794dc",
      "tree": "bef388a5083ed2b9cf497cd6689489828f2ae13e",
      "parents": [
        "70b93ffca22d665db661a7f15f2f1b59dc60839a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 07 10:41:09 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 07 15:49:47 2019 +0000"
      },
      "message": "Don\u0027t compile OSR methods that have phi equivalents at loop entry.\n\nWe currently don\u0027t handle this in the stack map, where we only encode\none stack slot for a dex register.\n\nBug: 136698025\nTest: 721-osr\nChange-Id: Ib395ed1165387ad5446a463c307cc0a45e365885\n"
    },
    {
      "commit": "635967b5d16e25630276c23aa47daf52ec493ea1",
      "tree": "4f9cba20e58ae2997b4d693d4e1e76ccd684637f",
      "parents": [
        "8d5a215a7e879d8aa9c7d9d2791ed107ecc41f59"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 07 10:15:39 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 07 14:11:21 2019 +0000"
      },
      "message": "Remove \tmessage ART creates for \"throw null\".\n\nThe new version of R8 transforms:\n  throw new NullPointerException()\n\nInto:\n  throw null\n\nART used to create a message for the pattern \"throw null\", which is\nsomething that now breaks ObjectsTest.requireNonNull.\n\nTest: libcore.java.util.ObjectsTest#test_requireNonNull_T\nChange-Id: I142ddc74a9c0cfc76d2479eb92078b7a7d077b27\n"
    },
    {
      "commit": "8d5a215a7e879d8aa9c7d9d2791ed107ecc41f59",
      "tree": "65c0f2ca31665dee941681339aa51759eda92f08",
      "parents": [
        "118ce36aa0568842283fbe79772fd9de73ec9cd7"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jul 02 19:40:28 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 07 13:29:48 2019 +0000"
      },
      "message": "Build and install the Testing Runtime APEX in ART device testing.\n\nReplace the Debug Runtime APEX with the Testing Runtime APEX for ART\ndevice testing.\n\nThis change does not change the behavior of ART device testing per se,\nas test rules have not been updated (yet) to make use of the\nadditional files (ART gtests) included only in the Testing Runtime\nAPEX.\n\nTest: ART (chroot-based) device testing\nBug: 129534335\nChange-Id: I1b9dfcb9fe483584b4065908c1b2e24d19703b52\n"
    },
    {
      "commit": "38a062eb7390f07ee0a318517f71d9b56491a5f7",
      "tree": "67204f1fbc785b888f9d5718e31cf22de6b2d727",
      "parents": [
        "e80ecf31e0d58a90d6b2a1d65ec090c03abc86dc"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Aug 02 13:59:27 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 05 19:27:58 2019 +0000"
      },
      "message": "Weaken 2 DCHECK()s in reflection.\n\nReflection can be used on classes that are being initialized\nrather than just classes that are already initialized as we\nwere previously asserting.\n\nTest: Additional tests in 100-reflect2.\nChange-Id: I072c28533e9248856b49fddb4bc46109448ee8a9\n"
    },
    {
      "commit": "d4d6fb50b5e1552c114529854e29c3af5c4eb9c1",
      "tree": "6734ee945ffceab400b2f763134d5014d22a73d3",
      "parents": [
        "f0b1de829bfa96d7d52a57bf5fb2d84b7657e141"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Aug 05 12:28:39 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Aug 05 12:42:44 2019 +0100"
      },
      "message": "Set relative path to ART tests back to `art/$ISA` instead of `test/$ISA`.\n\nThis is to address run-test failures. Some of the test logic still\nrelies on finding test libraries under `/data/nativetest{,64}/art/$ISA`.\n\nThis change is a partial revert of 61f071630083775fe64d177455a056daa7071eca.\n\nTest: Run ART run-tests on device\nTest: art/build/apex/runtests.sh\nBug: 129534335\nChange-Id: I1ce241ff994bfbd789affdcccf360d6f8c62ce61\n"
    },
    {
      "commit": "f0b1de829bfa96d7d52a57bf5fb2d84b7657e141",
      "tree": "9d8d46ba8dd33fce50e5856e87ba3fc4f66b1ee6",
      "parents": [
        "6a0b657a1875b4fbb020b806169e2f73fcb2578b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jul 02 19:25:58 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Aug 02 14:51:00 2019 +0000"
      },
      "message": "Introduce Make variables for the various Runtime APEX names.\n\nTest: make systemimage (with user lunch target)\nTest: make systemimage (with userdebug/eng lunch target)\nTest: art/build/apex/runtests.sh\nBug: 129534335\nChange-Id: I69a06acc777acba17deb5e32061d1099ae82beaf\n"
    },
    {
      "commit": "6a0b657a1875b4fbb020b806169e2f73fcb2578b",
      "tree": "955bb0e3413e18f2b13b7fee7fa3e6e48a214597",
      "parents": [
        "61f071630083775fe64d177455a056daa7071eca"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Jul 26 20:38:37 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Aug 02 13:31:43 2019 +0000"
      },
      "message": "ART: ARM64: Optimize frame size for SIMD graphs.\n\nFor SIMD graphs allocate 64 bit instead of 128 bit on stack for\neach FP register to be preserved by the callee in the frame entry\nas ABI suggests (currently 64-bit registers are preserved but\nmore space on stack is allocated).\n\nNote: slow paths still require spilling full 128-bit Q-Registers\nfor SIMD graphs due to register allocator restrictions.\n\nTest: test-art-target.\nChange-Id: Ie0b12e4b769158445f3d0f4562c70d4fb0ea7744\n"
    },
    {
      "commit": "61f071630083775fe64d177455a056daa7071eca",
      "tree": "4d8e610f3939ca23f588bcdffe66aa859ae1a3c5",
      "parents": [
        "81448a21dd3f2c4608496e6dc7a1f093dcccf1e0"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jun 26 12:44:04 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Aug 02 10:36:58 2019 +0000"
      },
      "message": "Introduce a Testing Runtime APEX (test) module including ART gtests.\n\nDefine a new flavor of the Runtime APEX, having the same contents\nas the Debug Runtime APEX plus ART gtests that have dependencies\non Runtime APEX internal libraries.\n\nPreviously, when these ART gtests were built and installed in\nthe data partition, they would depend on \"legacy\" ART internal\nlibraries being installed in the system partition (not the ones\nfrom the Runtime APEX). As we plan to remove these ART libraries\nfrom the system partition, we needed a way to be able to build\nand install device ART gtests without triggering the installation\nof these legacy ART internal libraries.\n\nThis Testing Runtime APEX is meant to be used for ART testing only,\nand should never be included in any product.\n\nThis change adds build rules for the Testing Runtime APEX (and\ncorresponding unit tests), but does not replace the Debug Runtime APEX\nfor device testing yet (this will be implemented in a follow-up\nchange).\n\nAlso rename `art_apex_test` module type as `art_apex_test_host`.\n\nTest: m com.android.runtime.testing\nTest: art/build/apex/runtests.sh\nTest: art/build/apex/art_apex_test.py\nBug: 129534335\nChange-Id: I8d70bdcf7c6253dd5bc8786a702f130d444c3cb6\n"
    },
    {
      "commit": "81448a21dd3f2c4608496e6dc7a1f093dcccf1e0",
      "tree": "0b2bd5a6b9254a30d349fa2e72699a647219e2dc",
      "parents": [
        "5d93b8848c02c10001719be50c910cf6b156d233"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Aug 01 14:29:53 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Aug 02 09:35:12 2019 +0000"
      },
      "message": "Fix 638-checker-inline-cache-intrinsic\n\nFixes regression from CL/1092314\n\nTest: test.py -b -r -t 638 --host --ndebug\nChange-Id: I26397724a6cb7ee63d0e1536449f614ed36c14af\n"
    },
    {
      "commit": "5d93b8848c02c10001719be50c910cf6b156d233",
      "tree": "706193c729b2c317fd97bbd083fb9c70879fa04b",
      "parents": [
        "7c502740ba2b3b8560b8d02af276b010392de5bb"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Aug 01 15:00:01 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Aug 02 08:22:33 2019 +0000"
      },
      "message": "ART: Improve the timings for 597-deopt-busy-loop.\n\nTweak the timings to have the deoptimization to happen\nin the SIMD loop SuspendCheck as intended (after the array size\nwas changed).\n\nTest: 597-deopt-busy-loop.\nChange-Id: Idc519b3e27d2398ab393b66ba555c089629388b1\n"
    },
    {
      "commit": "c14ec8facf0ea51e7531fa0acbed3410468b0356",
      "tree": "a70bc3cffcaf763e4951c96918bc6f8b25a472b3",
      "parents": [
        "147a911636402f2658ce60bd3ad62eb197b00f74"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 18 16:08:41 2019 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Aug 01 17:50:27 2019 +0000"
      },
      "message": "Add resize arrays JVMTI extension\n\nAs a prototype for more general object replacement functionality add a\nnew JVMTI extension that allows one to change the size of arrays. This\nextension is \u0027com.android.art.heap.change_array_size\u0027. As far as any\nJVMTI agent, JNI or Java Language code can observer this extension\natomically replaces every reference (strong and weak, global and\nlocal, etc.) with a newly allocated array with the same contents but a\ndifferent length. Internally a whole new array will be created then\nthe old array will have its contents (including lock-word) copied and\nall references to the old array will be replaced with the new array.\n\nTest: ./test.py --host\nBug: 134162467\n\nChange-Id: I92a0beabb02e0c92c8c8f9639836014ff1266878\n"
    },
    {
      "commit": "422a9ebc5b9d780a3201243f02b58652b44d9896",
      "tree": "4fcd6abe72d70358d7bf6235266ab685b61678a1",
      "parents": [
        "9f18fbc433bba51a5b81249989a8726558135528"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Aug 01 12:54:07 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 01 16:54:29 2019 +0000"
      },
      "message": "Do not hold lock when making class visibly initialized.\n\nDoing so can lead to deadlocks.\n\nBug: 138561860\nBug: 36692143\nTest: New test 177-visibly-initialized-deadlock\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots.\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing\nChange-Id: I6195a4a5a7d865f90c529da684697b9a3e23ff30\n"
    },
    {
      "commit": "5a11036542fbd2c00de1896c0ae2477f655e8ed3",
      "tree": "d56a0f15d6aff998497d9e20710247897e92b99d",
      "parents": [
        "5443493f2b421127e60903aa2605ef61a75f262f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 31 13:33:38 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 31 16:43:37 2019 +0000"
      },
      "message": "Remove obsolete `doThrow` pattern from some tests.\n\nAnd mark methods with $noinline$ instead if they were not\nmarked yet. Also exercise some test methods that were\npreviously unused, only CHECK-ed.\n\nTest: testrunner.py --host --optimizing -t 536 -t 567 -t 570\nChange-Id: I8d8e8c07f2e0002dccd665878b47c547c6a375a3\n"
    },
    {
      "commit": "5443493f2b421127e60903aa2605ef61a75f262f",
      "tree": "5cb21d6766bfdc1b3f54e9401b199afca7d7d74a",
      "parents": [
        "2182147af64ac462635d212473c3ffab400a7831"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 31 13:18:36 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 31 13:27:28 2019 +0100"
      },
      "message": "Reduce array size in test 597-deopt-busy-loop/SimdLoop.\n\nLet the test pass in GC-stress configurations.\n\nTest: testrunner.py --host --gcstress -t 597-deopt-busy-loop\nBug: 138601207\nChange-Id: I1f3ca293b17fcc94b437da6ff0b37f9ce1c64179\n"
    },
    {
      "commit": "2182147af64ac462635d212473c3ffab400a7831",
      "tree": "a529e9cc57c2b720f35f3a74407b8ec281e6c65d",
      "parents": [
        "e65ade70584728c544c8db5a4e0a729750813380"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Jul 29 15:10:31 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jul 31 09:40:18 2019 +0000"
      },
      "message": "Call Jit::MaybeCompileMethod less frequently.\n\nWe have added more logic into the method (and may still add more).\n\nTest: test.py -b --host --64 --jit\nChange-Id: I8198db36b42a63c9e4ebf88651bea0e1ae70d5ae\n"
    },
    {
      "commit": "e65ade70584728c544c8db5a4e0a729750813380",
      "tree": "bf25c31f699f29a54f0e7dc976ab73925b12aa61",
      "parents": [
        "9df37b9f0fc2046ceabeea0d0638ac286bfc0f37"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Jul 25 21:04:16 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 31 08:16:27 2019 +0000"
      },
      "message": "ART: Disable vectorization for debuggable graphs.\n\nSuspendCheck environment is incorrectly initialized with\na stale version of the loop induction variable (a pre-loop one)\nfor vectorized loops. The value can be retrieved from a\ncorresponding stack maps only in case of asynchronous\ndeoptimization in debuggable mode. Thus this workaround forbids\nloop optimizations on debuggable graphs so the bug is never\ntriggered.\n\nTest: test-art-target, test-art-host.\nBug: 138601207\nChange-Id: Ica9f61f471c024146b7823214ef952e1db2a4663\n"
    },
    {
      "commit": "9df37b9f0fc2046ceabeea0d0638ac286bfc0f37",
      "tree": "7f1bf36d2373c6666c24f8a35509f929c7e16944",
      "parents": [
        "92fc2c0241590e475a2a37c9864633b88f97b280"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Tue Jul 23 16:41:54 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 31 08:16:27 2019 +0000"
      },
      "message": "ART: ARM64: Fix saved fpu stack offsets for SIMD.\n\nFix the bug when a wrong stack offset was recorded for a FP\nsaved in a SlowPathCode: this happened when graph had SIMD\nloops and some regular FP registers live across a slow path.\n\nTest: test-art-target, test-art-host.\n\nChange-Id: I08b32c9877fcd468dafa6027c156e544d730f1f7\n"
    },
    {
      "commit": "f3677471a58c2738a3d9dd05f07f01c18a5e61be",
      "tree": "21b4279c1077e051b84aad12da29240672f54913",
      "parents": [
        "f1468b53d0427a45011fe6446d189babe0acd6e0"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 26 16:31:53 2019 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jul 29 22:22:53 2019 +0000"
      },
      "message": "Add ability to switch to index ids late.\n\nIn order to support some debugging features we need to have JNI code\nmostly running with jmethodIDs and jfieldIDs as opaque indexes\ndisconnected from any underlying art data-structure pointers. For\nperformance though we want to continue to use data-structure pointers\nas these IDs when debugging is not needed. To support both\npossibilities this adds support for changing from a \u0027swapablePointer\u0027\nto either \u0027pointer\u0027 or \u0027indicies\u0027 regime at runtime.\n\nThe SwapablePointer regime still uses pointers as the ids but creates\nthe data-structures needed to ensure that we can (1) detect that the\nmethods have pointer-type IDs and (2) we can change some\nWellKnownClass internal IDs from one to the other.\n\nCurrently one must select this mode explicitly using\n\u0027-Xopaque-jni-ids:swapable\u0027. Depending on when the final jni-id-type\nis selected a small amount of extra memory is used. Currently manual\ntesting of turning the default id-type to swapable and changing to\npointer immediately after zygote-fork shows a additional 40-90 kb of\nshared zygote-heap memory.\n\nTest: ./test.py --host\nTest: m libfieldcounts; \\\n      ./tools/jvmti-agents/field-counts/count-fields.py \u0027Ljava/lang/Class;.extData:Ldalvik/system/ClassExt;\u0027 \u0027Ldalvik/system/ClassExt;.jmethodIDs:Ljava/lang/Object;\u0027 \u0027Ldalvik/system/ClassExt;.staticJfieldIDs:Ljava/lang/Object;\u0027 \u0027Ldalvik/system/ClassExt;.instanceJfieldIDs:Ljava/lang/Object;\u0027 -p `adb shell pidof com.android.deskclock`;\n      Examine output\nBug: 134162467\n\nChange-Id: I1885b10056d5dcc65dad5ae4f858ddc12ba79403\n"
    },
    {
      "commit": "450b27a534002f9bf1a940c2195688f673b2367d",
      "tree": "552f497f2e95a2d5b3cb2e950e7f96fb7f5941eb",
      "parents": [
        "bf12191214c0d6215a98dfe846a51230d995dad9"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jul 24 14:06:56 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jul 26 13:46:27 2019 +0000"
      },
      "message": "Add some documentation for ART chroot-based device testing.\n\nAdd a `README.chroot.md` Markdown file in the `test` directory\ndocumenting ART chroot-based device testing and containing\ninstructions on how to use it.\n\nThis is a starting point; there should be more documentation and\nautomation in the future.\n\nTest: Render `README.chroot.md` as HTML and check the output manually\nBug: 34729697\nBug: 130188425\nChange-Id: Iba868a521b920c7300e3c1232b3474e69fa79512\n"
    },
    {
      "commit": "9a8634a7bc4f69e6c89933f906ddd0a45dd05aa7",
      "tree": "b4a14c7c497bdca695a72441815729f0f38dd708",
      "parents": [
        "6e4deeaf452133fd03413c099b6e472778940fca"
      ],
      "author": {
        "name": "Christoffer Quist Adamsen",
        "email": "christofferqa@google.com",
        "time": "Fri Jul 19 13:49:14 2019 +0200"
      },
      "committer": {
        "name": "Christoffer Quist Adamsen",
        "email": "christofferqa@google.com",
        "time": "Sat Jul 20 12:15:22 2019 +0000"
      },
      "message": "Prevent redundant field load elimination in 593-checker-long-2-float-regression\n\nTest: art/test/testrunner/testrunner.py -b --host -t 593\nChange-Id: I4517d3df0bad3a93aa5cb4e38900e5bc16b784c3"
    },
    {
      "commit": "4345aacf582a5206976d5bed98ab4abd7b9a8c40",
      "tree": "594191df77d214fac994b63761ac25bba257bb40",
      "parents": [
        "6b689ceb63b4fffaf0e617f7d363c841dd29e458"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jul 17 15:51:54 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 19 17:07:13 2019 +0000"
      },
      "message": "Cleanup some usages of include_dirs\n\nThe include_dirs property causes problems when unbundling as they can\ndirectly reference directories inside the runtime module repositories\nwhich will break the unbundled build as those repositories will not be\npresent. While these usages do not cause problems as they are\nreferences within the runtime module repository they need removing so\nthat the build can enforce no usage of runtime module repository paths\nin the include_dirs property.\n\nThis change:\n* Replaces include_dirs with local_include_dirs where possible.\n* Uses libnativehelper provided header libs, this is possible as they\n  have been updated to build against the NDK.\n* Adds headers for disassembler, libdexfile\n* Makes libart_runtime_headers build against NDK.\n\nTest: m checkbuild\nBug: 134379140\nChange-Id: Iaf065caf4b6a2fcf252f6d5da8fff5be97a242ea\n"
    },
    {
      "commit": "22940241f945710613c2657f9d6161302bed935d",
      "tree": "e85c8b7c73fa8b7964faf1a0d39a77a095c7c8e3",
      "parents": [
        "0c2c222733f3bb1dc9848f4f127a47046fda6221"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 18 12:53:03 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 18 13:04:00 2019 -0700"
      },
      "message": "Disable test 660 for debuggable\n\nDebuggable prevents AOT initialization of classes.\n\nBug: 70735003\nTest: test/testrunner/run_build_test_target.py -j50 art-jit\n\nChange-Id: Iec862c287499ffc68e0ea65a9ca05dbc4bc79316\n"
    },
    {
      "commit": "0c2c222733f3bb1dc9848f4f127a47046fda6221",
      "tree": "bf46d1a9d1bf38dcbd01947b5ffcc28e659fbdef",
      "parents": [
        "1a225a76ee6bc29833aee048b6cfae20242bdc8b"
      ],
      "author": {
        "name": "Chang Xing",
        "email": "chxing@google.com",
        "time": "Fri Aug 04 14:36:17 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 18 17:13:59 2019 +0000"
      },
      "message": "Revert^2 \"Support clinit for app image during compilation\"\n\nAdd some spot fixes for app image class initialization and re-enable\ntest 660 features.\n\nBug: 70735003\nTest: test-art-host\n\nThis reverts commit abadf024efdc632f663d7fb503cd277b3f65fca2.\n\nChange-Id: Id16fd3ada3eb1bd57ea60c3cdc4a0cf9835950d7\n"
    },
    {
      "commit": "b5204f4216557b1f7bfd72be1fd49ec9d0960ecb",
      "tree": "95ca743a14876cda3e8e185ef4613220aba196ce",
      "parents": [
        "4bd5234a05db801892ce28ea0504aebb46d06a25"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 25 12:39:15 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 16 22:13:40 2019 +0000"
      },
      "message": "ART: Add interface class join heuristic\n\nDo not treat interfaces as regular classes. This will always\nlead to a join of java.lang.Object, rejecting semantically\nvalid programs.\n\nWe want to retain IMT dispatch, forcing us to verify interface\nassigment. In the absence of set types, the result is ambiguous\nand not well defined. In a best effort, attempt to find a joint\ninterface by walking the interface tables of the join arguments\nbackwards.\n\nIn the case of two non-interface classes, we still prefer the\nclass hierarchy.\n\nBug: 69826014\nTest: m test-art-host-gtest-reg_type_test\nChange-Id: I7e0086f045e5bb2a7c3ee3464de45fc5b02f4d3f\n"
    },
    {
      "commit": "d70a97c6d4a0954bed8991bd89a93bd3da9476f6",
      "tree": "82612bad0122b0083113edc4702dc3bad4168157",
      "parents": [
        "2808be84a8f86542450670acdb5e6b55498ff5f0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 01 14:00:05 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 15 17:30:05 2019 +0000"
      },
      "message": "ART: Monitor-stack merging should not be handled as throwing\n\nMismatched stacks and other issues on merging register lines should\nnot be handled as a pending runtime exception. Actual exceptions\nwill be thrown at monitor-enter/exit and return sites. Both are\nalready covered: the former by being annotated kThrow, the latter\nby explicit checks for the stack (and end of control flow).\n\nThus, Fail() with pending_exc set to false in register line merging.\nThis still triggers lock verification at runtime.\n\nBug: 121245951\nTest: m test-art-host\nChange-Id: I06acca2920110e3de2a2bed7bae6695788f77449\n"
    },
    {
      "commit": "2808be84a8f86542450670acdb5e6b55498ff5f0",
      "tree": "f41b63e3109a6a6a9bd534f32b8d92f20eb9ef35",
      "parents": [
        "460f05480379d5c75555d06c4938bc990ce6ff83"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Dec 20 19:15:11 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 15 09:30:36 2019 +0000"
      },
      "message": "ART: Introduce stackmap with no DexRegInfo.\n\nSome of safepoints don\u0027t need to have DexRegisterMap info;\nthis will decrease the stackmap size.\n\n.oat file size reduction:\n - boot.oat:           -233 kb (-5.4%)\n - boot-framework.oat: -704 kb (-4.9%)\n\nTest: 461-get-reference-vreg, 466-get-live-vreg.\nTest: 543-env-long-ref, 616-cha*.\nTest: test-art-target, +gc-stress.\n\nChange-Id: Idbad355770e30a30dcf14127642e03ee666878b8\n"
    },
    {
      "commit": "7409b9fb679d982b4a3c790fc9711f81d68ffca3",
      "tree": "e4432b275fabb2e0e8c837e9f8f5c74f34eb2ea7",
      "parents": [
        "ef1178a0920d6f8278a07c619af552e7f20b0255"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 08 09:29:52 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 12 17:23:51 2019 +0000"
      },
      "message": "ART: Collect test times in testrunner\n\nIn verbose mode, display test time.\n\nTest: art/test/testrunner/testrunner.py -b --host -v -t 001-HelloWorld\nChange-Id: I37c251dd005257c9173e5cb214fbf996654dab83\n"
    },
    {
      "commit": "bb5b4f35e7d4cfddb9aedb4f2ea35b017650cd58",
      "tree": "c62934250a5e74f1d194eeefa9bc8c7c9ee03131",
      "parents": [
        "4a30f89d65efa9b85c34bbd7aa23ea4cd38b920d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 09 02:31:48 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 10 15:54:45 2019 +0000"
      },
      "message": "Revert \"Disable opaque JNI Ids for now.\"\n\nWe were incorrectly using a potentially out-of-date pointer to access\nclass object fields. This could cause segvs if the class object moves\nduring certain allocations relating to JNI id allocation.\n\nThis reverts commit 1be9c72dd49e7620dd76a8b9cef23d7cde0a6b01.\n\nReason for revert: Fixed issue with gcstress\nTest: ./test.py --host --debuggable --gcstress\nBug: 134162467\n\nChange-Id: I6ee7fc4485bbae6f0f1d4f4af0e8c2bc88bf4075\n"
    },
    {
      "commit": "11410de860d4e6bd6d3cc90aa604575430882302",
      "tree": "95ad8586ef841a3a5750c24a7780b58bf12cac3c",
      "parents": [
        "8d6651d8cc83d028cefc24153f4543a82dea4574"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 02 15:53:53 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 08 19:36:16 2019 +0000"
      },
      "message": "ART: Refactor run-test run_args\n\nUse an array instead of a string. This makes it easier to handle\nparameters with spaces.\n\nTest: art/test/testrunner/testrunner.py -b --host\nTest: art/run-test --host --invoke-with \"perf record -g -F 9999\" 001-HelloWorld\nChange-Id: Ic405c0f35aad4a9e36f9cb3b76fb307dadf7e732\n"
    },
    {
      "commit": "6623594e6c65035c3096c8edcbf6374d22f6d4e0",
      "tree": "cd3f6eaf7138994e8176f6ce0456b840087e615e",
      "parents": [
        "2cd9437e7067968400fe6f703a078b798b320693"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 03 16:05:17 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 08 08:43:52 2019 +0000"
      },
      "message": "Set image base address after the boot image.\n\nAnd restrict --base\u003d to boot image compilation.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nTest: aosp_taimen-userdebug boots.\nChange-Id: Ie94476ce421eb33d92405e543b2a83ebe0bbfaef\n"
    },
    {
      "commit": "d17eac6b037f67494e31671d1a1d9d233ba3f237",
      "tree": "75a285db021569d1f10c800ed185144ad457cefb",
      "parents": [
        "e81f10a3f672a8bcc421cab812e6435749181566"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jul 03 17:39:12 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 05 09:28:56 2019 +0000"
      },
      "message": "Fix for 689-zygote-jit-deopt on kernels before 3.11rc2\n\nNo JIT for zygote if cache flushes can signal faults. JIT for zygote\nneeds dual code mappings by design and the old kernel behaviour is\nincompatible with this. The new test 689-zygote-jit-deopt was running\nup against this issue on Nexus 6P test devices.\n\nTest: art/test/testrunner/testrunner.py --target --64 -t 689\nBug: 136584457\nChange-Id: Ibdafca270962d9e4a22ce1d9ba04f15771144899\n"
    },
    {
      "commit": "1a6f9fcce199f437a5945dfe0163188b923adb28",
      "tree": "a676d94336d22b635048ba24ba08f6df2aa041f8",
      "parents": [
        "0c89d573058f7f33a4e5bfd3ef0acd2832ea39ba"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 02 14:59:00 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 03 18:34:17 2019 +0000"
      },
      "message": "ART: Dump more env vars in run-test-jar\n\nAdd new and important environment variables.\n\nTest: manual\nChange-Id: I6a5b85a7b2672e76f94797bc5ce64036759e28ac\n"
    },
    {
      "commit": "8c344524e5251535e49cbe8e68ab5dc1cd7d1591",
      "tree": "0f3f6b3f7edde0f4ba42af9ec3ecd7a6f656ad8f",
      "parents": [
        "1aff1efe67be9238792704c6758028d12239e337"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 03 13:25:21 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 03 13:25:21 2019 +0100"
      },
      "message": "Add 689-zygote-jit-deopt as knownfailure while investigating.\n\nBug: 136584457\nChange-Id: I0c571dbf318f34720cac64b33a298d87e417e7e1\n"
    },
    {
      "commit": "af213ccb19231a4f46340bf8a791b4f498b8bda4",
      "tree": "f668938f3f225e27ffd6b75993e2d8ddf65ae148",
      "parents": [
        "0cc6a825b14893d0d23311d7d708087794675e77"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 01 10:50:55 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 02 12:50:41 2019 +0000"
      },
      "message": "Fix ClearEntryPointsInZygoteExecSpace.\n\nMethods allocated in the shared region now don\u0027t have a profiling\ninfo.\n\nAlso move test 689-zygote-jit-deopt to now use proper ZygoteHooks APIs\nto fork from zygote, and have non-bionic build create a shared region.\n\nTest: 689-zygote-jit-deopt\nBug: 119800099\nChange-Id: I400618673a0b5b2ba7389e46d692ea6a58dbeea8\n"
    },
    {
      "commit": "1be9c72dd49e7620dd76a8b9cef23d7cde0a6b01",
      "tree": "28c508dde96a47fa976d06f2b4b3ba08cb02925b",
      "parents": [
        "3768276ab9ec3ede28ac27c97dd42518b0e2dcd9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 01 09:49:38 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 01 09:49:38 2019 +0100"
      },
      "message": "Disable opaque JNI Ids for now.\n\nThey fail on gcstress.\nTest: test.py --debuggable --gcstress\nBug: 134162467\n\nChange-Id: If57dd2fe6b57abd92b6a67383eeb8f8d5d8e3b2e\n"
    },
    {
      "commit": "79d6c800cd8aa1da335ea0523c391852780ac02a",
      "tree": "a77faf41d7b658709113c72d7eaaaa1ce2ded6b5",
      "parents": [
        "01fbfbebceb00b94cc54738ebf425b6c4a79211a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jun 27 15:50:11 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 28 14:58:17 2019 +0000"
      },
      "message": "Revert^2 \"Support using opaque JNI ids\"\n\nWe weren\u0027t handing the fact that encoding jmethodIDs could cause OOM\nexceptions in some places in reflection.cc. This could lead to\nattempting to use a null jmethodID as if it were a real id. This issue\nis fixed by the parent CL.\n\nThis reverts commit b476a29a2c.\nThis reverts commit 3b2905366c.\nThis Unreverts commit d5d645ffec.\nThis Unreverts commit 21d5994583.\n\nReason for revert: Fixed issue causing 004 debuggable flakes\nTest: ./test.py --host --jit --debuggable\nBug: 134162467\n\nChange-Id: Iece08ab299cd8a20f8382be7be6c3796858e70eb\n"
    },
    {
      "commit": "673bd509ae61a06175796adc5e6599b7312209bb",
      "tree": "2a6ee7dcc6d592f3bc83410a4715d9253c9d2984",
      "parents": [
        "ee1f1264314303829f6dca288781ed114c65dd93"
      ],
      "author": {
        "name": "anuvarsh",
        "email": "anuvarshini.bc@intel.com",
        "time": "Thu Jun 27 16:44:11 2019 +0530"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 27 14:53:40 2019 +0000"
      },
      "message": "Tests for Load Hoist Store Sink\n\nTest: ./test.py --host\n\nChange-Id: I08032ae8f992b6312dbb6a82b300a48c94f54401\nSigned-off-by: anuvarsh \u003canuvarshini.bc@intel.com\u003e\n"
    },
    {
      "commit": "ee1f1264314303829f6dca288781ed114c65dd93",
      "tree": "ac042304d0cb4b978d1532cad704e8604236a897",
      "parents": [
        "da5e041d8cbd714e791974dbdd876c23141801cb"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jun 26 14:37:17 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 27 14:37:54 2019 +0000"
      },
      "message": "Fix search for implicit null check.\n\nThere are additional instructions that can be emitted at use\nsite for x86/x86-64, such as ArrayLength, and the implicit\nnull check may therefore be emitted later than at the next\ninstruction. Search for the implicit null check until we\nreach an instruction that\u0027s not emitted at use site.\n\nThis also reverts the blacklisting of the test, i.e.\n    commit 5be5260cfec2fc0a8c21ef1a08e7144523a8bfcd.\n\nTest: testrunner.py --host \\\n      --jit-on-first-use --debuggable -t 122-npe\nTest: testrunner.py --host \\\n      --optimizing --jit --jit-on-first-use \\\n      --debuggable --ndebuggable\nBug: 136021898\nChange-Id: I768f55d8c8975dbd0376802c10ca8508df3fe3b0\n"
    },
    {
      "commit": "b476a29a2cda22b86fc1d96e4cc65ce36fb878af",
      "tree": "039eaee2edf5495275088d1c467e522977c6bcd6",
      "parents": [
        "3b2905366c6ee1eaba2d6477078e505e377343ec"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 27 07:54:48 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 27 08:16:04 2019 +0000"
      },
      "message": "Revert \"Support using opaque JNI ids\"\n\nThis reverts commit 21d5994583c679cd5d8573b5d35dbd659bdca2c7.\n\nBug: 134162467\n\nReason for revert: Breaks debuggable\n\nChange-Id: I9510a6ac208d392ff25ee196a1a519fecd151445\n"
    },
    {
      "commit": "21d5994583c679cd5d8573b5d35dbd659bdca2c7",
      "tree": "521906398a2f04048cc51b4f409b6a3ebc0c6ffa",
      "parents": [
        "5dfbe7ae9ed9a1a82446d32118190105a211a2d2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 19 12:58:22 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 26 20:22:39 2019 +0000"
      },
      "message": "Support using opaque JNI ids\n\nCurrently JNI ids (jmethodID \u0026  jfieldID) are created by simply\ncasting the corresponding ART structure pointer. This is great for\nsimplicity but means we are prevented from performing operations that\ncould change these pointer values. To support these use-cases add\nsupport for loading the runtime with a layer of indirection between\nthese ids and the internal art data types.\n\nCurrently the JNI id type can be toggled only by passing the new\n\u0027-Xopaque-jni-ids:{true,false}\u0027 flag during startup.\n\nThis changes the --debuggable test configuration to pass\n\u0027-Xopaque-jni-ids:true\u0027 in order to get test coverage of this feature\nusing the \u0027art-jit\u0027 configuration.\n\nTest: ./test.py --host --debuggable\nTest: ./test.py --host --debuggable --jit-on-first-use\nTest: ./test/testrunnner/run_build_test_target.py art-jit\nBug: 134162467\nChange-Id: Id8c8cb9a5b8ff18dc2f40892fae2d344a7214f44\n"
    },
    {
      "commit": "03625446dd614ce9262015caca89161b50e2812d",
      "tree": "7d095f411af6787258f24483825b7b929d6aa2ef",
      "parents": [
        "9b41e9514daed1f7f17edf0af20aeb5f33485b74"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 24 17:29:23 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 26 15:51:09 2019 +0000"
      },
      "message": "Add a stress test for notifyStartupCompleted\n\nCall notifyStartupCompleted to stress test the freeing logic for\nrace conditions. This is done while dex files and app images are\nbeing loaded from another thread.\n\nTest: test/run-test --host 1002\nBug: 135486422\n\nChange-Id: I138586d83db7bc2f8d75f223170f9bf4af5e71eb\n"
    },
    {
      "commit": "41249cd548d60d72b94532b00a261332451fd6f2",
      "tree": "454392f0835f3fdd193a523d5c36f6f8fff30800",
      "parents": [
        "5be5260cfec2fc0a8c21ef1a08e7144523a8bfcd"
      ],
      "author": {
        "name": "anuvarsh",
        "email": "anuvarshini.bc@intel.com",
        "time": "Mon Jun 24 17:45:36 2019 +0530"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 26 08:20:48 2019 +0000"
      },
      "message": "Tests for Invariant Loops\n\nTest: ./test.py --host\n\nChange-Id: I6c2631af2c62a41b1811f646804d395bb0cefa35\nSigned-off-by: anuvarsh \u003canuvarshini.bc@intel.com\u003e\n"
    },
    {
      "commit": "5be5260cfec2fc0a8c21ef1a08e7144523a8bfcd",
      "tree": "ec182cc36841e8cedb49416675a75cd4ed0822de",
      "parents": [
        "1e52a07b4de0f000028e55c332aa46495f60879c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 25 13:21:48 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 26 06:02:23 2019 +0000"
      },
      "message": "Add 122-npe to knownfailures on debuggable jit-on-first-use\n\nThe test fails due to `Unexpected vreg location Kind\u003c-1\u003e` for unknown\nreasons.\n\nTest: ./test/testrunner/testrunner.py --host \\\n                                      --jit --jit-on-first-use \\\n                                      --debuggable --ndebuggable \\\n                                      -t 122\nBug: 136021898\nChange-Id: I52e14d800767885543ebd026e0c77b53a098f8f1\n"
    },
    {
      "commit": "1e52a07b4de0f000028e55c332aa46495f60879c",
      "tree": "1eb7dfdce749461c5a8997cbde49ed6d0fea2aa0",
      "parents": [
        "e0ce8bf743b7fc5816bc4045716d75378ce3b654"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 25 09:12:04 2019 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 25 16:25:13 2019 +0000"
      },
      "message": "Correct Indicies -\u003e Indices\n\nThis is a misspelling that is somewhat common in art/.\nFix up all the instances I could find.\n\nTest: ./test.py --host\nChange-Id: I0a5def6e4126cf4e61efb0619bd59eb45ba7f324\n"
    },
    {
      "commit": "04968fafaca9288f0660617366318082a7f5cbf1",
      "tree": "8a02553dd737d9deaa6466a98456e3746f3c0c88",
      "parents": [
        "7d94aa16f9a3d0368b931eecd24fbfd2724ba21d"
      ],
      "author": {
        "name": "anuvarsh",
        "email": "anuvarshini.bc@intel.com",
        "time": "Tue Jun 11 14:38:51 2019 +0530"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 25 13:22:38 2019 +0000"
      },
      "message": "Tests for Inlining Optimization\n\nTest: ./test.py --host\n\nChange-Id: I382dcb4501e0b4ce3dc9a2a0b19736ca2213cc21\nSigned-off-by: anuvarsh \u003canuvarshini.bc@intel.com\u003e\n"
    },
    {
      "commit": "72f6774bf65222b7c93c3e4d706938635cacf050",
      "tree": "e121e3ce1f5b0e5215b7054fb8689e8e4ceded45",
      "parents": [
        "2c029f35eebe7d8b0d00979342d64b2f2dad5a94"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Mar 06 15:48:08 2019 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 24 13:13:42 2019 +0000"
      },
      "message": "Use flattened Runtime APEX contents in ART chroot-based device testing.\n\nCopy the contents of the flattened Debug Runtime Module\ndirectory (`/system/apex/com.android.runtime.debug`) to\n`/apex/com.android.runtime` within the chroot directory on the device.\n\nAvoid generating artifacts that are not expected in the `system`\ndirectory (`TARGET_OUT`) of a \"normal\" build.\n\nAdjust the chroot environment to have it use the system linker\nconfiguration of the built target (\"guest system\") and the linker\nconfiguration of the Runtime APEX, even if the linker configuration\nflavor of the \"guest system\" (e.g. legacy configuration) does not\nmatch the one of the \"host system\" (e.g. full-VNDK configuration).\nThis is done by renaming the configuration file provided by the \"guest\nsystem\" (created according to the build target configuration) within\nthe chroot environment, using the name of the configuration file\nexpected by the linker (governed by system properties of the \"host\nsystem\").\n\nTest: ART chroot-based on-device testing using the master-art branch\nTest: ART chroot-based on-device testing using the master branch (with\n      `TARGET_FLATTEN_APEX` set to `true` before building).\nBug: 124425036\nBug: 121117762\nChange-Id: Ied3f6ee8b2d68c3473fab864d1bbed9e88df59d3\n"
    },
    {
      "commit": "2c029f35eebe7d8b0d00979342d64b2f2dad5a94",
      "tree": "2c4e37ad1158ccdbbf9e5761ed239332ed1adba2",
      "parents": [
        "fd4a79c5660a315e30ac1999a0f57fa1dd79e510"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 21 14:26:30 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 24 09:50:20 2019 +0000"
      },
      "message": "Consolidate SAD tests.\n\nAnd rename SIMD SAD test classes to differentiate them.\n\nTest: testrunner.py --host --optimizing -t 660\nTest: testrunner.py --target --optimizing -t 660\nChange-Id: I93f88b835bc8bc868e7de1c3159c630b4838b434\n"
    },
    {
      "commit": "e8ad48f7ecc8cbc6b9e4e704b0c4345354473db0",
      "tree": "7d06c3e63b8905b1f6691f855dcb6e82f21f1ed9",
      "parents": [
        "d935af9786dc3de5bf01a7705b94a7950569732e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 20 16:47:37 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 21 08:38:58 2019 +0000"
      },
      "message": "Consolidate SIMD SAD tests.\n\nTest: testrunner.py --host --optimizing -t 660\nTest: testrunner.py --target --optimizing -t 660\nChange-Id: Ie98d7900e5ff2f3ba3a9af22dc27ce8b210ace29\n"
    },
    {
      "commit": "d935af9786dc3de5bf01a7705b94a7950569732e",
      "tree": "04f9a6c08943b52e9a1014b96aadaf739264820e",
      "parents": [
        "6390c90291b160af0c1febf303c6afe58d56134a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 20 14:32:54 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 21 08:38:58 2019 +0000"
      },
      "message": "Consolidate SIMD hadd tests.\n\nTest: testrunner.py --host --optimizing -t 646\nTest: testrunner.py --target --optimizing -t 646\nChange-Id: Id9ffbdaf15d1a664b3b0671220dff17f2e98c3ed\n"
    },
    {
      "commit": "6390c90291b160af0c1febf303c6afe58d56134a",
      "tree": "64cae504f98c17cce2b6ee5cce8987e7ed9e579c",
      "parents": [
        "64b56033c5c396937d52497b3f7e41b6f0f56afb"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 20 14:26:33 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 21 08:38:58 2019 +0000"
      },
      "message": "Consolidate SIMD tests.\n\nTest: testrunner.py --host --optimizing -t 640\nTest: testrunner.py --target --optimizing -t 640\nChange-Id: Ia23f300a75d5357784c0c70f8df6a7be2d690f9d\n"
    },
    {
      "commit": "9d3b5ec3bf76855ccb3e01abad41f1fa9e305ade",
      "tree": "95f586f42e1213b7803c3551ada7b43567cf0226",
      "parents": [
        "34f3179392241ae54302d63e3fdd19fa3b448f87"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jun 20 09:47:01 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 20 19:39:24 2019 +0000"
      },
      "message": "Refactor 904 for safety\n\nSome functions that could potentially cause allocations were being\nperformed during the ObjectAllocated callback in test 904. If these\nallocations occurred the test could enter an infinite loop until it\nstack-overflows in native code.\n\nTo prevent this we move all potentially allocation causing code (such\nas calling java methods and getting jmethodIDs) out to the\ngetTrackingEventMessages function.\n\nTest: ./test.py --host\nChange-Id: Iccd2bea90ef037cc2fc496f46690770cfa2d00f7\n"
    },
    {
      "commit": "34f3179392241ae54302d63e3fdd19fa3b448f87",
      "tree": "4205b9714b8b81da7e0660d510f86e42a4947aaa",
      "parents": [
        "9b7f8b5e6dd3af8ce105ef40aedd2fbbc83b419a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jun 20 08:43:45 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 20 19:00:16 2019 +0000"
      },
      "message": "Limit test 1941 to 100000 iterations\n\nThe test could take longer than the overall test timeout on some\ndevices due to scheduler issues. Limit the number of iterations to\nenable us to continue running the test.\n\nTest: ./test.py --host\nBug: 133767752\nChange-Id: I205cbdfa0ce623806fa597fd42a8cb9496358593\n"
    }
  ],
  "next": "4cd5411c1e8332d3fc33869a87e61ed78052679d"
}
