)]}'
{
  "log": [
    {
      "commit": "6ef7713cf58629f8c5edce8554a1b60fbfdd1de2",
      "tree": "4c17a77fffa9bef0322de5f5c770daef01b0e49a",
      "parents": [
        "21c5b6a410c567ccbb7e8ea066f1c4ba954f01a2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jan 21 13:52:11 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jan 21 14:17:48 2020 +0000"
      },
      "message": "Remove dead code related to profile collection.\n\nThis code had been dead since\n    https://android-review.googlesource.com/411660 .\n\nTest: m\nChange-Id: I17440d80971bb14ec062ed8b982b9cdd70383efb\n"
    },
    {
      "commit": "21c5b6a410c567ccbb7e8ea066f1c4ba954f01a2",
      "tree": "961aacd04347b6f9caacb8be81c7b452e2113ffb",
      "parents": [
        "a9ff45b9f6d46cf6e48685a1c5d3cd64e05149a6"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jan 20 15:36:41 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jan 20 17:23:39 2020 +0000"
      },
      "message": "Revert \"Disable run-test 135-MirandaDispatch with ASan and interp-ac on 32-bit host.\"\n\nThis reverts commit dc6a7f4d17938e569b5221fc6d0c49df218999f1.\n\nReason for revert: Reenabling the test to check whether we can still\nobserve timeouts with ASan on the interp-ac configuration on\n32-bit (x86) host.\n\nTest: art/test/testrunner/run_build_test_target.py art-asan\nBug: 112993554\nChange-Id: I923aa1d9ba14ab9815e73e8ca929c71e7446a1ac\n"
    },
    {
      "commit": "a9ff45b9f6d46cf6e48685a1c5d3cd64e05149a6",
      "tree": "9af811618b7d73319eaeedfa67532bc9d7bce543",
      "parents": [
        "6a67bea2203783db7569cd99cc86e2b63f5e28a7"
      ],
      "author": {
        "name": "atrost",
        "email": "atrost@google.com",
        "time": "Tue Jan 14 15:59:02 2020 +0000"
      },
      "committer": {
        "name": "Anna Trostanetski",
        "email": "atrost@google.com",
        "time": "Mon Jan 20 16:26:26 2020 +0000"
      },
      "message": "Remove TODO from ART\n\nDoing this directly from frameworks to bionic without ART.\nBug: 145743810\nTest: none\n\nChange-Id: I79634c403038fcbe4c2e842980cc4821a6fae027\n"
    },
    {
      "commit": "6a67bea2203783db7569cd99cc86e2b63f5e28a7",
      "tree": "5634c31c3da4eb68294015909bf91b7dfd107087",
      "parents": [
        "4d7b689fe667a65138eceb311767a3d624fb0e4b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jan 20 13:05:55 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jan 20 15:27:36 2020 +0000"
      },
      "message": "Update InstructionBuilder\u0027s IsInBootImage for boot image extension.\n\nFor boot image extension, check both the class being in the\nboot image space and the descriptor being in image classes.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots.\nBug: 119800099\nChange-Id: I56f81d7b7aed20f5ee5c4ffd4d2e01aacd42d243\n"
    },
    {
      "commit": "4d7b689fe667a65138eceb311767a3d624fb0e4b",
      "tree": "b59be0fd4130f73142cdc0699b5d0bc0dc63798f",
      "parents": [
        "87712da946a5e10edb460ad1df03d8b26d6a0fdc"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jan 16 17:06:35 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jan 20 15:26:38 2020 +0000"
      },
      "message": "Fix Transaction constraint validation...\n\n... for boot image extensions. Add WriteConstraint checks\nto APUT instructions and add necessary WriteConstraint and\nWriteValueConstraint checks to UnstartedRuntime.\n\nFor strict transactions (app compilation), prevent writing\nto boot image objects. However, more work is required for\nthis use case as the UnstartedRuntime needs a review for\nmissing ReadConstraint checks and the WriteValueConstraint\nmay need to be more restrictive.\n\nWhile the transaction_test is improved to test Transaction\nconstraints more thoroughly, no regression tests are\nprovided for the previously missing checks. Such tests are\ndifficult to write as they would require compilation of\na custom boot image.\n\nTest: Manual; include java.lang.Locale[] in primary boot\n      image by patching CompilerDriver::LoadImageClasses(),\n          +  if (GetCompilerOptions().IsBootImage()) {\n          +    image_classes-\u003einsert(\"[Ljava/util/Locale;\");\n          +  }\n      , and build. This previously aborted in ImageWriter:\n          Image object without assigned bin slot: \\\n          java.util.concurrent.ConcurrentHashMap$Node\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 119800099\nBug: 147596904\nChange-Id: Ibfe1b24b10dbd982b4e4ae4d98289e587a842812\n"
    },
    {
      "commit": "87712da946a5e10edb460ad1df03d8b26d6a0fdc",
      "tree": "daa744b983eb9033a61c1fb605d7d4a0500289eb",
      "parents": [
        "0c42b60d2f4d8cc1067c723396659720a94b388c"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Jan 17 15:50:02 2020 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Jan 20 13:16:27 2020 +0000"
      },
      "message": "Revert^2 \"Generate mini-debug-info when running tests.\"\n\nThis reverts commit b9a8541380c2bdb9685e16d8d4b2ba034ddbf870.\n\nReason for revert: Reland after timeout issues disappeared.\n\nBug: 142039427\nChange-Id: I7373a0feaa0264a8dd8dd12378fee4aecc99215c\n"
    },
    {
      "commit": "0c42b60d2f4d8cc1067c723396659720a94b388c",
      "tree": "649b972cd61635c97bd82245123cbd837979aa1c",
      "parents": [
        "51e957ce2c1c3e906ced8d0986baa76d93a6adca"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Jan 17 15:50:59 2020 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Jan 20 13:16:12 2020 +0000"
      },
      "message": "Revert^2 \"Generate mini-debug-info when running JIT tests.\"\n\nThis reverts commit 0b4479830e2614fc1582ced22a426fe7f473161b.\n\nReason for revert: Reland after timeout issues disappeared.\n\nBug: 142039427\nChange-Id: I5352b18e1cdd03dc02e2bb20734c5cc6b6d18394\n"
    },
    {
      "commit": "51e957ce2c1c3e906ced8d0986baa76d93a6adca",
      "tree": "33c2cd4c8034bec5aaddcd51b861d76559b3d192",
      "parents": [
        "691f1a4978eb69a062100810eb6204f7b651cb94"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 20 10:09:42 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 20 10:09:42 2020 +0000"
      },
      "message": "Blacklist 137-cfi on target 32.\n\nBug: 147910661\nTest: test.py\nChange-Id: I50d3e73551744af3aa5a35a63660f64326150e4d\n"
    },
    {
      "commit": "691f1a4978eb69a062100810eb6204f7b651cb94",
      "tree": "be41f37208b768563dcbb981e5af3d50825b9194",
      "parents": [
        "4f915d2a0988a262ebd48075e85de756ea43ce57"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Nov 14 17:52:25 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Jan 19 13:52:34 2020 +0000"
      },
      "message": "Add initial sdk/module_exports for art\n\nExports modules of varying types to verify that they are working\ncorrectly.\n\nBug: 142935992\nTest: m art-module-sdk art-module-host-exports art-module-test-exports\nChange-Id: I4910d06d8c6438643fd66b070d1ca1a051df1801\n"
    },
    {
      "commit": "4f915d2a0988a262ebd48075e85de756ea43ce57",
      "tree": "408e61457ec4ada8ef22056abf9f2edffff20762",
      "parents": [
        "daca30367af71c50ed7c39443540c4c8630f4625"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 09 17:51:25 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 18 01:55:30 2020 +0000"
      },
      "message": "Make --create-runner check the output when not --dev\n\nMake the script generated by --create-runner check the output of each\nrun against expected.txt. This is done only with diff not potential\n\u0027check\u0027 scripts at the moment.\n\nTest: Manual.\nChange-Id: I1bfcefce9b72c8c1bdc436e7fa9898a9ee15af82\n"
    },
    {
      "commit": "daca30367af71c50ed7c39443540c4c8630f4625",
      "tree": "105361a942e9356c0692a994beab1d125a38e7d0",
      "parents": [
        "7d511d94cdc33df9ede75108b7aa112640635d49"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 15 09:54:29 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 17 22:22:38 2020 +0000"
      },
      "message": "Make parallel_run.py print status on single line.\n\nParallel_run.py would write a ton of status updates as it runs. To\nmake it a bit cleaner have it overwrite the run-count line each time\ninstead.\n\nTest: manual\nChange-Id: I9073810fc7ece9a7d25b4a97a4bd01414ad5efa8\n"
    },
    {
      "commit": "7d511d94cdc33df9ede75108b7aa112640635d49",
      "tree": "2fba7478ee5051cb2c8aff74f90098878c25f585",
      "parents": [
        "15669a69f163362047b695e76565d93af3283e6f"
      ],
      "author": {
        "name": "Dan Zimmerman",
        "email": "danzimm@fb.com",
        "time": "Mon Dec 23 07:00:51 2019 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Jan 17 22:13:11 2020 +0000"
      },
      "message": "[art] Factor out encoding ClassLoaderContext components\n\nThese factored out utility functions are useful to encode a partial\nclass loader context. The end goal here is to serialize the correct\nclassloader contexts from the runtime and send those to DexLoadReporter\nso that we don\u0027t depend on divergent behavior.\n\nTest: m test-art-host-gtest-class_loader_context_test\n\nChange-Id: I81a32ad7cc4aba7147ed191ccf12c9839386a9cc\n"
    },
    {
      "commit": "15669a69f163362047b695e76565d93af3283e6f",
      "tree": "5f1de6cb473c6afc3315f5b779460173a83aafb3",
      "parents": [
        "6442eaf8b21c85d60648f7a7498a6aeb299af861"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Jan 15 14:45:35 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 17 22:06:57 2020 +0000"
      },
      "message": "jdwp: switch to libbase\u0027s ReceiveFileDescriptors.\n\nThere are some missing checks in the previous use of cmsg(3) to receive\nfile descriptors, which could result in an fd leak (if we received two\nfile descriptors, since CMSG_SPACE(4) \u003d\u003d CMSG_SPACE(8) on 64-bit).\n\nThis isn\u0027t actually a real issue, because the other end is trusted to do\nthe right thing, but switch this over to avoid cargo-cult copy/paste\ninto places where we don\u0027t trust the other side.\n\nBug: http://b/122047630\nTest: treehugger\nChange-Id: I53347805b91e5a36c20ab42e6761412270ea6c8e\n"
    },
    {
      "commit": "6442eaf8b21c85d60648f7a7498a6aeb299af861",
      "tree": "9a0fc7a9484e22e341b765b97adb9c517f78ddca",
      "parents": [
        "e30457c0b52caba839b21a03af56200df7a975e2"
      ],
      "author": {
        "name": "Andrei Onea",
        "email": "andreionea@google.com",
        "time": "Wed Jan 08 16:55:56 2020 +0000"
      },
      "committer": {
        "name": "Andrei Onea",
        "email": "andreionea@google.com",
        "time": "Fri Jan 17 15:59:09 2020 +0000"
      },
      "message": "Harden hidden api checks.\n\nAlso walk past j.l.r in stackwalk for Hidden API. This is a fix for an\nasan test failure (691-hiddenapi-proxy) introduced in https://r.android.com/1208005.\nInstead of always walking past j.l.r during the stackwalk, this CL adds an\nexception for j.l.r.Proxy.\n\nBug: 142365358\nTest: art/test/testrunner/testrunner.py --target --64 -t674-hiddenapi\nTest: art/test/testrunner/run_build_test_target.py -j110 art-asan\nChange-Id: I98dd46d7070dd2dd4318398d2a5d2ae4ece94015\n"
    },
    {
      "commit": "e30457c0b52caba839b21a03af56200df7a975e2",
      "tree": "5f7dcb277f6c62c7dafa9f99346e4f4b80b9b466",
      "parents": [
        "a72256b2b9cb32ead8bdf06c7d6546eb01ef4229"
      ],
      "author": {
        "name": "Rick Yiu",
        "email": "rickyiu@google.com",
        "time": "Wed Jan 08 16:02:00 2020 +0800"
      },
      "committer": {
        "name": "Rick Yiu",
        "email": "rickyiu@google.com",
        "time": "Fri Jan 17 13:32:51 2020 +0000"
      },
      "message": "Add getNativeTid function\n\nAdd a function to get native thread id for java Thread.\n\nBug: 139521784\nTest: CtsLibcoreTestCases, device boot to home, thread priority set\n      as expected.\nChange-Id: Ic13c1380374044754f007136666dc0928ce1f143\n"
    },
    {
      "commit": "a72256b2b9cb32ead8bdf06c7d6546eb01ef4229",
      "tree": "3060f8b142aba9345df87968142732ad7ea8255a",
      "parents": [
        "1c3c106fc896453e6e9b8dd5914eddf5b20d2416"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jan 14 13:52:37 2020 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jan 16 17:15:04 2020 +0000"
      },
      "message": "Remove app image dex file and class loader checks\n\nThese checks are already covered by the class loader context.\n\nTest: test-art-host\nChange-Id: I8f2a1ab1baa8f09e7a7d4913ff790927eb66cddf\n"
    },
    {
      "commit": "1c3c106fc896453e6e9b8dd5914eddf5b20d2416",
      "tree": "029a8276590131c7fe1c5daef153e90863c628a6",
      "parents": [
        "0330e38bbad6addc2f1c9ae2b61347e421db9c3f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 03 11:18:44 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jan 16 16:25:28 2020 +0000"
      },
      "message": "jni: Do not create a managed frame for @CriticalNative.\n\nOmit managed frame for @CriticalNative methods, do not check\nfor exceptions and and make a tail call when possible.\nPass the method pointer in a hidden argument to prepare for\nimplementing late binding for @CriticalNative methods.\n\nThis changes only the JNI compiler, Generic JNI shall be\nupdated in a separate change.\n\nPerformance improvements reported by Golem (art-opt-cc):\n                                 x86 x86-64    arm  arm64\nNativeDowncallStaticCritical6   +17%   +50%   +88%  +139%\nNativeDowncallStaticCritical    +37%   +32%  +103%  +216%\n\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\nBug: 112189621\nChange-Id: I5758c8f478627f2eee8f615b4537a907c211b9f8\n"
    },
    {
      "commit": "0330e38bbad6addc2f1c9ae2b61347e421db9c3f",
      "tree": "a532d80e749d342b48d887a9d209330fe2c0d5eb",
      "parents": [
        "72325b603fad447082729eb43f11a8d83706bad5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jan 10 15:07:21 2020 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jan 15 21:55:11 2020 +0000"
      },
      "message": "Fix compile-jar.sh for new boot image locations\n\nNow the boot image is split into primary part in the ART apex\nand the framework boot image extension in /system/framework.\n\nIt is no longer possible to get the full boot class path from the\nboot image oat files, so we use services.odex instead.\n\nTest: art/tools/compile-jar.sh bench.jar bench.odex arm64\nChange-Id: I6e18ec4805bca9c9e5ba4c939a96885a0815696c\n"
    },
    {
      "commit": "72325b603fad447082729eb43f11a8d83706bad5",
      "tree": "3546b831a215a0b1c46d77a0b38ba8aadb845b38",
      "parents": [
        "4f9d62b549ef755c5b77d09b1da2a8403f58b376"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 09 17:49:45 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 15 21:33:25 2020 +0000"
      },
      "message": "Add test for local-refs being updated by structural-redef\n\nWe don\u0027t have a good test that local-JNI-refs are correctly updated by\nstructural redefinition. This adds such a test.\n\nTest: ./test.py --host\nChange-Id: I56697fe1a4f9d726b5666c7be2d4036ee248bc58\n"
    },
    {
      "commit": "4f9d62b549ef755c5b77d09b1da2a8403f58b376",
      "tree": "c3af4e8008e8214016b88bb9127157c912fa23e8",
      "parents": [
        "b885d8b631ad0a72ade32cb6b07a2ddd062a664b"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Mon Jan 06 15:06:04 2020 -0800"
      },
      "committer": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Wed Jan 15 19:50:46 2020 +0000"
      },
      "message": "Utilize partially used TLABs\n\nCurrently, once a mutator tries to allocate an object bigger than the\nTLAB size, it attempts to acquire another TLAB. The previous TLAB is not\nutilized again. This leads to blocking GCs when mutators get created and\nkilled very frequently, as could happen in the case of Zygote.\n\nIn this change, we maintain a separate list of partially used TLABs\nwhich can be reused whenever any mutator attempts to allocate a new TLAB\nfrom region space.\n\nTest: forrest hermatic test\nBug: 146706834\nChange-Id: I8076663628e49fc10e33f30de937833f6812fdca\n"
    },
    {
      "commit": "b885d8b631ad0a72ade32cb6b07a2ddd062a664b",
      "tree": "3199b2df453cb6e904b29cf316eeff51b3ece1fb",
      "parents": [
        "f676eb408593933c80fc336d9fd409015365fcb7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 14 15:25:52 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 15 11:08:43 2020 +0000"
      },
      "message": "Surround MR uses with #if defined read barrier.\n\nMR is only defined in the baker read barrier configuration.\n\nTest: build with CMS configuration\nBug: 147094528\nChange-Id: Ief13c74ac6706f82c065c3612d251fd52dcbc92e\n"
    },
    {
      "commit": "f676eb408593933c80fc336d9fd409015365fcb7",
      "tree": "30c82bc5af4a05048f1afdbf3b78b90d79b3bcee",
      "parents": [
        "2ba6ff25938e6f1755748a4c7ef3ad0b45be6df7"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 15 10:17:43 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 15 11:03:21 2020 +0000"
      },
      "message": "Exclude 64-bit libperfetto_hprof library from golem tarball\n\nThe presence of this library initializes a plugin which slows the\ninitialization of the runtime and means many benchmarks fail to\nachieve expected CPU utilization (and are subsequently rejected as\ninvalid).\n\nBug: 129332183\nBug: 147577567\n\nTest: Run golem benchmarks on Odroid C2 with and without library\n      in out/ directory.\n\nChange-Id: Ia81f0e89a0ed14649eacadde769aa1e48d33e609\n"
    },
    {
      "commit": "2ba6ff25938e6f1755748a4c7ef3ad0b45be6df7",
      "tree": "80d8b3f4142262c8b7099472617ae1e72eb776c5",
      "parents": [
        "46d7b24ddb2160123afb3facad4b54242422a45f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 08 14:47:26 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 15 10:49:45 2020 +0000"
      },
      "message": "Fix String.init tests with baseline JIT.\n\nBaseline JIT doesn\u0027t do deoptimizations, but the test assumes compiled\ncode will. Adjust the test to call ensureJitCompiled to force\nnon-baseline compilation.\n\nTest: testrunner.py --host --64 --jit -t 563 -t 575\nBug: 147209001\nChange-Id: I062650e07616610b01415e3add193687fcc35e30\n"
    },
    {
      "commit": "46d7b24ddb2160123afb3facad4b54242422a45f",
      "tree": "35544059d1902949f7def95f95b655a152fcb9ea",
      "parents": [
        "fe0ce64326bc0531616fb6b5388400cd9787370e"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Tue Jan 14 17:44:37 2020 +0000"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Wed Jan 15 09:19:00 2020 +0000"
      },
      "message": "Add atrace event for perfetto_hprof init.\n\nBug: 147577567\nBug: 147667830\n\nChange-Id: If6528e2544a19cd4af6f21630fabe84434c1c1ef\n"
    },
    {
      "commit": "fe0ce64326bc0531616fb6b5388400cd9787370e",
      "tree": "2b176d562034d35949e9e646beec263006e29eb1",
      "parents": [
        "e8e544dc8909155560af0c7381df3833b2e7f701"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jan 07 13:14:18 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 15 08:24:52 2020 +0000"
      },
      "message": "Add structural redef tests to CTS\n\nThis adds structural redefinition and other JVMTI run-tests to CTS\nwhere possible.\n\nTest: atest -bit --test-mapping cts/hostsidetests/jvmti/TEST_MAPPING\nBug: 134162467\n\nChange-Id: If8e36ea8d228253928cb9b9f6a35a284250641e9\n"
    },
    {
      "commit": "e8e544dc8909155560af0c7381df3833b2e7f701",
      "tree": "4b8aeefcbbd0fc5bea795194bacd6c0cf812f7d0",
      "parents": [
        "628f48871a9c7a1f18c2d5e1a76aa7afc716810d"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Mon Jan 22 21:20:09 2018 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 15 08:18:19 2020 +0000"
      },
      "message": "Revert \"Work around a art test script bug mixing up bootclasspaths.\"\n\nThis reverts commit 437b54c730ab306208af5aa035b85c294d090024.\n\nReason for revert: This workaround should no longer be needed after CLs [1-2].\n\nBug: 70521453\nTest: art/test/testrunner/run_build_test_target.py -j40 art-interpreter\n\n[1] https://android-review.googlesource.com/c/platform/build/+/573902\n[2] https://android-review.googlesource.com/c/platform/build/soong/+/578623\n\nChange-Id: I09276cc5c2aae01dcd4a288881510d09ec144985\n"
    },
    {
      "commit": "628f48871a9c7a1f18c2d5e1a76aa7afc716810d",
      "tree": "5fb203100260313a76748c8b0ef9ff91b549a725",
      "parents": [
        "9406c43b2de9b94b6d70f82474840eccd7699dc7"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Jan 10 17:36:14 2020 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Jan 14 22:16:55 2020 +0000"
      },
      "message": "Remove the LogId parameter from libbase\u0027s LogMessage\n\nThis isn\u0027t used by anyone and shouldn\u0027t have existed in the first\nplace, so it\u0027s being removed.\n\nTest: build\nChange-Id: Ifb0a1180a176291085cab01fd8e267184ea23cf1\n"
    },
    {
      "commit": "9406c43b2de9b94b6d70f82474840eccd7699dc7",
      "tree": "5bc44e726bf2a8d0a6e37279056c3f226154afc6",
      "parents": [
        "08d064fb6d02006730710a683e84a4cc54229c67"
      ],
      "author": {
        "name": "Andrei-Valentin Onea",
        "email": "andreionea@google.com",
        "time": "Tue Jan 14 15:40:09 2020 +0000"
      },
      "committer": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Tue Jan 14 21:37:43 2020 +0000"
      },
      "message": "Revert \"Harden hidden api checks.\"\n\nRevert submission 1203343-hidden-api-check-hardening\n\nReason for revert: art-asan target failure\nReverted Changes:\nI5af9f79f5: Add change id for hidden api check hardening\nIfc8d39ba2: Harden hidden api checks.\n\nChange-Id: Ifb824ff00cb78f03cd388c56dd7411f5c51bb531\n"
    },
    {
      "commit": "08d064fb6d02006730710a683e84a4cc54229c67",
      "tree": "09143e348daab9d79a5a2c9f4b0303f86f0ab294",
      "parents": [
        "3bf51634271a5cb25eadc3ffc092233663253a41"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Jan 14 15:07:52 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Jan 14 20:40:06 2020 +0000"
      },
      "message": "Exclude libperfetto_hprof library from golem tarball\n\nThe presence of this library initializes a plugin which slows the\ninitialization of the runtime and means many benchmarks fail to\nachieve expected CPU utilization (and are subsequently rejected as\ninvalid).\n\nBug: 129332183\nBug: 147577567\n\nTest: Run golem benchmarks on 32-bit ARM SBC with and without library\n      in out/ directory.\n\nChange-Id: I186ab0519c52e91861f2700fb2f21cc8e0d2b913\n"
    },
    {
      "commit": "3bf51634271a5cb25eadc3ffc092233663253a41",
      "tree": "e96e45d7ace51f97468ecdac21f754c59eee4ce1",
      "parents": [
        "135b5c8fe69b27c5059a9f042c394a9d438c9788"
      ],
      "author": {
        "name": "Andrei Onea",
        "email": "andreionea@google.com",
        "time": "Wed Jan 08 16:55:56 2020 +0000"
      },
      "committer": {
        "name": "Andrei-Valentin Onea",
        "email": "andreionea@google.com",
        "time": "Tue Jan 14 14:04:46 2020 +0000"
      },
      "message": "Harden hidden api checks.\n\nAlso walk past j.l.r in stackwalk for Hidden API.\n\nBug: 142365358\nTest: art/test/testrunner/testrunner.py --target --64 -t674-hiddenapi\nChange-Id: Ifc8d39ba23808216bbb8dd21e3262d330f2c87f1\n"
    },
    {
      "commit": "135b5c8fe69b27c5059a9f042c394a9d438c9788",
      "tree": "219f60abe61d1eabec640550b9d62a97ac8901ac",
      "parents": [
        "786e1fe445821345ae895dac60a4dc7369dab522"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 08 14:23:55 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 14 09:12:09 2020 +0000"
      },
      "message": "Address checker tests around inline cache and the baseline compiler.\n\nI failed to repro b/147094528 locally, but there are known two sources\nof inline cache noises introduced by the baseline compiler:\n- ensureJitCompiled doesn\u0027t ensure the method is compile \u0027optimized\u0027.\n  That\u0027s what the tests expect.\n- when the GC is marking, we can potentially create duplicate entries of\n  the same class in the inline cache.\n\nBug: 147094528\nTest: test.py\nChange-Id: I5cd6e5874b2c7b3273a9f4c8cb0fca59263da034\n"
    },
    {
      "commit": "786e1fe445821345ae895dac60a4dc7369dab522",
      "tree": "58c29d0845f9cfd29007c681114ce057b5df5471",
      "parents": [
        "c4bf6679e14a54fde5bc7a994f0f1d4e4564fa23"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 13 15:17:07 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 14 09:11:52 2020 +0000"
      },
      "message": "invoke-super can also have implicit null checks.\n\nTest: 724-invoke-super-npe\nBug: 147364466\nChange-Id: I408e3bb5f84ee6b4d7a1cad149c8ccca8b35f1fa\n"
    },
    {
      "commit": "c4bf6679e14a54fde5bc7a994f0f1d4e4564fa23",
      "tree": "84b91c9be72c197d1692d5daa091cd8842833fe6",
      "parents": [
        "4681f2034034435d47eb0b5ef03bde69a1e4dde6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jan 13 13:07:16 2020 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jan 13 13:14:00 2020 -0800"
      },
      "message": "Use ResetTlab instead of setting to null\n\nAdded a function ResetTlab to reset the TLAB to empty. This is\nin case the empty TLAB doesn\u0027t have null values.\n\nBug: 139805154\nTest: make\nChange-Id: Ife2225fc534999e53f2ecad41fc29e46c90a8817\n"
    },
    {
      "commit": "4681f2034034435d47eb0b5ef03bde69a1e4dde6",
      "tree": "c12cb99d4255c16357328429eead1472fe6b60ba",
      "parents": [
        "baf938f331eac62d28a215c065e56bfc9e38a3e2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jan 10 09:27:57 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 13 18:37:35 2020 +0000"
      },
      "message": "Don\u0027t run AllTraces in test 911 on CTS\n\nAllTraces will (among other things) list every thread currently\nrunning. Unfortunately this means it breaks every time anyone adds a\nnew thread to the app environment. This happens somewhat regularly so\ninstead of maintaining an every-growing list of ignored threads we\nwill instead just skip this bit of the test.\n\nTest: ./test.py --host\nTest: atest CtsJvmtiRunTest911HostTestCases\nBug: 147267774\nChange-Id: I5126dd266272b44dcd00013f9b867cd3fac2bf89\n"
    },
    {
      "commit": "baf938f331eac62d28a215c065e56bfc9e38a3e2",
      "tree": "96244514cba5f2643c9c5ebbb3a459bbdfa4bd6d",
      "parents": [
        "63a57935e28190b6cb8ba26f13fd158950acc097"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jan 10 10:40:46 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 13 18:33:33 2020 +0000"
      },
      "message": "Add even more sanity checks to ti_redefine.cc and skips\n\nAdd some additional sanity checks so its more obvious if b/147207934\noccurs on any other gcs. The issue is that VisitObjects was missing\nsome objects causing assumptions to be broken.\n\nAlso add blanket skips for all structural redefinition tests to CMS\nruns. Since VisitObjects is not reliable on CMS we cannot really use\nthe structural redefinition feature there.\n\nTest: ./test.py --host\nBug: 147207934\nChange-Id: I52aa4f3defb352e988f18b5ab494c9f3a028f0e2\n"
    },
    {
      "commit": "63a57935e28190b6cb8ba26f13fd158950acc097",
      "tree": "22cdafa9717a8f8d7f47ecd7e03b7391e1e92460",
      "parents": [
        "ca145948bfb516385e7b32124ee408708a586b6c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 10 14:12:26 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 13 15:32:09 2020 +0000"
      },
      "message": "nterp: Re-order where stack alignment happens in an nterp frame.\n\nBug: 112676029\nTest: test.py\nChange-Id: Ie84902723ef25802994f844b70173e21f3ac5def\n"
    },
    {
      "commit": "ca145948bfb516385e7b32124ee408708a586b6c",
      "tree": "28a6b3a73d4f594273688f3a65766bb3afa088d5",
      "parents": [
        "6ac057f2ce45a5e1c7c51d3c99bad52f6950469c"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Jan 13 10:47:44 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Jan 13 12:42:35 2020 +0000"
      },
      "message": "Disable 708-jit-cache-churn for all gcstress modes\n\nBug: 147358440\nTest: art/test.py --host --gcstress -v -r -t 708-jit-cache-churn\nChange-Id: I55eaf165cec83bc7cabab7aef1f7eccb534ff031\n"
    },
    {
      "commit": "6ac057f2ce45a5e1c7c51d3c99bad52f6950469c",
      "tree": "ea7c5e16bd739da6b0bbd9cd765b7483a36239ee",
      "parents": [
        "262871557cc40da5f26c7f2b7f3fed32ecf8d331"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Dec 04 17:04:16 2019 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Mon Jan 13 10:37:59 2020 +0000"
      },
      "message": "Use boot image extension in the JIT-zygote experiment.\n\nTest: temporarily enable JIT-zygote configuration, build, boot the\n  device and ensure that the JIT-zygote specific boot image\n  apex-framework.art is mapped in the zygote address space:\n\n  1. enable Jit zygote in the product device config (in my case\n    device/google/muskie/aosp_walleye.mk):\n\n    +# System server should not contain compiled code.\n    +PRODUCT_SYSTEM_SERVER_COMPILER_FILTER :\u003d verify\n    +\n    +# Use the apex image for preopting.\n    +DEXPREOPT_USE_APEX_IMAGE :\u003d true\n    +\n    +# Have the runtime pick up the apex image.\n    +PRODUCT_PROPERTY_OVERRIDES +\u003d \\\n    +    dalvik.vm.boot-image\u003d/apex/com.android.art/javalib/apex.art:/system/framework/apex-framework.art\n\n  2. lunch aosp_walleye-userdebug \\\n    \u0026\u0026 m \\\n    \u0026\u0026 adb reboot bootloader \\\n    \u0026\u0026 fastboot flashall -w\n\n  3. adb shell cat /proc/`adb shell ps | grep zygote64 | awk {\u0027print $2\u0027}`/maps | grep apex-framework.art\n  6fe44000-7025c000 rw-p 00000000 fc:02 1179718                            /data/dalvik-cache/arm64/apex@com.android.art@javalib@apex-framework.art\n  70571000-70696000 rw-p 0072d000 fc:02 1179718                            /data/dalvik-cache/arm64/apex@com.android.art@javalib@apex-framework.art\n  75a339f000-75a33ac000 r--p 00852000 fc:02 1179718                        /data/dalvik-cache/arm64/apex@com.android.art@javalib@apex-framework.art\n\nChange-Id: Ic35bc4d4d472013c2b28f48e030e5c101eba5670\n"
    },
    {
      "commit": "262871557cc40da5f26c7f2b7f3fed32ecf8d331",
      "tree": "3b65a6495b69f73293294152c820afad94a69190",
      "parents": [
        "a599252cf8290d6f02bb83dcee5b71dd7f00f6a7"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Jan 10 16:01:19 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 13 10:30:26 2020 +0000"
      },
      "message": "Remove incorrect const qualification on ArrayIter::operator++.\n\nThe object is modified by the line \"idx_++;\" which newer clangs complain\nabout.\n\nBug: 145916209\nChange-Id: I7a2b1d614f0bd5a46c2ef1f221cb1cae80ab66a5\n"
    },
    {
      "commit": "a599252cf8290d6f02bb83dcee5b71dd7f00f6a7",
      "tree": "1db3448a38e9a7dde8a87c89b3d298f1a2513438",
      "parents": [
        "c4f6cf3652f46514b716700adada1b2a8b2803d3"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Jan 07 16:55:09 2020 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 13 00:31:56 2020 +0000"
      },
      "message": "Replaced the hard coded art test names with the auto-generated ones\n\nBug: 146995717\nTest: run-gtests.sh\nChange-Id: I360f37d5d181dc21202f820bf717439ed4a2916b\n"
    },
    {
      "commit": "c4f6cf3652f46514b716700adada1b2a8b2803d3",
      "tree": "4f2768c06ba3f0983e2510c95a128cd16fe79be3",
      "parents": [
        "a63b419a3a34ae6af628bc9b8cfeac17a7edf0e8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 10 09:29:01 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 10 14:10:25 2020 +0000"
      },
      "message": "nterp: fix braino in NTERP_TRAMPOLINE macro.\n\nBug: 112676029\nTest: test.py\nChange-Id: I13325261fbfc9c97a6a48dcbbeb3f7baf89282b2\n"
    },
    {
      "commit": "a63b419a3a34ae6af628bc9b8cfeac17a7edf0e8",
      "tree": "5248bc7cb6078e2fab4fec5bccd85dfff6971e44",
      "parents": [
        "cdf2d7e5fa9750651fa6be5a669dd9d8a52fda40"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jan 10 09:35:10 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jan 10 10:02:02 2020 +0000"
      },
      "message": "Disable 708-jit-cache-churn for gcstress + jit-on-first-use\n\nBug: 147358440\nTest: art/test.py --host --gcstress --jit-on-first-use -r -t 708-jit-cache-churn\nTest: art/test.py --host --jit-on-first-use -r -t 708-jit-cache-churn\nChange-Id: Ia00cec90c9133f85671183ef84b1775c8c570e92\n"
    },
    {
      "commit": "cdf2d7e5fa9750651fa6be5a669dd9d8a52fda40",
      "tree": "931caf5cc29426b4a8a93bf4b033d9e8a950e9ee",
      "parents": [
        "f1ede367e60f703cc4426f11e698f4016b7d6112"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 09 14:28:13 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 10 09:21:40 2020 +0000"
      },
      "message": "nterp: Change the jump destination when there is no parameter.\n\nWe were accidentally jumping to setting up fp parameters.\n\nTest: test.py\nBug: 112676029\nChange-Id: I4e56b4b96d1839915748b88aff4ce7bbc34ae0b4\n"
    },
    {
      "commit": "f1ede367e60f703cc4426f11e698f4016b7d6112",
      "tree": "ee7461c0f375dd2ef0efbda8b7c2e072dbdc7bb0",
      "parents": [
        "3f4041b42078e02002e3d297a5ddd056444d2221"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 09 11:00:11 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 10 08:44:44 2020 +0000"
      },
      "message": "Use HashSet for test 2005\n\nTest 2005 would sometimes fail due to all test threads filling up\ntheir results array before suspension occurs. This can cause the test\nto fail as it\u0027s an error to call SuspendThreadList without any\nthreads. To fix this we change the results list to a HashSet and no\nlonger have to worry about it filling up.\n\nTest: ./test.py --host\nBug: 147407925\nChange-Id: I8a5830e8f204993d674962ebb53092faacb651ed\n"
    },
    {
      "commit": "3f4041b42078e02002e3d297a5ddd056444d2221",
      "tree": "8bda6ec6a29b5029c0dd3460297dd326b6931bc3",
      "parents": [
        "8e7ab70070c40df682345125045d1c44bac8d626"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 09 12:59:22 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 10 07:10:36 2020 +0000"
      },
      "message": "Add more logging around array sanity checks\n\nWe are getting odd failures due to CHECK failures. Add more logging\nat the failure points to try to get an idea of what is going on.\n\nTest: ./test.py --host\nBug: 147207934\nChange-Id: Icd006ca10908a0e800821a4352d29b6e722473a6\n"
    },
    {
      "commit": "8e7ab70070c40df682345125045d1c44bac8d626",
      "tree": "b21563dd141e4524a18688aac1fbcbddfe6ea675",
      "parents": [
        "a3f8129f53394d315618e5c185e95fb8c9d2e28b"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 09 13:09:46 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 10 07:08:26 2020 +0000"
      },
      "message": "Remove extra shift in --create-runner handler in run-test\n\nrun-test --create-runner would eat an argument due to an extra shift.\nRemove this shift.\n\nTest: ./test/run-test --create-runner --jit --host 001-HelloWorld\n      examine output.\n\nChange-Id: Id8676fc90aa841d130437174e5958f29b9062311\n"
    },
    {
      "commit": "a3f8129f53394d315618e5c185e95fb8c9d2e28b",
      "tree": "4fde2a3eedadc2598c501e058a7b88e8feb47444",
      "parents": [
        "4d804b8eb891aeef0cd9a3e29c65cc31355b2a69"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 08 16:02:46 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 10 04:27:14 2020 +0000"
      },
      "message": "Make StartDebugger the last thing in InitNonZygoteOrPostFork again\n\nStartDebugger should be the last thing in InitNonZygoteOrPostFork\nsince it is allowed to either suspend until there is a debugger\nconnection or allow concurrent debugger actions to start taking place.\nDoing any initialization after it\u0027s called is therefor dangerous.\n\nTest: adb forward tcp:12345 jdwp:`adb shell pidof com.antonioleiva.bandhookkotlin`\n      jdb -attach localhost:12345\n\nChange-Id: I4d435a3d48fcbb01054d7b551d713de851077489\n"
    },
    {
      "commit": "4d804b8eb891aeef0cd9a3e29c65cc31355b2a69",
      "tree": "b0c56a9e8d11a2980d0505e2b387dd74bca5f7c8",
      "parents": [
        "b86e9b0b63f4fbcc80859ff2637f86ee3ddc374c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 17 16:39:34 2019 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 10 04:08:49 2020 +0000"
      },
      "message": "Improve parallel_run.py somewhat\n\nMake parallel_run just wait for any remaining jobs to finish before\nexiting. Attempting to exit early generally didn\u0027t work very well.\n\nAlso improve documentation a bit.\n\nTest: ./art/tools/parallel_run.py -j80 runit.sh\nChange-Id: Ie8b3f1b4ad9bbc03a04e6bdc8e8cea6140b85f7f\n"
    },
    {
      "commit": "b86e9b0b63f4fbcc80859ff2637f86ee3ddc374c",
      "tree": "197926197a553fe436fa098d9edbae9c739e28bb",
      "parents": [
        "81ba7db6eb468598e5b17b7d8480e00d8245f9c2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jan 08 16:43:17 2020 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jan 09 16:55:26 2020 +0000"
      },
      "message": "Close fd if polling thread is disabled\n\nLeaving it open causes problems with the webview zygote fd\nsanitization.\n\nTest: launch gmail and verify it doesn\u0027t crash\nBug: 147381929\nBug: 139883463\nChange-Id: I0b5d45a730a7da21e04284515645d0eac3e20b66\n"
    },
    {
      "commit": "81ba7db6eb468598e5b17b7d8480e00d8245f9c2",
      "tree": "07216d023b38430a0e2d1ff63618ee14d7016686",
      "parents": [
        "e89ffaba24906357f3d4ba19cc45c0ead6226153"
      ],
      "author": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Dec 18 17:33:07 2019 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Jan 09 13:20:34 2020 +0000"
      },
      "message": "Revert^2 \"Use framework boot image extension.\"\n\nThis reverts commit 42b9c19772542457701d5efea26aae4449dec8c7.\nReason: re-applying the change after resolving the problem with\ncoverage builds (in a related CL).\n\nUse boot image extension for framework libraries.\nThis patch splits the system boot image in two parts:\n\n  - The ART boot image. This is the primary boot image that is\n    included in the ART apex and contains dexpreopted Core Libraries.\n\n  - The framwework boot image extension. It depends on the ART boot\n    image and contains framework libraries.\n\nThe third \"apex\" boot image (used in the JIT-zygote experiment)\nremains unchanged; it is a monolithic primary boot image that\ncontains both libcore and framework libraries.\n\nDexpreopting of APKs now uses the framework boot image extension\n(which in turn pulls in the ART boot image as a dependency).\n\nBug: 146462581\nBug: 119800099\n\nTest: aosp_walleye-userdebug boots.\n\nChange-Id: I137a2062d96b4329d7ebdd9f4236804e61ba3d02\n"
    },
    {
      "commit": "e89ffaba24906357f3d4ba19cc45c0ead6226153",
      "tree": "c0739b0f85035e0775185a5fe85d073f18ea0a64",
      "parents": [
        "163652e59b452d10ab7d282024d11de7b5796a26"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jan 08 18:36:44 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jan 09 09:48:41 2020 +0000"
      },
      "message": "Additional work on packaging the go/lem tarball\n\nDelete existing symlinks if they\u0027re going to be copied\nover (necessary for dex2oat).\n\nUpdate flags to cp to preserve relative symlink. This is necessary for\ndalvikvm since ART script determines whether to use a library path for\n32-bit or a 64-bit based on the target name of the dalvikvm symlink.\n\nAdd dexdump to programs copied to system/bin to trigger test run on\ngo/lem which does not otherwise detect this CL as changing the build.\n\nBug: 129332183\nTest: Manual inspection of tarball for 32-bit and 64-bit.\nTest: Extract tarballs check symlinks valid with symlinks(8).\nTest: Check ability to run a sample of golem benchmarks on a local\n      32-bit test device.\nTest: Trial of CL on go/lem.\n\nChange-Id: I24819a36bc7f0370c3778236b5e7f7308f3b48d8\n"
    },
    {
      "commit": "163652e59b452d10ab7d282024d11de7b5796a26",
      "tree": "1c7c3f8c4c1a33e5bc1baea2ed32fde9202decdc",
      "parents": [
        "14d1307c1b9f4a9e32665100dde5f1454ec197a7"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 08 15:18:25 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 09 00:55:08 2020 +0000"
      },
      "message": "Fix redefinition causing corrupt j.l.r.Field objects\n\nDuring (non-structural) redefinition we change the dex-field-indexs of\nall the ArtField\u0027s of the class being redefined. These ids are used by\nthe java/lang/reflect/Field class to avoid having to store a pointer\nto the ArtField. This meant that when a class was redefined any\nexisting j.l.r.Field objects pointing to its fields are rendered\ninvalid, due to the dex_field_index no longer being present on the\nclass.\n\nTo fix this we simply walk the heap during class redefinition and\nupdate any j.l.r.Field objects of the redefined class that we find.\n\nTest: ./test.py --host\nBug: 147310999\nBug: 147338896\nChange-Id: I3b038b4e669f8b7b4e804238248b4d03780ce2ca\n"
    },
    {
      "commit": "14d1307c1b9f4a9e32665100dde5f1454ec197a7",
      "tree": "56f49816a8179262f17b3a414ad59fa8f953dc0e",
      "parents": [
        "a18f5aeaecf9088f1ba1c43e7577dc149f85673f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jan 08 17:57:39 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jan 08 18:25:20 2020 +0000"
      },
      "message": "Disable test cases `AssemblerMIPS{32r6,64}Test.Toolchain` in ART gtest.\n\nThese test cases rely on `gcc` (used as reference assembler), which is\nbeing removed from Android (b/147240075). This does not affect other\ntest cases in `assembler_mips32r6_test` and `assembler_mips64_test`,\nas verification against the reference assembler had already been\ndisabled for speed reasons (b/73903608).\n\nTest: m test-art-host-gtest-assembler_mips32r6_test\nTest: m test-art-host-gtest-assembler_mips64_test\nBug: 147240075\nBug: 147336214\nBug: 147346243\nChange-Id: I99edd834c5e3ca626b36b6cbfecfb551f01e8640\n"
    },
    {
      "commit": "a18f5aeaecf9088f1ba1c43e7577dc149f85673f",
      "tree": "88a98d98edab2c83821a8df17768788245c039a1",
      "parents": [
        "7ee34a1eeba20c1b438f7bcad75adba65dd2a840"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 13 12:53:39 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jan 08 14:50:06 2020 +0000"
      },
      "message": "Fix StringBuilder append assumptions.\n\nDo not rely on use ordering, it can be different because of\nSimplifyReturnThis(); just use HBackwardInstructionIterator.\nInstead of checking that we find a StringBuilder.toString(),\ncheck that it is the invoke we\u0027re trying to simplify.\n\nAdd regression test 699-checker-string-append2.\n\nTest: testrunner.py --host --jvm -t 699-checker-string-append2\nBug: 19575890\nBug: 146014745\nChange-Id: I7b16f376c16ba5a4107e9718e0acf17d82280f54\n"
    },
    {
      "commit": "7ee34a1eeba20c1b438f7bcad75adba65dd2a840",
      "tree": "dc8988724cf4fc414e366c78ad62f5a05366eecb",
      "parents": [
        "7b0df59ff262975916ca9245b4c5092105d971bf"
      ],
      "author": {
        "name": "Evgeny Astigeevich",
        "email": "evgeny.astigeevich@linaro.org",
        "time": "Tue Dec 10 11:36:33 2019 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jan 08 14:43:19 2020 +0000"
      },
      "message": "Add OptimizingUnitTestHelper::GraphChecker methods\n\nGraphChecker should be always used in gtests where it is possible.\nCurrently only ImprovedOptimizingUnitTest allows unit tests to use\nGraphChecker. Unit tests based on OptimizingUnitTest cannot use this\nfunctionality.\n\nAnother issue is that GraphChecker has reference type information\nchecks which unit tests cannot satisfy.\n\nThe CL resolves the issues by:\n* Adding a public GraphChecker::SetRefTypeInfoCheckEnabled.\n* Adding a private OptimizingUnitTestHelper::CheckGraph(HGraph* graph,\nbool check_ref_type_info).\n* Adding a public OptimizingUnitTestHelper::CheckGraph(graph) to perform\nall checks.\n* Adding a public\nOptimizingUnitTestHelper::CheckGraphSkipRefTypeInfoChecks(graph) to\nperform all checks but reference type information checks.\n* Updating ImprovedOptimizingUnitTest::CheckGraph to use\nOptimizingUnitTestHelper::CheckGraph.\n\nTo demonstrate how the new API can be used, unit tests for the\nLoad-Store-Analysis pass are updated.\n\nTest: test.py --host --optimizing --jit --gtest\nTest: test.py --target --optimizing --jit\nTest: run-gtests.sh\nChange-Id: I7ca0983e66d9904073f0d711b3de96cccfe42746\n"
    },
    {
      "commit": "7b0df59ff262975916ca9245b4c5092105d971bf",
      "tree": "f3551b2cc72754270991dab8f8f581e3b5d78e40",
      "parents": [
        "2f4942879da18c9789800878b0e5eb87fbedb7b0"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Jan 03 13:29:00 2020 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Jan 08 10:58:21 2020 +0000"
      },
      "message": "Include jacoco in the ART boot image if EMMA_INSTRUMENT_FRAMEWORK\u003dtrue.\n\nTest: aosp_walleye-userdebug boots.\n\nTest: Coverage build boots:\n  $ lunch aosp_walleye-userdebug\n  $ cd $ANDROID_BUILD_TOP\n  $ build/soong/soong_ui.bash --make-mode droid \\\n    SKIP_ABI_CHECKS\u003dtrue \\\n    TARGET_PRODUCT\u003daosp_walleye \\\n    TARGET_BUILD_VARIANT\u003duserdebug \\\n    EMMA_INSTRUMENT\u003dtrue \\\n    NATIVE_COVERAGE\u003dtrue\n  $ adb reboot bootloader \u0026\u0026 fastboot flashall -w\n\nTest: Coverage build with framework coverage boots:\n  $ lunch aosp_walleye-userdebug\n  $ cd $ANDROID_BUILD_TOP\n  $ build/soong/soong_ui.bash --make-mode droid \\\n    SKIP_ABI_CHECKS\u003dtrue \\\n    TARGET_PRODUCT\u003daosp_walleye \\\n    TARGET_BUILD_VARIANT\u003duserdebug \\\n    EMMA_INSTRUMENT\u003dtrue \\\n    EMMA_INSTRUMENT_FRAMEWORK\u003dtrue \\\n    NATIVE_COVERAGE\u003dtrue\n  $ adb reboot bootloader \u0026\u0026 fastboot flashall -w\n\nTest: Static coverage build with framework coverage boots:\n  $ lunch aosp_walleye-userdebug\n  $ cd $ANDROID_BUILD_TOP\n  $ build/soong/soong_ui.bash --make-mode droid \\\n    SKIP_ABI_CHECKS\u003dtrue \\\n    TARGET_PRODUCT\u003daosp_walleye \\\n    TARGET_BUILD_VARIANT\u003duserdebug \\\n    EMMA_INSTRUMENT\u003dtrue \\\n    EMMA_INSTRUMENT_FRAMEWORK\u003dtrue \\\n    EMMA_INSTRUMENT_STATIC\u003dtrue \\\n    NATIVE_COVERAGE\u003dtrue\n  $ adb reboot bootloader \u0026\u0026 fastboot flashall -w\n\nChange-Id: I24928977e2d48cabca680ab3f0652230ae42dac3\n"
    },
    {
      "commit": "2f4942879da18c9789800878b0e5eb87fbedb7b0",
      "tree": "b14968d70ac2f623f980207b4afad64806470994",
      "parents": [
        "0b1afb7c63d99c88f90f17770ad94ccb0b0c57d3"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jan 07 22:53:09 2020 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jan 07 17:31:43 2020 -0800"
      },
      "message": "Revert^2 \"Remove finalizable restriction on structural redefinition\"\n\nThis reverts commit 0b1afb7c63d99c88f90f17770ad94ccb0b0c57d3.\n\nDaemon shutdown is known to be somewhat flaky. That seems to be the\ncause of this failure.\n\nReason for revert: Removed Daemon threads from tests 2006 \u0026 2007.\nBug: 134162467\nTest: % ./art/test/run-test --create-runner --host --prebuild --compact-dex-level fast --jit --no-relocate --runtime-option -Xcheck:jni --debuggable --runtime-option -Xopaque-jni-ids:true --64 2007\n      ...\n      Runnable test script written to /tmp/allight/test-230585/runit.sh\n      ...\n      % ./art/tools/parallel_run.py -j80 /tmp/allight/test-230585/runit.sh --out failure.txt\nTest: ./art/test/run-test --create-runner --host --prebuild --compact-dex-level fast --jit --no-relocate --runtime-option -Xcheck:jni --debuggable --runtime-option -Xopaque-jni-ids:true --64 2006\n\nChange-Id: I392a2936995dd05b08feea36f11b616c1548ae46\n"
    },
    {
      "commit": "0b1afb7c63d99c88f90f17770ad94ccb0b0c57d3",
      "tree": "92e88de49a2e79c2a00ce8990e412febc81e5318",
      "parents": [
        "93be70effba70b78596fc4bda6b583615c3b6d0c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jan 07 22:51:03 2020 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jan 07 22:51:55 2020 +0000"
      },
      "message": "Revert \"Remove finalizable restriction on structural redefinition\"\n\nThis reverts commit 55d6fa4c352a1fadbd21b8d8e0929833e547b9e5.\n\nBug: 134162467\nTest: None, pure revert.\nReason for revert: Flaky segvs across multiple configurations.\n\nChange-Id: Iaa8ec6cbd2eee141e271cd3a56a1b6be8bbb3a7c\n"
    },
    {
      "commit": "93be70effba70b78596fc4bda6b583615c3b6d0c",
      "tree": "da679b13dee39a03f4854c53c0edcff4dddea0e9",
      "parents": [
        "55d6fa4c352a1fadbd21b8d8e0929833e547b9e5"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jan 07 17:05:42 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 07 19:55:17 2020 +0000"
      },
      "message": "Revert^2 \"Make tests 1995, 2001, \u0026 2005 less likely to OOME.\"\n\nTest 2005 works by starting a bunch of threads, collecting all threads\nusing the thread-group, suspending them and then performing\nredefinition work. Unfortunately due to the API there is a race\nbetween figuring out how many threads their are and getting them with\nenumerate. In cases where enumerate is called with a larger array then\nneeded, due to some threads finishing (\u0027run\u0027 returning) the enumerate\ndoesn\u0027t fill in some of the array. This meant we called\nSuspendThreadList with \u0027null\u0027, which is interpreted as meaning the\ncurrent thread. This leads to a deadlock.\n\nThis reverts commit 01a09bfd3839401c32d537b9a03b7991c4ffd20c.\n\nBug: 147190668\nBug: 147278184\nTest: ./test.py --host\n\nReason for revert: Fixed issue causing occasional deadlock in test\n                   2005\n\nChange-Id: I01fb9f38c4516730821106ac291836eb61534a73\n"
    },
    {
      "commit": "55d6fa4c352a1fadbd21b8d8e0929833e547b9e5",
      "tree": "2f84bbe0ee1129aa754a30603269e34656b30f07",
      "parents": [
        "65c18a21e7cb0d48327788df498f15ae195e9e3c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Dec 20 12:58:14 2019 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 07 19:43:10 2020 +0000"
      },
      "message": "Remove finalizable restriction on structural redefinition\n\nPreviously we restricted performing structural redefinition of classes\nwith finalizers. We did this because we need to be careful that\nfinalizers are not run on any obsolete objects and are run on the\nreplaced objects. This fixes these issues and removes the restriction.\n\nNote that the objects of classes that were initially non-finalizable\nand then redefined to be finalize able will never be called. This is\n(technically) compliant with the spec and avoids issues around safely\ncreating finalizer references. See comment in ti_redefine.cc for more\ninformation.\n\nTest: ./test.py --host\nBug: 134162467\nChange-Id: I51d4de3d15833dce989cd1e44c32b0e6a57f063a\n"
    },
    {
      "commit": "65c18a21e7cb0d48327788df498f15ae195e9e3c",
      "tree": "ba49c1f07e7cd2bc6d9ffbafc184bcad85e9ce45",
      "parents": [
        "c4d13ae39ec6f4b6b76b152818516081beb6bb56"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Jan 03 23:37:13 2020 +0000"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Jan 07 17:40:19 2020 +0000"
      },
      "message": "Revert^4 \"Add spin loop to mutex, overhaul monitor\"\n\nThis reverts commit ead89ef62768faa06fedd279b86bccbed1464673.\n\nPS1 is identical to Revert^2.\n\nThis fixes a shutdown issue caused by prematurely hanging when we\nblock while trying to acquire system mutexes during shutdown.\n\nOnly refuse to wake up after shutdown is well under way.\n\nBug: 140590186\nBug: 121302864\nTest: Build and boot AOSP.\nTest: art/test/testrunner/testrunner.py --host -b -t 1932-monitor-events-misc\nTest: art/test/testrunner/testrunner.py --host -b -t 004-ThreadStress\nTest: art/test/testrunner/testrunner.py --host -b -t 132-daemon-locks-shutdown\nTest: 132-daemon-locks-shutdown repeated with increased thread counts and multiple\nconcurrent tests.\n\nChange-Id: Ic19d32652a2a05c1ca843b3e9c6e29e6770262da\n"
    },
    {
      "commit": "c4d13ae39ec6f4b6b76b152818516081beb6bb56",
      "tree": "1d6ab92440c8aec304da84d3278c323a0357f05e",
      "parents": [
        "01a09bfd3839401c32d537b9a03b7991c4ffd20c"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Jan 07 12:46:25 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Jan 07 15:44:03 2020 +0000"
      },
      "message": "Revise generation of go/lem benchmarking tarball\n\nSince apex_available change we need to copy libraries explicitly from\nAPEX to system/{lib,lib64}.\n\nBuild the Conscrypt APEX too in case any tests depend on crypto.\n\nBug: 129332183\nTest: Build golem tarball and run ArrayListStress on 32-bit ARM\n      dev board.\n\nChange-Id: I310ecd98da9530f653e8c7d0c8368ba2e08f33ff\n"
    },
    {
      "commit": "01a09bfd3839401c32d537b9a03b7991c4ffd20c",
      "tree": "c338d3d3e1e380681abbb0d345f87b5f14f0b53d",
      "parents": [
        "3cf233bf7ec0ce2ee1b714257dfcbd77dcb5cb0f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 07 14:29:22 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 07 14:29:38 2020 +0000"
      },
      "message": "Revert \"Make tests 1995, 2001, \u0026 2005 less likely to OOME.\"\n\nThis reverts commit 455bb387134bda286799ed727d4b33762ef1d5b1.\n\nBug: 147190668\nBug: 147278184\n\nReason for revert: b/147278184\n\nChange-Id: I2f81641ed3c69825207f425036e47f37c0eed687\n"
    },
    {
      "commit": "3cf233bf7ec0ce2ee1b714257dfcbd77dcb5cb0f",
      "tree": "54356fc83e9c2ee22f7e2facf44d4ff9dcdf8a28",
      "parents": [
        "3369591b99778eb0628e6008c2684578d4e62c0c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 17 16:58:53 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 07 14:03:43 2020 +0000"
      },
      "message": "Remove superfluous(?) DCHECK.\n\nIf we don\u0027t have dex files, we have warnings telling the user:\ndex2oat W 01-07 13:00:57 72639 72639 dex2oat.cc:2497] Skipping non-existent dex file \u0027foo.dex\u0027\n\nTest: test.py\nChange-Id: I1b9185e5cd47f1ccbafc2ddd75d92d31b385845a\n"
    },
    {
      "commit": "3369591b99778eb0628e6008c2684578d4e62c0c",
      "tree": "2ccf57c566323e99c8583cf2742a1737fe8b1e5a",
      "parents": [
        "455bb387134bda286799ed727d4b33762ef1d5b1"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Jan 07 00:04:41 2020 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Jan 07 12:37:05 2020 +0000"
      },
      "message": "Remove DEX2OAT_DEPENDENCY which is the same as DEX2OAT.\n\nSmall cleanup to simplify the move of it into Soong.\n\nTest: presubmits\nBug: 145934348\nChange-Id: Ib60642168c8b27de9817539381177b8ee0c49f7c\n"
    },
    {
      "commit": "455bb387134bda286799ed727d4b33762ef1d5b1",
      "tree": "15ebdabc63d2cb82cd19a02c3b30127ad98e7941",
      "parents": [
        "467defb0519f45bf4274f9321d826ae8544b9874"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jan 06 14:07:26 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 07 09:56:27 2020 +0000"
      },
      "message": "Make tests 1995, 2001, \u0026 2005 less likely to OOME.\n\nIn some situations when run on a severly overloaded machine tests\n1995, 2001 and 2005 could fail due to OOMEs being thrown. Limit the\namount of memory the tests will use to prevent this from happening.\n\nTest: ./test.py --host\nBug: 147190668\nChange-Id: Ic5ea4405d6638c110456c3119b37c29d6f658bf7\n"
    },
    {
      "commit": "467defb0519f45bf4274f9321d826ae8544b9874",
      "tree": "ca9f61e448f5ab76d281136c2e706b48df2839e4",
      "parents": [
        "3db26d596bdc969b6d0e8646ac0ab64346b7ee21"
      ],
      "author": {
        "name": "Dan Zimmerman",
        "email": "danzimm@fb.com",
        "time": "Thu Dec 26 12:39:23 2019 -0800"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 07 09:48:14 2020 +0000"
      },
      "message": "[art] Format runtime/Android.bp\n\nThe hook scripts are failing on bpfmt in art because of a formatting\nissue, this fixes the formatting issue\n\nTest: bpfmt -d runtime/Android.bp\nChange-Id: If3620a73639db0ef5e6379ad3e431dd2780b34b5\n"
    },
    {
      "commit": "3db26d596bdc969b6d0e8646ac0ab64346b7ee21",
      "tree": "386588c223eebaeb3de168640ce2b63e299c1ae5",
      "parents": [
        "3a6ef94d9e756449c490a535962760744e94f458"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Mon Dec 16 14:09:39 2019 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 07 04:55:22 2020 +0000"
      },
      "message": "Make product libs available to unbundled product apks.\n\nUnbundling product apps must be triggerred if the target is enforcing\nthe product interfaces. The device must have ro.product.vndk.version\nproperty if its product interface is enforced.\nUnbundled product apps can use product libraries.\n\nBug: 144534640\nBug: 127738095\nBug: 128557860\nTest: check boot and basic features\n\nChange-Id: I32b2a1bd3e4f62b6acdbfab6bd277ec1132478a2\n"
    },
    {
      "commit": "3a6ef94d9e756449c490a535962760744e94f458",
      "tree": "310a1d62711b51d34c41066e556996da07d4c107",
      "parents": [
        "0010172c7ff79a3af75669f1ff49d5f97e867746"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Dec 18 11:04:42 2019 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jan 06 18:31:18 2020 +0000"
      },
      "message": "Disable jitzygote polling thread\n\nDisable jitzygote polling thread until possible ANR issues are\nresolved.\n\nBug: 139883463\nBug: 145973776\nTest: adb shell setprop dalvik.vm.profilebootclasspath true\nTest: adb shell setprop dalvik.vm.profilesystemserver true\nTest: restart shell and verify no stability issues\n\nChange-Id: Ia688c9c1df9fb1cc2777063641fd86171bbb181d\n"
    },
    {
      "commit": "0010172c7ff79a3af75669f1ff49d5f97e867746",
      "tree": "63fa814d9a60635871174918abe4119c6cb3c11b",
      "parents": [
        "3a809c8e29c17c71d6ad01294b410c18b0cc9d54"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Dec 27 09:39:16 2019 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jan 06 18:20:00 2020 +0000"
      },
      "message": "Add extra detail to class status CHECK\n\nConvert class status to uint32_t since the CHECK prints chars by default.\n\nTest: make\nBug: 146550994\nChange-Id: Idd4fece569b88eed76594be2ff8d848e2fae686d\n"
    },
    {
      "commit": "3a809c8e29c17c71d6ad01294b410c18b0cc9d54",
      "tree": "087b9122f4c82a97e58530be8e18a268909d2709",
      "parents": [
        "ead89ef62768faa06fedd279b86bccbed1464673"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jan 03 14:53:14 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Jan 06 13:09:10 2020 +0000"
      },
      "message": "Temporarily fix libjavacrypto deps for ART buildbots\n\nlibjavacrypto.so is apex_available after commit 59e066f59 which implies\n\u0027m libjavacrypto\u0027 no longer builds libjavacrypto.so.\n\nThis temporary fix extends the buildbot-build.sh script to build the\nconscrypt apex and copy libjavacrypto.so (and it\u0027s dependencies) into\n/system/{lib,lib64}.\n\nBug: 147124225\nTest: art/tools/run-libcore-tests.sh --mode\u003ddevice -- libcore.dalvik.system\nChange-Id: I2dee3122fa312e63fd259f57c30cf20037b4dbc2\n"
    },
    {
      "commit": "ead89ef62768faa06fedd279b86bccbed1464673",
      "tree": "27e3bef919a0775f45c0dfc08b6a26d7688e8a98",
      "parents": [
        "8d94dddfd60ab8122b0abb1a0d90fb13d752a7b6"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Jan 03 21:37:10 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 03 22:50:59 2020 +0000"
      },
      "message": "Revert^3 \"Add spin loop to mutex, overhaul monitor\"\"\n\nThis reverts commit 3d52abe40e619497b1b59cfce92c74b5a417add5.\n\nReason for revert: Causes asan build timeout; Apparently the runtime\ngoes away while we\u0027re holding a system mutex. We now sleep forever\nwithout releasing it.\n\nBug: 140590186\nBug: 121302864\nChange-Id: I9e4dcaf820815c751aa803473809955451988ebd\n"
    },
    {
      "commit": "8d94dddfd60ab8122b0abb1a0d90fb13d752a7b6",
      "tree": "3c9195b1fd8a78ef3d112ed5b5663796946c9629",
      "parents": [
        "65a01a7a751f0ec8c0cbb5650c25724e1df93826"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 18 11:13:03 2019 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 03 22:11:47 2020 +0000"
      },
      "message": "Improve run-test tooling support\n\nA useful thing to do with run-test tests is to run them in parallel to\nreproduce low-probability flakes. We have a tool called\nparallel_run.py to do this. Unfortunately one had to manually create\nthe script that parallel_run.py would execute, making it rather\ndifficult to use. This adds a --create-runner flag to run-test that\nwill cause it to write a script (called $DEX_LOCATION/runit.sh) that\nis compatible with parallel_run.py\n\nTest: % ./test/run-test --host --64 --prebuild 001-HelloWorld\n      ...\n      Runnable test script written to /tmp/allight/test-180018/runit.sh\n      ...\n      % ./tools/parallel_run.py /tmp/allight/test-180018/runit.sh -j80\n\nChange-Id: I18d4ec72b51fb3c868ca4c6fe7f191e74f45b868\n"
    },
    {
      "commit": "65a01a7a751f0ec8c0cbb5650c25724e1df93826",
      "tree": "dbcb8fda4295ed6a99a53b5064193627fccb7a75",
      "parents": [
        "3d52abe40e619497b1b59cfce92c74b5a417add5"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Dec 30 14:07:03 2019 -0800"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Jan 03 21:40:59 2020 +0000"
      },
      "message": "Simplify access_flags_ updates\n\nSimplify the code. Probably also results in trivial performance\nimprovements.\n\nUse memory_order_relaxed consistently. Updates used stronger ordering,\nbut readers didn\u0027t, which made little sense.\n\nTest: Build AOSP and boot.\nChange-Id: I87fe8537b497dd79b8e674b10263ae6b017c9236\n"
    },
    {
      "commit": "3d52abe40e619497b1b59cfce92c74b5a417add5",
      "tree": "50c67eb9a980b1525f78e03d0941605bb9fa3887",
      "parents": [
        "eac38a141a95adc273059ba2f6ad26f073391ed3"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Nov 19 18:49:50 2019 +0000"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Jan 03 19:15:21 2020 +0000"
      },
      "message": "Revert^2 \"Add spin loop to mutex, overhaul monitor\"\n\nThis reverts commit d56f7d1086b16f32c0771a41a4afb376b5fd3076.\n\nReason for revert: PS2 fixes the problems I identified.\n\nPS1 is straight revert^2 of, and thus identical to aosp/1111800.\n\nPS2 in addition:\n- Reduces the size of the test, when not modified to run as benchmark.\n- Disables the test in slow-running configurations, which timed out.\n- Stops using the mutex recursion count, and instead reintroduces\n  one at the monitor level. The plan is to eliminate the one in mutex\n  in a future CL.\n- Avoids modifying various monitor fields in suspended state.\n  MonitorInfo, deflation, etc., may look at the state of a suspended\n  thread and expect not to race. I don\u0027t think the original code had\n  this completely correct either, but PS1 made it worse.\n- Documents some aspects of the code that confused me at times.\n- Avoids dereferencing the monitor owner Thread* unless it holds the\n  thread list lock, and thus knows that the thread won\u0027t go away.\n- Stores a Thread* instead of a thread_id with the monitor owner method\n  and dex pc information used for debugging. This is required to avoid\n  extra thread list lock acquisitions, since we need to dereference the\n  owner to get the thread id.\n- Makes the thread list Contains method public, again in order to\n  support the above. (This ignores C/C++ restrictions on dangling\n  pointer use. We already rely on violating those elsewhere, and\n  the committees are trying to get their story straight about this.)\n- Causes the spin loop to give up immediately if the process is\n  shutting down. This gets us to an actual idle state sooner in that\n  case, and should hopefully mitigate the shutdown issues somewhat.\n  (We tried not spinnning in \"suspended\" state, but that reintroduced\n  some performance issues.)\n- Makes runtime shutdown code more defensive. Clear fields pointing to\n  deallocated objects. Always wait for quiescence AFTER all threads\n  are suspended.\n- Consistently checks for a runtime that\u0027s shutting down or missing\n  after waking up from a futex wait, thus avoiding touching deallocated\n  memory. I believe this was the cause of b/121302864, which PS1\n  managed to aggravate.\n- SleepForever() was a very light sleeper, waking up once a second.\n  Fix that, so the daemon threads we leak on runtime shutdown cost\n  us less.\n- Remove a data race from the \"was the runtime deleted\" logic.\n\nBug: 140590186\nBug: 121302864\nTest: Build and boot AOSP.\nTest: art/test/testrunner/testrunner.py --host -b -t 1932-monitor-events-misc\nTest: art/test/testrunner/testrunner.py --host -b -t 132-daemon-locks-shutdown\nTest: art/test/testrunner/testrunner.py --host -b -t 004-ThreadStress\n\nChange-Id: I6667c61beed2ba68c84cd4c0821fb8e21e188bbc\n"
    },
    {
      "commit": "eac38a141a95adc273059ba2f6ad26f073391ed3",
      "tree": "a6457ecd364192ca9b40f2cffed2b6eb7a2de0a3",
      "parents": [
        "2aa5a78482b4a1aedb35469117dfcc5238f1a1e1"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jan 03 17:56:33 2020 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jan 03 18:05:50 2020 +0900"
      },
      "message": "Refactor Android.gtest.mk more\n\nThis change fixes a bug that RUNTIME_TARGET_GTEST_MAKE_TARGETS is\nexpanded with incorrect module names such as \u0027._arch_test\u0027, etc.\nThis was because aosp/1199415 changed the variable to have module names,\nbut didn\u0027t fix the part that still expects that the variable is file\npaths.\n\nThis change also does some refactoring on the namings to prevent the\nsimilar confusion from happening in the future.\n\nBug: 146995717\nTest: run-gtests.sh\nChange-Id: I971c374b6c856848c1e3aaf0996c1812200373f2\n"
    },
    {
      "commit": "2aa5a78482b4a1aedb35469117dfcc5238f1a1e1",
      "tree": "ef9a8dd472c45e2174251eb08c080695eab7d195",
      "parents": [
        "340fb0b49492cc8a0cab6108020793bf6e5fa339"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 18 14:57:59 2019 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 02 19:34:04 2020 +0000"
      },
      "message": "Add comment explaining global\n\nAdd a comment explaining why we use a global at one point in test 912\nas requested.\n\nTest: none\nChange-Id: I0760da74ed66e848b49a6a7f441dc27ff343e81e\n"
    },
    {
      "commit": "340fb0b49492cc8a0cab6108020793bf6e5fa339",
      "tree": "8572f3a9e1da49395756e0b320a9816ba0a6a092",
      "parents": [
        "6079d65f090161f1e851a996b29b71a92f73a4b5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 30 10:36:22 2019 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jan 02 16:13:12 2020 +0000"
      },
      "message": "Workaround for building gtest dependencies.\n\nNow that ART tests are not soong \"installable\" (due to go/aog/1193736),\nmanually add all gtests in the Makefile to ensure we build their\ndependencies as listed in the makefile.\n\nAlso remove bitrotted make-based target test invocation.\n\nTest: run-gtests.sh\nBug: 146995717\nChange-Id: I3c680f00b46f2cadb2c0accabcc25e085fef4c88\n"
    },
    {
      "commit": "6079d65f090161f1e851a996b29b71a92f73a4b5",
      "tree": "0f4ccf9c4558807027fbdf1e62eaada4b6334bf1",
      "parents": [
        "dd3b7aa3066673eb95ec46ae8fb9651e52e1ee13"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 30 10:31:04 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 31 11:15:42 2019 +0000"
      },
      "message": "Fix buildbot build script.\n\nGot broken after:\n- https://android-review.googlesource.com/c/platform/art/+/1193736\n  (*-target targets don\u0027t exist anymore)\n- https://android-review.googlesource.com/c/platform/build/+/1146736\n  (remove ld.config.txt as a build target).\n\nTest: tools/buildbot-build.sh\nChange-Id: I99819de2ec6eb44b5e1953dfb94d3a05b59fa167\n"
    },
    {
      "commit": "dd3b7aa3066673eb95ec46ae8fb9651e52e1ee13",
      "tree": "3a0264195095bccad49acd2298bf281cd3018e90",
      "parents": [
        "eeae32ba02c7d3785a8d195e967febfaa0b1113b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jul 31 13:47:39 2019 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Dec 30 15:39:19 2019 -0800"
      },
      "message": "Clean up art\u0027s Soong go files\n\nReplace deprecated BaseContext with LoadHookContext.\nUse ctx.Config() instead of ctx.AConfig().\nUse existing ctx.Config() functions instead of wrappers.\nSort imports.\n\nTest: m checkbuild\nChange-Id: Idf30996ef38f4056a93af511c607b2c24678a5fa\n"
    },
    {
      "commit": "eeae32ba02c7d3785a8d195e967febfaa0b1113b",
      "tree": "d7e7a1b09460db0f9b359d582602300a25570a26",
      "parents": [
        "066dd902930582873e7d9372ac0c8483ac700cb9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Dec 28 00:53:50 2019 +0000"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Dec 28 02:25:26 2019 +0000"
      },
      "message": "Revert \"Add consistency CHECKs around ArtMethod fields.\"\n\nThis reverts commit 382df393c684c6a5f3856365177da715880d7f08.\n\nReason for revert: Fails for test BuzzBeepBlinkTest on x86\n\nBug: 146765723\nChange-Id: If86c07959969a831ab5b24681e70c85d3c59c1fd\nTest: TH\n"
    },
    {
      "commit": "066dd902930582873e7d9372ac0c8483ac700cb9",
      "tree": "f3a0b47419fea78001faea017ba04e630e82fd2e",
      "parents": [
        "fb537087516e34e92e3c030ef2f7fc8b233d7a47"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Dec 19 02:11:59 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 20 01:17:37 2019 +0000"
      },
      "message": "Revert submission 1194828-revert-1191937-art_apex_available-DWXQGTKMAR\n\nReason for revert: relanding with fix\nReverted Changes:\nIc4119368c:Revert submission 1191937-art_apex_available\nIa084976bb:Revert submission 1191937-art_apex_available\nIada86226d:Revert submission 1191937-art_apex_available\nIc76735eac:Revert submission 1191937-art_apex_available\nI1eb30e355:Revert submission 1191937-art_apex_available\nIcaf95d260:Revert submission 1191937-art_apex_available\nIe8bace4be:Revert submission 1191937-art_apex_available\nI8961702cf:Revert submission 1191937-art_apex_available\nI39316f9ef:Revert submission 1191937-art_apex_available\nI522a7e83b:Revert submission 1191937-art_apex_available\nI8b9424976:Revert submission 1191937-art_apex_available\nI48b998629:Revert submission 1191937-art_apex_available\n\nChange-Id: I7a101d39ff63c153675e4e741f9de1a15a778d33\n"
    },
    {
      "commit": "fb537087516e34e92e3c030ef2f7fc8b233d7a47",
      "tree": "f6663f1ee276c23e359acb3fa40904e5cddaa960",
      "parents": [
        "80599a28d1c865de7644a87111f49ee3b30f7c41"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 10 14:38:34 2019 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 19 18:05:52 2019 +0000"
      },
      "message": "Remove class-hierarchy restriction from structural redefinition\n\nPreviously we restricted structural redefinition such that 2 or more\nclasses could not be redefined at the same time if one is a superclass\nof the other and the superclass was undergoing structural\nredefinition. This was done to simplify the creation of new objects.\nThis restriction is now removed by having the superclass take over the\ncreation of new instances for any subclasses, even if they are\nredefined too.\n\nTest: ./test.py --host\nBug: 134162467\nChange-Id: I8ae76e3b1fd17c1cf2a9993d7b82ed21a61503ef\n"
    },
    {
      "commit": "80599a28d1c865de7644a87111f49ee3b30f7c41",
      "tree": "e56dcf999630a752cd955a06c7f4c00b7add290b",
      "parents": [
        "1e88f980a85056165312331746862dc48186bc54"
      ],
      "author": {
        "name": "Joseph Murphy",
        "email": "murj@google.com",
        "time": "Thu Dec 19 01:06:54 2019 +0000"
      },
      "committer": {
        "name": "Joseph Murphy",
        "email": "murj@google.com",
        "time": "Thu Dec 19 01:06:54 2019 +0000"
      },
      "message": "Revert submission 1191937-art_apex_available\n\nOriginal Commit Message:\n\"\"\"\nRename modules that are APEX-only\n\nThe renamed modules are only available for APEXes, but not for the\nplatform. Use the \u003cmodule_name\u003e.\u003capex_name\u003e syntax to correctly install\nthe APEX variant of the modules.\n\"\"\"\n\nReason for revert: Build Cop - Breaks about 15 AOSP targets, with high confidence due to these changes being the only non-robot changes in those builds.\n\nReverted Changes:\nI190ce2d10:Use apex_available property\nI990e0a67e:Use apex_available property\nI0d1295683:Revert \"Avoid duplicated classes for boot dex jars...\nI5fb725403:Find the jar libraries in APEX from the correct pa...\nI322b1efcc:Rename modules that are APEX-only\nIfa2bd0f8f:Use apex_available property\nIac6533177:Use apex_available property\nIe999602c6:Use apex_available property\nI2a3d73397:Use apex_available property\nIc91bcbb9a:Use apex_available property\nIa6c324eed:Use apex_available property\nI964d0125c:Use apex_available property\n\nChange-Id: I1eb30e355cfce316b94cde0dd176002af8d222bb\n"
    },
    {
      "commit": "1e88f980a85056165312331746862dc48186bc54",
      "tree": "0cbeeaf951d6bd637a46f4f51faf80587f3ecc2b",
      "parents": [
        "c9af14e93f6a2691bf8231752d8d7c3e41b14c76"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Dec 02 13:44:06 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Dec 19 00:21:38 2019 +0000"
      },
      "message": "Use apex_available property\n\nUse apex_available property to prevent modules that are only for the ART\napex from being used outside of the APEX.\n\nThis change also fixes the reference to\n$(TARGET_OUT_SHARED_LIBRARIES)/$(lib).so to $(lib).com.android.art.debug\nphony module since the former is never installed to the system partition\ndue to their \u0027apex_available\u0027 settings.\n\nBug: 128708192\nBug: 133140750\nTest: m\nChange-Id: I990e0a67e066d9b1dc221748422a2f44449258da\n"
    },
    {
      "commit": "c9af14e93f6a2691bf8231752d8d7c3e41b14c76",
      "tree": "e56dcf999630a752cd955a06c7f4c00b7add290b",
      "parents": [
        "80777ed308b965175223455d738c890618a008b5"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 12 09:51:38 2019 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 18 23:00:11 2019 +0000"
      },
      "message": "Add comment \u0026 refactor check for Obsolete class in FindFieldFromCode\n\nAdd a comment explaining why we need a check for a class not being an\nobsolete class in FindFieldFromCode. It is needed since if we\nstructurally redefine a class that is in the middle of running its\n\u003cclinit\u003e or \u003cinit\u003e function the classes final fields will be set from\na function with the obsolete class as its declaring-class.\n\nAlso refactor the code a bit to put this logic in ArtField.\n\nTest: None\nChange-Id: I9ebb0c89568b9d8e5a60d44c982584b174370eef\n"
    },
    {
      "commit": "80777ed308b965175223455d738c890618a008b5",
      "tree": "ba8f6f8575f2a2a9d4157db7678328f4572d2458",
      "parents": [
        "c4cc618ad864c1f943daaef26914463d92d46ca0"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 17 17:07:33 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 18 20:05:06 2019 +0000"
      },
      "message": "Revert^2 \"Make sure all runtime threads are in the System thread group.\"\n\nThis reverts commit 9ca8b2bf46978e3a5698f8a27b48aa7eff3514df.\n\nThe test 2005 exposed an ABA race which could cause the test to\nsometimes fail with CHECK failures or GC corruption.\n\nReason for revert: Fixed issue causing ABA race in PreObjectAlloc with\n                   test.\nTest: ./test.py --host --debug-gc\nBug: 146178357\n\nChange-Id: If265f765e0c1e692755904b4c40bbc718d98f065\n"
    },
    {
      "commit": "c4cc618ad864c1f943daaef26914463d92d46ca0",
      "tree": "c711601c3fa8c22086aa00ee812b3526b52fc77a",
      "parents": [
        "d7651b107688bdbee908ea927e054c5796150a67"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 18 16:59:22 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 18 20:00:47 2019 +0000"
      },
      "message": "Handle nterp in IsForcedInterpreterNeededForUpcallImpl.\n\nNterp is an interpreter but can have exit stubs.\n\nTest: 1916-get-set-current-frame\nBug: 112676029\nChange-Id: Ia6f175e0badc572c2f4a03cff99f70bf6649a535\n"
    },
    {
      "commit": "d7651b107688bdbee908ea927e054c5796150a67",
      "tree": "02f9a75b8949448e60ef71a3ef4ac6f09c1c776d",
      "parents": [
        "7ba68ffa031040fe91a923278910297ecf17edbe"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 18 14:57:30 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 18 20:00:28 2019 +0000"
      },
      "message": "Fix StackVisitor::GetVReg for Nterp.\n\nIf the required type is reference, we should look at the reference\narray.\n\nTest: 686-get-this\nBug: 112676029\nChange-Id: Iee786723f67c576878d2f5d56f96694b75699cd1\n"
    },
    {
      "commit": "7ba68ffa031040fe91a923278910297ecf17edbe",
      "tree": "b8c528ef9824188a18f55eafae68de7f114d8d04",
      "parents": [
        "7a6b966d348ee780922e04a8304d3dcc9e297517"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 17 16:15:35 2019 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 18 18:32:05 2019 +0000"
      },
      "message": "Fix ABA bug with PreObjectAlloc event being missed\n\nWe prevent the PreObjectAlloc event from ever being disabled after\nbeing activated for allocation pausing the first time. This is to\nprevent an instance of the ABA problem where a thread can miss the\nfact that the size of the object it\u0027s allocating has changed if it was\nsuspended within the allocation path during the redefinition.\n\nWe need to make sure that every thread gets a chance to see the\nPreObjectAlloc event at least once or else it could miss the fact that\nthe object its allocating had its size changed.\n\nConsider the following 2 threads. T1 is allocating an object of class\nK. It is suspended (by user code) somewhere in the\nAllocObjectWithAllocator function, perhaps while doing a GC to attempt\nto clear space. With that thread suspended on thread T2 we decide to\nstructurally redefine \u0027K\u0027, changing its size. To do this we insert\nthis PreObjectAlloc event to check and update the size of the class\nbeing allocated. This is done successfully. Now imagine if T2 removed\nthe listener event then T1 subsequently resumes. T1 would see there is\nno PreObjectAlloc event and so allocate using the old object size.\nThis leads to it not allocating enough. To prevent this we simply\nforce every allocation after our first pause to go through the\nPreObjectAlloc event.\n\nTest: setup runit.sh to run test 2005.\n      ./art/tools/parallel_run.py -j80 --out art/out.txt ./art/runit.sh\nTest: ./test.py --host\nBug: 146436130\n\nChange-Id: I7cdc1d133a7cbba7784b906b587e565072a453b2\n"
    },
    {
      "commit": "7a6b966d348ee780922e04a8304d3dcc9e297517",
      "tree": "d2267f6e09c0f1d92dbf527eeb499a37044e9be6",
      "parents": [
        "96cbde8221731ac10bf6811ed4c415bbea45656b"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 17 16:45:49 2019 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 18 17:52:56 2019 +0000"
      },
      "message": "Fix reversed compare_exchange check.\n\nWe were incorrectly stopping a retry-loop when compare_exchange_strong\nreturned true instead of false. This could lead to races if multiple\nthreads tried to pause allocations simultaneously.\n\nTest: ./test.py --host\nBug: 146436130\nChange-Id: I46ab86010d24148d640af0c51a5268b3eef0d300\n"
    },
    {
      "commit": "96cbde8221731ac10bf6811ed4c415bbea45656b",
      "tree": "68d52d897e7035770d7d6b01047432e5ae688c69",
      "parents": [
        "219420ea349960863f35b01353356c10a3736e57"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 17 16:28:48 2019 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 18 17:52:47 2019 +0000"
      },
      "message": "Fix alignment bug in PreObjectAlloc\n\nWe were incorrectly setting the byte-count to a potentially unaligned\nvalue. This could cause CHECK failures in rare situations.\n\nTest: ./test.py --host\nBug: 146436130\nChange-Id: Ia8d650b085af875fc45e5408ed7b81f9ce69df1f\n"
    },
    {
      "commit": "219420ea349960863f35b01353356c10a3736e57",
      "tree": "1ccd6c5c8d7e47d61144d8a22a951d9860da9dce",
      "parents": [
        "acd7060266dac5dbbba1698df4ae086754e8a2bf"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 05 10:20:26 2019 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 18 17:11:27 2019 +0000"
      },
      "message": "Run-test: Support using --gdb and --gdbserver with --chroot\n\n--gdb and --gdbserver were unusable with --chroot due to --chroot\nchanging how dnslookup happened on device and differing symbol\ndirectory setup.\n\nThis CL does the basic setup so that gdb can connect to the remote\nprogram and (provided it is configured correctly) be used to debug it.\n\nIn order to get symbols one must set both the `solib-search-path` and\n`solib-absolute-prefix` appropriately. See GDB documentation for more\ninformation.\n\nTest: ./test/run-test --gdbserver --chroot /data/local/art-test-chroot --64 001-HelloWorld\nChange-Id: I598cb7654f5b8b669e1c658e25fb941c3d046666\n"
    },
    {
      "commit": "acd7060266dac5dbbba1698df4ae086754e8a2bf",
      "tree": "b624b4daf68361ecdb08fb113940da6ad4c2cae0",
      "parents": [
        "60d9775f9a56c6c4d18706528f0a31ac3707ea2c"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Thu Dec 05 17:46:25 2019 -0800"
      },
      "committer": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Wed Dec 18 17:06:09 2019 +0000"
      },
      "message": "Update target footprint on process state switch\n\nTest: Greenday/MPTS test\nBug: 145161943\nChange-Id: I519fda7e15ca1acc68c5958ef67f1aae56c53662\n"
    },
    {
      "commit": "60d9775f9a56c6c4d18706528f0a31ac3707ea2c",
      "tree": "6b4031f59bf66206ac8c250bff7dc8ad958992c2",
      "parents": [
        "145f3c4aa4dc40b0682cac95a93163a79fb54f52"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 18 13:26:49 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 18 16:33:21 2019 +0000"
      },
      "message": "Prevent methods beint tested from being inline.\n\nOtherwise, we may end up never compiling them.\n\nTest: 566-polymorphic-inlining\nBug: 112676029\nChange-Id: Ic39058f55532a98cf689313f474c74fc2b7c1e3a\n"
    },
    {
      "commit": "145f3c4aa4dc40b0682cac95a93163a79fb54f52",
      "tree": "40435e85049c357d44f0b7853f5aaa5c2d683b2d",
      "parents": [
        "bd0ac86f6889e7540853df80b5b499a2151f2a97"
      ],
      "author": {
        "name": "Dan Zimmerman",
        "email": "danzimm@fb.com",
        "time": "Wed Dec 18 04:21:38 2019 -0800"
      },
      "committer": {
        "name": "Dan Zimmerman",
        "email": "danzimm@fb.com",
        "time": "Wed Dec 18 04:26:13 2019 -0800"
      },
      "message": "[art] Yama LSM isn\u0027t mandatory\n\nSome machines building debug builds don\u0027t have YAMA enabled (and it\ndoesn\u0027t seem to be mandatory for running/testing ART debug builds)\n\nTest: ./test/testrunner/testrunner.py -b --host -t 001-HelloWorld\n\nChange-Id: I1aa258380ddbf8c4f59ea22a9d901169ba448ef8\n"
    },
    {
      "commit": "bd0ac86f6889e7540853df80b5b499a2151f2a97",
      "tree": "e8e391ca1f04308f58607e5c97adae9a50326c81",
      "parents": [
        "00391824f4ee89f9fbed178a1ee32bc29fa77b3b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 18 08:16:35 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 18 08:22:03 2019 +0000"
      },
      "message": "Ensure Nterp is also supported in CanRuntimeUseNterp.\n\nBug: 112676029\nTest: test-art-host-gtest\nChange-Id: Ib48724d9c985a970ec023b99282a3b3a123afaec\n"
    },
    {
      "commit": "00391824f4ee89f9fbed178a1ee32bc29fa77b3b",
      "tree": "aea6bc5e49801c5b4816257ab16a97181ef0d911",
      "parents": [
        "001e5b33ba7065dde0b85450830b605733ae1685"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 10 10:17:23 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 18 06:50:39 2019 +0000"
      },
      "message": "Add an implementation of Nterp for x64.\n\nAnd enable it on x64 when runtime and ArtMethod requirements are met\n(see nterp.cc).\n\nTest: test.py\nBug: 112676029\nChange-Id: I772cd20a20fdc0ff99529df7495801d773091584\n"
    },
    {
      "commit": "001e5b33ba7065dde0b85450830b605733ae1685",
      "tree": "0123782401f1bceedf7227d16fa6ce6d20a97f64",
      "parents": [
        "5c0177215ee88a9372b883d06661e25a8f6105de"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 17 15:30:33 2019 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 17 16:36:42 2019 -0800"
      },
      "message": "Remove illegal PreObjectAlloc call\n\nWe were incorrectly calling PreObjectAlloc with\nRoles::uninterruptible_. Due to its location this generally won\u0027t\ncause any issues but the call is not allowed nor needed.\n\nTest: ./test.py --host\nBug: 146436130\nChange-Id: I9672e679f4683eb3151d149aa918ce7fcb482b69\n"
    },
    {
      "commit": "5c0177215ee88a9372b883d06661e25a8f6105de",
      "tree": "94beb530125654c1af9cd91ada6abc5d10bb6a7f",
      "parents": [
        "c99a2310f980bab0211799b47dcf191bc2bf0163"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Tue Dec 17 10:54:26 2019 +0800"
      },
      "committer": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Tue Dec 17 15:57:03 2019 +0000"
      },
      "message": "Add public lib of Cronet apex mainline\n\nThis is a workaround since apex module library path is not\nsupported in jni\n\nBug: 139397529\nBug: 145474221\nTest: Build\nTest: manual test with Cronet\nTest: atest CtsJniTestCases\nTest: atest libnativeloader_test\nChange-Id: Ifd8aa85bd78e95131b2ce3eab0ad32c2bb19cee2\n"
    }
  ],
  "next": "c99a2310f980bab0211799b47dcf191bc2bf0163"
}
