)]}'
{
  "log": [
    {
      "commit": "dd446b17bedb28838f5866f7c29fb47265f332fc",
      "tree": "452e7b258216b720a9407ab0255a01636f0135e6",
      "parents": [
        "20e77ff50047e62e90b3ce9b7849777ffcd55b0d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 20 14:35:51 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jun 02 08:38:20 2021 +0000"
      },
      "message": "Collect array classes in profiles.\n\nCollect array classes including primitive array classes for\nboot class path profile. Do not exclude resolved erroneous\nclasses, they can still be useful as resolved even if the\nruntime intialization fails.\n\nOptimize the performance, especially the time we need to\nhold the mutator lock. Use that fact that most `ArtMethod`\nmembers can be queried without the mutator lock.\nRemove the GC critical section as it is unnecessary.\n\nTest: Collect a profile by manually running steps from\n      BootImageProfileTest#testSystemServerProfile,\n      pull and dump the profile and check that there are\n      many array classes, including \"[[[B\" and \"[[[I\".\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing --speed-profile\nBug: 148067697\nChange-Id: I76276d61551c16f532a0e34289bab4acb61b30c6\n"
    },
    {
      "commit": "3156695aa5a69e3ca27b5befcaf0934e7e62e9fb",
      "tree": "64977ebf92e992ce978cd1d5a4e378a12463522b",
      "parents": [
        "61ffd049d8d6946ba52884a8f679dde0e3a6654d"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon May 17 11:56:40 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 24 23:22:57 2021 +0000"
      },
      "message": "Enable ProfileSaver to have a different delay for the first ever save\n\nThe runtime now supports -Xps-first-save-ms, which when configured\nmay alter the delay for the first ever profile save. Subsequent\nsaves will proceed based on the existing -Xps-min-save-period-ms.\n\nThe first ever save is an approximation, and computed by checking\nthe profiles size.\n\nTest: gtest \u0026 manual\nBug: 185979271\nChange-Id: I7119b9d2b8829653046565426090c89f6a619a27\n"
    },
    {
      "commit": "c63d9672264e894d8d409e8d582b4e086b26abca",
      "tree": "1e285cbab4c71aea3c8c37b4e4c5e8241a3ce117",
      "parents": [
        "0bf5b6729be507f1e78fc61f17554393dd978e46"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Mar 31 15:50:39 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon May 17 13:42:11 2021 +0000"
      },
      "message": "Rewrite profile file format.\n\nThe new format contains one mandatory section and several\noptional sections. This allows extending the profile with\nnew sections that shall be ignored by old versions of ART.\n\nWe add an \"extra descriptors\" section to support class\nreferences without a `dex::TypeId` in the referencing dex\nfile. Type indexes between the dex file\u0027s `NumTypeIds()`\nand `DexFile::kDexNoIndex16` are used to index these extra\ndescriptors. This prepares for collecting array classes\nwhich shall be tied to the element type\u0027s dex file even\nwhen the array type is not needed by that dex file and has\nbeen used only from another dex file. It also allows inline\ncaches to be self-contained, so we can remove the profile\nindex from data structures and serialized data.\n\nThe creation of the the binary profile from text files is\nupdated to correctly allow array types to be stored as the\nprofiled classes using the \"extra descriptors\". However,\nthe interface for filling in inline caches remains unchanged\nfor now, so we require a `TypeId` in one of the processed\ndex files. The data collection by JIT has not been updated.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing --speed-profile\nTest: boots.\nTest: atest BootImageProfileTest\nBug: 148067697\nChange-Id: Idd5f709bdc0ab4a3c7480d69d1dfac72d6e818fc\n"
    },
    {
      "commit": "5859b689d4fdd36711187715c04e2e095f7975c0",
      "tree": "84b374c23e07024935ee899b9a34916168d93228",
      "parents": [
        "68dc4a524c00958cf4f11fc687eabf4c677cde69"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 05 12:34:56 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 06 09:24:35 2021 +0000"
      },
      "message": "Clean up `ResetOffset()` calls in profile tests.\n\nMost are unnecessary since\n    https://android-review.googlesource.com/1685637\nand we remove a few more by using `PreadFully()` instead\nof `ReadFully()`.\n\nTest: m test-art-host-gtest\nBug: 148067697\nChange-Id: Ia654f4519ea9ca91f9a5ca26af55899ccdf4bb78\n"
    },
    {
      "commit": "f4d05ff134347d723e27919ccc89ce9d412b2d58",
      "tree": "aa368066676880ef1f4fbbec722ad8d88cad8771",
      "parents": [
        "c005ada78df5edebac74739b2c344e1a2a3efcba"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 14 09:39:04 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 16 08:21:03 2021 +0000"
      },
      "message": "Clean up profile tests.\n\nUse TestDexFileBuilder and remove FakeDex. Add a helper\nclass for shared code between ProfileCompilationInfoTest\nand ProfileAssistantTest.\n\nTest: m test-art-host-gtest\nTest: run-gtests.sh\nBug: 148067697\nChange-Id: I0bf5d3fb7a456dcd717bce694d7f832a654fcccb\n"
    },
    {
      "commit": "c5cd58914325c7fcfd89b1a5bf4daa475c2d83ef",
      "tree": "847a50eaa8331baf617f0fc3161cf36b7fc28680",
      "parents": [
        "b3f5c5008770d22a24db6a66bf97bd5a9d32b4ff"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 23 08:09:15 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat Mar 27 13:19:58 2021 +0000"
      },
      "message": "Remove QUICK bytecodes.\n\nRemove the deprecated unofficial (not part of the spec) bytecodes.\nThis frees the 16 bytecodes for future use.\n\nBug: 170086509\nTest: m test-art-host-gtest\nTest: test.py -r -b --host\nChange-Id: I9f6d8a2c21b88f883c8fdc1eb67b24620f313d56\n"
    },
    {
      "commit": "efc03b831c35062f51589adc0ec509d4bfa2ef33",
      "tree": "568dd31db77c080da1ffdfdda67db6662d8c2bd5",
      "parents": [
        "5b0b2e1b5d60514b829f99aed5712dcae3647115"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sun Mar 21 17:49:39 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Mar 22 14:35:42 2021 +0000"
      },
      "message": "Fix reported dex file size to libunwindstack.\n\nCompact dex file size is non-trivial.\n\nThis has not been a major issue so far since the\ndex loader in libunwindstack just keeps retrying\nwith bigger size, but we should fix the error.\n\nTest: test.py -r -b --host -t 137\nChange-Id: Ifa06640fce8efe12cf8e82f573a0da41a37a44fa\n"
    },
    {
      "commit": "5b0b2e1b5d60514b829f99aed5712dcae3647115",
      "tree": "45b58e4e97de2112fd0903a7de0d6a5a86ff3ba6",
      "parents": [
        "f0407cf39600b2e87ee6c18f066df2987bd4ba29"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 19 14:48:40 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 22 14:03:36 2021 +0000"
      },
      "message": "Explictly pass VerifierDeps when asking for class verification.\n\nThis will simplify creating and populating VerifierDeps at runtime,\nwhich is needed for doing and saving background verifcation of secondary\ndex files.\n\nTest: test.py\nBug: 158463186\nChange-Id: Ic17913ebd173700e866ba9309bf6ae131fcbc423\n"
    },
    {
      "commit": "e9fb3dce298076a6b808e6a5d64e3b4ac9db9ffd",
      "tree": "da0402ec0a27488ba159c5b1be573ba15d1e5a6d",
      "parents": [
        "a64c1ad1ad20b99c4bb3a27acdd30dc9b3aa004b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Mar 10 12:17:53 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 15 12:26:04 2021 +0000"
      },
      "message": "Store inline caches in StackHandleScope\u003c\u003e in HInliner.\n\nAvoid a managed heap allocation.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nBug: 181943478\nChange-Id: I7ce65c93ad2f59490dbfa2aaccba98b6ca1fd585\n"
    },
    {
      "commit": "a64c1ad1ad20b99c4bb3a27acdd30dc9b3aa004b",
      "tree": "3872764b79c105075a49d615334bebae34cf6e9d",
      "parents": [
        "f84ec8662b695f6679023f368bc7203d3804a43e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 08 14:27:05 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 15 11:00:50 2021 +0000"
      },
      "message": "Rewrite hot method info retrieval.\n\nRemove the `ProfileCompilationInfo::GetHotMethodInfo()` API\nand provide another API to tie profile indexes to dex files\nfor inline caches that avoids unnecessary heap allocations.\n\nAnd look up only dex caches for the referenced dex files\nwhen getting AOT inline caches in HInliner.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimzing\nTest: boots.\nBug: 181943478\nChange-Id: I124ac4870b0f483c1f0422c841c4ff69fc95b7e0\n"
    },
    {
      "commit": "113d6ea4c5182bac718a0350e858b420d1bac9e2",
      "tree": "9189f60176478265c9bbc888d72e35fcb29c96da",
      "parents": [
        "bc1748f825aed2a59a9bfbb087ab6e29e875d2d1"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 02 22:49:46 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 09 15:00:30 2021 +0000"
      },
      "message": "Move code size from OatQuickMethodHeader to CodeInfo.\n\nThis saves 0.5% of oat file size.\n(0.8% saving from this CL minus 0.3% due to go/aog/1614482)\n\nBug: 123510633\nTest: m dump-oat\nTest: m test-art-host-gtest\nTest: ./art/test.py -b -r --host\nChange-Id: I035b54a47b300a5808aa8c2992f87eae009fd245\n"
    },
    {
      "commit": "c2f46939d8c046dfc8e954ac1bec6d61b0f061ae",
      "tree": "88c88aceadc868f286ef62185fff00fa343d1ffe",
      "parents": [
        "62b75587021d432d1522316822e7cafe0beada43"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 05 10:55:55 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 08 09:11:01 2021 +0000"
      },
      "message": "Reduce string allocations in ProfileCompilationInfo.\n\nUse std::string_view internally to avoid std::string\nallocations but keep external ProfileCompilationInfo API\nunchanged with std::string to avoid object lifetime issues,\nwith the exception of `OfflineProfileMethodInfo` provided\nto the compiler for AOT compilation.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: boots.\nBug: 181943478\nChange-Id: If75c3ce16581760773bdaa3e94334c9c567745de\n"
    },
    {
      "commit": "ae7c8da2dcb775b58ee9285cb7c3433a8be66ebe",
      "tree": "a71213fc1e46a4cc2714e3cbcf382e623fa908fc",
      "parents": [
        "e99a85840462fddafd4253a7c16ca83bb6cca3ed"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Feb 12 20:17:20 2021 -0800"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Feb 25 00:02:17 2021 +0000"
      },
      "message": "Add nativeZygoteJitEnabled\n\n... to allow the zygote to check whether it needs to keep the jit thread\naround.\n\nBug: 159631815\nBug: 174211442\nTest: Boot AOSP\nChange-Id: I4d32aee36993cf063d2464d839f2cabda1ee8ff5\n"
    },
    {
      "commit": "c7ac91b21d1a15c14e29d69ff02b48c485962b0d",
      "tree": "f8bcc4df536c29773742cbb54b32b959ebd601c3",
      "parents": [
        "5c48df9895530fb26666c6d79d155ef3886d7a83"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Thu Feb 04 21:44:01 2021 +0000"
      },
      "committer": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Tue Feb 09 16:31:17 2021 +0000"
      },
      "message": "[metrics] Report some ART metadata\n\nAdds reporting for some metadata associated with ART metrics,\nincluding timestamp relative to ART startup, the session id, and the\nprocess\u0027s user id. It additionally outputs placeholders for the\ncompilation reason and compiler filter, but these need some additional\nplumbing from the Runtime and OatFileManager to fill in, so those will\ncome in a followup CL.\n\nThis CL also includes a fair amount of refactoring around metrics\nreporting and handling the session data.\n\nExample output:\n\n    *** ART internal metrics ***\n      Metadata:\n        timestamp_since_start_ms: 768\n        session_id: 5026277321588503825\n        uid: 123456\n        compilation_reason: Unknown\n        compiler_filter: (unspecified)\n      Metrics:\n        ClassVerificationTotalTime: count \u003d 4167\n        JitMethodCompileTime: range \u003d 0...1000000, buckets: 7,0,0,0,0,0\n    *** Done dumping ART internal metrics ***\n\nTest: ./test/run-test --host --jit 2232-write-metrics-to-log\nChange-Id: Ic74b503b135d71099d9e26bf660b60e4cc3a46bc\n"
    },
    {
      "commit": "c5323fe55f82d91d53ac4ccfd82dde7baa55a4af",
      "tree": "c81fb19ae8c7a12ffb70ea6caa62bcc6c637a742",
      "parents": [
        "b6dda5a1fa90b08d3ebf83a5d1f882e5355bc68b"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Feb 04 21:20:30 2021 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Sat Feb 06 15:59:32 2021 +0000"
      },
      "message": "libartpalette: Use fixed width typedef rather than enum for status\n\nAs the NDK guidelines note, the size of an enum is a compiler choice\nso an enum of unqualifed width cannot be considered stable ABI.\n\nBug: 122824298\nTest: TH\nChange-Id: I63d42fdb5a989aab15ec995529781b1b8c3ddb7a\n"
    },
    {
      "commit": "4bf753dc70407589e0f0b5bccb0a88c276488058",
      "tree": "feb79aa95a7d4c258536f397a68d3f798921b1fa",
      "parents": [
        "232efef0c8ecb532fabad83bee916101b716d75c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 14 20:33:53 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 15 14:19:59 2020 +0000"
      },
      "message": "Add two flags to customize JIT zygote.\n\n1) -Xuseprofiledjit to do compilation of system server (and potentially\napps) at startup with a profile\n2) -Xjitzygotepthreadpriority to set the zygote JIT thread priority.\n\nBug: 119800099\nTest: m\nChange-Id: I131c5a8bae0f4b15c33c3e24e07465b7858f7fe2\n"
    },
    {
      "commit": "e9fb15381802428696dfaf848ea2187a0956fa7d",
      "tree": "48039d02d4f2c41c78b73355581e2716913b55c1",
      "parents": [
        "21f9a37d36da5a004e79250037a4b60e8d1e5563"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Dec 07 16:34:41 2020 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Dec 09 16:25:15 2020 +0000"
      },
      "message": "Guard profile_cache_ with profile lock\n\nPrevent possible race conditions with SIGUSR1.\n\nBug: 174924436\nTest: test.py\n\nChange-Id: I799b9815ed31ed755104e69337b35e09ecad9b83\n"
    },
    {
      "commit": "1f947b4dd13fe560a371fb5610ac619ef0546306",
      "tree": "8f65535f2e6a5bcd571c2974c9bccb9107b0eab4",
      "parents": [
        "17491ac89fffc79452c4a88b39a9b74f342508d3"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Dec 08 16:08:04 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 09 11:50:42 2020 +0000"
      },
      "message": "Exclude zygote methods from FreeAllMethodHeaders DCHECK\n\nZygote method set can change concurrently.\n\nBug: 175006160\nTest: run jit-zygote configuration with the check enabled.\nChange-Id: I973ab9303ade65ad7cad706b99e895b9c673ffb4\n"
    },
    {
      "commit": "af17e5f33380ad39d83c31d97a29f3c836150fa1",
      "tree": "c58dab78ef0863e7d8838a608411043282391ea4",
      "parents": [
        "ecd94cf3dfe6dd657f9e4412200c5a00d8f945a6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 04 09:55:27 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 04 13:42:08 2020 +0000"
      },
      "message": "[jitzygote] Handle native methods when remapping boot image.\n\nChild processes might call RegisterNative on boot classpath methods\n(like system server), and we need to preserve the pointer provided there\nbefore remapping the boot image methods.\n\nTest: jitzygote build, local runs for go/art-jitzygote-perf works\n\nBug: 173677667\nChange-Id: Ic513eb4f86f2538e00e16e92d8c41a98b7cd3574\n"
    },
    {
      "commit": "670ff8854cf075617e0abee77b2259903757d86e",
      "tree": "70378b9ef1c6da3025dccd71467b06548eae725c",
      "parents": [
        "e0e1f56d5af0fe0d5de1e39174790898c377f8e6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 06 18:00:39 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 11 18:26:27 2020 +0000"
      },
      "message": "JIT: Only toggle write permissions in single view.\n\nDual view is here to protect inadvertent / malicious writes already.\n\nTest: test.py\nChange-Id: I26d0d16355dac955ce8ef2856db33241b3f353ff\n"
    },
    {
      "commit": "85b125f4ac9c687e3bd217f9c6eab999be104c17",
      "tree": "0a9f00d89a2b22665da7b3d71de6543d1f16659b",
      "parents": [
        "01b65526c1dce94abb8ed98d473ddcd2b8fcd692"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 30 15:45:52 2020 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 04 22:41:32 2020 +0000"
      },
      "message": "Trace integer value for profilebootclasspath\n\nInstead of tracing this in the profile, trace it directly after fork.\nThis makes it easier to know what to look for in case the trace ends\nbefore the profile saver ran.\n\nBug: 171432467\nTest: manual\nChange-Id: Iee3dece8b756b027195c38bdd8c031960eca09c4\n"
    },
    {
      "commit": "35b132e3377029a356cfbc9e4682e3ebceb83edf",
      "tree": "caf4b4a469079f1ef3fae1736aba094ba09a5441",
      "parents": [
        "096bef8285e1a4d2a2b89cb5a5f59c63ee2e7b65"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 22 08:44:08 2020 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 22 21:01:13 2020 +0000"
      },
      "message": "Add trace to SampleClassesAndExecutedMethods\n\nAlso log when boot class path profiling is enabled.\n\nTest: manual\nBug: 171432467\nChange-Id: I4086638067de79cab3c77c9a0186a43c6cd585f6\n"
    },
    {
      "commit": "2e299f4d0eb8e2fd432c98b83f3f3c6ddd09c0f5",
      "tree": "48104981e48944597421d26fd3180d5384ccc1a0",
      "parents": [
        "4f0e8daf7ed79c0712c0fd927c8ad2c903c15773"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 08 20:27:22 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 09 09:51:10 2020 +0000"
      },
      "message": "Handle nterp when precompiling with JIT zygote.\n\nTest: test.py\nTest: app startup with JIT zygote\nBug: 169773857\nChange-Id: I3e68e5e0dd276fd7fe11e435be0ce906bdca2a6c\n"
    },
    {
      "commit": "f9dbb97a1625b61a395406351e042921f9cfb455",
      "tree": "6a85f72081dfad110257e03fab1e768d196b1a86",
      "parents": [
        "0875b0ad9825077ca7a9043552272ac0732130f2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Aug 27 15:21:11 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 02 09:43:37 2020 +0000"
      },
      "message": "Adjust JIT thread priority post-fork.\n\nBug: 166406877\nTest: test.py\nChange-Id: I81c9a231213e62a1aeaa67cfe8c38419f5bddcd0\n"
    },
    {
      "commit": "095dc4611b8001861f8d0e621f9df704a933754a",
      "tree": "edbbd5b116d8caaceb4ce4605343f3e0d59c11c1",
      "parents": [
        "ed29dcee8b5d7e62bb119d2366f3b95dd5f96163"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Aug 17 16:40:28 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Aug 24 09:06:03 2020 +0000"
      },
      "message": "Move the profiling info out of ArtMethod.\n\nInstead, keep a map in JitCodeCache.\n\nBug: 112676029\nTest: test.py\nChange-Id: I5ab769a9b7b3214af7832478d1b06c9e9adbf8b8\n"
    },
    {
      "commit": "60ef3997cbcd866c505e51ecde7f06a0535110a0",
      "tree": "9c9054afcb9debf6edffc1f40987a4540c83561f",
      "parents": [
        "d9af38a3b76fc54909148456da2701666bade6e0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 07 07:49:57 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Aug 10 08:01:52 2020 +0000"
      },
      "message": "Reland \"Cleanups around the creation of ProfilingInfo.\"\n\nThis reverts commit a996425197a7946eae02d218f70610a853f2fe9a.\n\nBug: 112676029\n\nReason for revert: Fixed JitCodeCache::InvalidateAllCompiledCode and\n                   ForceJitCompiled.\n\nChange-Id: Ia87fda1bb40c504d9294e447f899ac1797ae98fc\n"
    },
    {
      "commit": "a996425197a7946eae02d218f70610a853f2fe9a",
      "tree": "402596c3af0e7928d7c19c3773ea02cb507998b1",
      "parents": [
        "193b696b1c35a49d4173c8b669a4ed79cb24748a"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Thu Aug 06 21:20:55 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 06 22:51:54 2020 +0000"
      },
      "message": "Revert \"Cleanups around the creation of ProfilingInfo.\"\n\nThis reverts commit 0fa304ee0fa63149222bfc6756f56cd285c56bd1.\n\nReason for revert: 685-deoptimizeable test is failing on\nhost debuggable (and cdex-redefine-stress-jit once) targets\n\nBug: 112676029\nTest: ./test.py --host --debuggable\nChange-Id: I88cf51ec48d704f966066ea9f2dbb17d32648f5a\n"
    },
    {
      "commit": "0fa304ee0fa63149222bfc6756f56cd285c56bd1",
      "tree": "c77efb7ddb945b38c5eb322b464b89545822af6e",
      "parents": [
        "84eb3c927c5a90aaa63b8e82420689b4ac978730"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 05 15:29:46 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Aug 06 15:25:24 2020 +0000"
      },
      "message": "Cleanups around the creation of ProfilingInfo.\n\nCreate a ProfilingInfo only when we are going to compile baseline.\n\nTest: test.py\nBug: 112676029\n\nChange-Id: I3fa0ef0f29fc955774d4960fef8274b99a9e3432\n"
    },
    {
      "commit": "b96d6f3846103659249ad58fc905fc5a14dafc47",
      "tree": "3fc0c44044e05e23beee712189f6deff8759753e",
      "parents": [
        "3d22dbb67085bf27e27e55e9b5ab32c5619334f9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 05 15:40:29 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 05 16:38:33 2020 +0000"
      },
      "message": "Remove tiered jit option.\n\nAll interpreters now support it. This fixes 566-polymorphic-inlining\n\nTest: 566-polymorphic-inlining\nBug: 112676029\nBug: 152392499\nChange-Id: I1362f1aba425aa69ee7ed227b41016c7cc2306c6\n"
    },
    {
      "commit": "9c7b4f1f50cfecc8ac8a8db27ab3434384ec5fab",
      "tree": "7b7091cc6705fec1cafeb93f551b2fb9d8936c14",
      "parents": [
        "55cc5868ec31b2b71f3d69ed6283e5f75c065d99"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Aug 03 15:22:59 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 05 12:36:48 2020 +0000"
      },
      "message": "Remove obsolete saved_entry_point field in ProfilingInfo.\n\nIt was used for doing GC of jit code, but we are now relying on baseline\nfor giving that information.\n\nBug: 112676029\nTest: test.py\nChange-Id: Icb7c7b6adfe77a30500d53505b391b9d3aad19e6\n"
    },
    {
      "commit": "1a277a6e5d5152b4fe4dd5717432ecf8941ec820",
      "tree": "1b7846a0ef94062ce9883a36104f32f829f0a735",
      "parents": [
        "89992b8bbdf2d6d3c3da6a029e184c5d59eb505c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 31 16:07:17 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Aug 03 09:58:44 2020 +0000"
      },
      "message": "Move mterp and switch interpreter to tiered JIT.\n\nThis is an intermediate step to move ProfilingInfo usage only within the\nbaseline compiler.\n\nIt also makes the system consistent with all intepreters now going to\nbaseline compilation before optimized.\n\nBug: 112676029\nTest: test.py\nChange-Id: I8505ca46ede9095683ac3f5f86f0c70335bed633\n"
    },
    {
      "commit": "60d4abc813b209c309d00ae2334e6a57e1297b28",
      "tree": "fa6b6b365e12dac727679b36c02216320b403a37",
      "parents": [
        "ab7eccef71be2f88a99e71b240bdd98e34357b7c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 27 13:58:51 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 30 14:17:15 2020 +0000"
      },
      "message": "Reland^2 \"Cover more cases in nterp.\"\n\nThis reverts commit dd5db458831cf74ae5813d2278fbd599145c4522.\n\nBug: 112676029\nBug: 157658616\nBug: 160543640\n\nReason for revert: Fixed missed class initialization.\nTest: wifi tests, run-tests\n\nChange-Id: Ie0a8ae0e92587b5c86203228615534526df640fb\n"
    },
    {
      "commit": "853fc2ea8c4fb30d71adb1dbba6ebf0e8493ba51",
      "tree": "e8fc4a05fc29d19ca47547b8aeb7a4a26a3e0f6a",
      "parents": [
        "b8552725fda0bb65fc2100df12d10821f178dc4d"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Jul 27 17:01:44 2020 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Jul 27 19:05:42 2020 +0000"
      },
      "message": "runtime/jit: inclusive language fixes\n\nBased on:\n  https://source.android.com/setup/contribute/respectful-code\n\nBug: 161896447\nBug: 161850439\nBug: 161336379\nTest: m (comment updates only).\nChange-Id: Ibfb4b0c71ef2fae076a6b11dfabe07137f00a7a5\n"
    },
    {
      "commit": "dd5db458831cf74ae5813d2278fbd599145c4522",
      "tree": "9d470a5ada7c9d7af70d2a6bc36d3d49fccc870d",
      "parents": [
        "28d0a1dd26bad8a0542d167d148a7f4c9fe66c21"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 07 15:14:06 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 07 17:56:38 2020 +0000"
      },
      "message": "Revert \"Reland \"Cover more cases in nterp.\"\"\n\nThis reverts commit f375e929ade0898a6d7d8f6b2071805808c4357a.\n\nBug: 112676029\nBug: 157658616\nBug: 160543640\n\nReason for revert: Breaks wifi tests.\n\nChange-Id: I261b11ef59c22581b1be17e2c09a113adc2f0f5d\n"
    },
    {
      "commit": "c473dc7ae830ff6db4c9cead2be679af41da80e3",
      "tree": "b5b02261fdd2822f6478e0b83698bf35ee7c5e9a",
      "parents": [
        "01e5698d5440c2665b7ab6dd924985843be161a2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 03 15:04:21 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 03 19:31:43 2020 +0000"
      },
      "message": "Create individual counters and timers for compilation kinds.\n\nBug: 112676029\nTest: m\nChange-Id: I6f500d1253288e89ab83cd5d77f6ce0360bff340\n"
    },
    {
      "commit": "f375e929ade0898a6d7d8f6b2071805808c4357a",
      "tree": "0a255415c0db1b405dde72605cf3358ebf99760c",
      "parents": [
        "671d34d917aae4f9dd402f71a2632556f53d9e13"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 02 14:46:19 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 03 09:45:17 2020 +0000"
      },
      "message": "Reland \"Cover more cases in nterp.\"\n\nThis reverts commit 62d33f78909f86b7eea22b9e982a93709c2b2c92.\n\n- Remove Runtime::IsStarted check which was too conservative\n- Explicitly don\u0027t support lock counting and not invokable.\n\nBug: 112676029\nBug: 157658616\nChange-Id: Id2fb439bbd3aef7dd0bb2a97aa63a8af26ccbbd2\n"
    },
    {
      "commit": "0315efa800072aa324fb967aeb5af51f6421e328",
      "tree": "a74688042819459de47d079dc7c3d9ea5d3307dd",
      "parents": [
        "fda2a4d1cc84a12b5a5cd9f0c27e4fef8c0da0ba"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 26 11:42:39 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 26 16:08:54 2020 +0000"
      },
      "message": "Increment hotness in nterp when doing lookups.\n\nTest: test.py\nTest: google/perf/app-transition/app-transition-to-recents\nBug: 112676029\nBug: 157402634\nChange-Id: Ibe08720b442c5050062db1104be2d3a62641e629\n"
    },
    {
      "commit": "0d60a2b1eaa2cd2ec3481e49578b77405353efa1",
      "tree": "91f16b9321ef7631aff731b10da2024c6c9d2029",
      "parents": [
        "289bd1cccdb3aa37e2d129980f5c151f52f84897"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 17 14:31:56 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 18 08:37:10 2020 +0000"
      },
      "message": "Introduce an enum for the compilation kind.\n\nTest: test.py\nChange-Id: I5329e50a6b4521933b6b171c8c0fbc618c3f67cd\n"
    },
    {
      "commit": "f8cc26e53fecf48124789d23e233d5ab7025728e",
      "tree": "4ff361333e8d8916fd57d2e32b2a4d1b27df8518",
      "parents": [
        "ce0d0079e89e0238a334fdadba09c43940e3adcb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 10 15:37:37 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 16 07:51:29 2020 +0000"
      },
      "message": "Fix a braino when marking a method as being compiled.\n\nWe now compile without having ProfilingInfos. Move the flag of being\ncompiled from the ProfilingInfo to sets in the JitCodeCache.\n\nTest: test.py jit-at-first-use\nBug: 147207937\nChange-Id: I1a372bb5534764278f5e9df674783cf918c690b3\n"
    },
    {
      "commit": "62d33f78909f86b7eea22b9e982a93709c2b2c92",
      "tree": "50630d90e9dd76372b0f3f601d4b7911e03c7e48",
      "parents": [
        "eb1fece2e49980f91bd31b5a8ef7f78c5f410c50"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 28 18:16:28 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 28 18:16:28 2020 +0000"
      },
      "message": "Revert \"Cover more cases in nterp.\"\n\nThis reverts commit eb1fece2e49980f91bd31b5a8ef7f78c5f410c50.\n\nBug: 112676029\nBug: 157658616\n\nReason for revert: b/157658616\n\nChange-Id: Ic4dd6b1aa7c30c99d8bc2eb0c9f6ee5e3dc471ee\n"
    },
    {
      "commit": "eb1fece2e49980f91bd31b5a8ef7f78c5f410c50",
      "tree": "8d455c7ec92793b4c6ac967d0ee5b9865d873c5e",
      "parents": [
        "211f9d32587deb46c36b52862ea6d5ff9e97cb3f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 28 10:00:05 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 28 13:37:20 2020 +0000"
      },
      "message": "Cover more cases in nterp.\n\n- Remove Runtime::IsStarted check which was too conservative\n- Support running with access checks.\n- Explicitly don\u0027t support lock counting and not invokable.\n\nBug: 112676029\nTest: test.py\nChange-Id: Ie3b45007cb887e5f3af7d4468484a423d9b83f65\n"
    },
    {
      "commit": "5868adaefe72cc8bcdcd8325c40f712375a506d1",
      "tree": "a1d4328902c4e860fe69c4e4bb34052de2530df3",
      "parents": [
        "5a62af5dc9e9bafeffcac7820e1a5b7586e58477"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 12 11:50:34 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 13 08:00:22 2020 +0000"
      },
      "message": "Move implementations from class_root.h to -inl.h .\n\nMake it possible to include the definition of enum ClassRoot\nwithout pulling in a lot of other headers.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots.\nChange-Id: Ic90fdd70bfe0c5428a5c9a0d7901ea7e15b03488\n"
    },
    {
      "commit": "62dd4e83ba8cdf519168de32c5eff138efdda134",
      "tree": "8999875422725bcee5d6734dc702015d7aa4d90d",
      "parents": [
        "12b7ea1bdc97b35822aa939e19a6211d60eaaee7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun May 10 15:00:56 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 11 12:21:15 2020 +0000"
      },
      "message": "Continue try allocating until we\u0027ve reached max capacity.\n\n004-StackWalk currently fails because we start with a too low code cache\nto allocate code for a method the test expects to be JITted. To de-flake\nthe test, just keep on trying to allocate.\n\nTest: test.py\nChange-Id: Ie33e13bcc8825058259e12b0d4d552e89c9816e3\n"
    },
    {
      "commit": "12b7ea1bdc97b35822aa939e19a6211d60eaaee7",
      "tree": "ae7ca2419140be6751663f0e6bfd8d3861a9fac0",
      "parents": [
        "75b961a4cd926e647eb20ebf20ec5af410f7e1df"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 07 14:59:31 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 11 09:47:22 2020 +0000"
      },
      "message": "Handle the case a boot classpath class fails to verify.\n\nTest: boot\nBug: 155852343\nChange-Id: Ide5d546ce33b38614957bce89c215791dc9d044c\n"
    },
    {
      "commit": "3a079094a2b92a8dce725848d28abd5de7a84e9f",
      "tree": "49e15ae32b994fe76424194c8377ac858c54c97c",
      "parents": [
        "d4c45e61847ad4243b9cfe189de6531e20319a55"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat May 09 14:48:35 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun May 10 11:49:17 2020 +0000"
      },
      "message": "Don\u0027t run pre-verification if the thread cannot load classes.\n\nIn this situation (typically debuggable), the verifier will\nfail if verification of a class requires some classes\nto be loaded.\n\nTest: 689-zygote-jit-deopt\nBug: 152552491\nChange-Id: I8dd6da58c20dddf334965e6735cd6a7fade7bb97\n"
    },
    {
      "commit": "b2028739a2db03623ed76f5028ede1333c48f4c9",
      "tree": "2093c86d2f4a00bd0ddd058530e686302e2867ad",
      "parents": [
        "07c3da75fa4379497e15a371ffd40e54b97b0877"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 08 15:41:41 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 16 13:32:32 2020 +0000"
      },
      "message": "Run Java verification of mainline modules at boot time.\n\nTo avoid doing it at app startup time.\n\nMemory impact after boot (walleye rvc-dev)\n- zygote64 RSS: 116184K -\u003e 116828K (+642K)\n- zygote64 PSS: 20218K -\u003e 20612K (+394K)\n- zygote32 RSS: 103712K -\u003e 104276K (+564K)\n- zygote32 PSS: 34509K -\u003e 34598K (+89K)\n\nBoot time impact (walleye rvc-dev)\n- TOTAL_BOOT_TIME: 16622.9 -\u003e 15769ms (in the normal deviation)\n- Verified 1345 classes from mainline modules in 162ms (finishes\nbefore preloading classes finish)\n\nBoot time impact (blueline rvc-dev)\n- TOTAL_BOOT_TIME: 16984.1 -\u003e 17213ms (looks like in the normal\ndeviation)\n- Verified 1345 classes from mainline modules in 168.928ms (finishes\nbefore preloading classes finish)\n\nBug: 152552491\nTest: boot\nChange-Id: Ifa4ffe9da1ef66bbd5b3e20f737c85e79b520538\nMerged-In: Ifa4ffe9da1ef66bbd5b3e20f737c85e79b520538\n(cherry picked from commit 405b0970a267ce08194a1537010250d21208f2f2)\n"
    },
    {
      "commit": "41617b18f1c09e3031710d58fdb93c5aa43399ac",
      "tree": "36a0f3e3dc27e97980b96e1150ede718aee775fa",
      "parents": [
        "842555d72ee7511c193a65f34841cc92170a1850"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Mar 18 21:19:06 2020 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Mar 25 14:10:23 2020 +0000"
      },
      "message": "Add more logging and sanity checks for JIT mini-debug-info.\n\nUsed when diagnosing b/151137723. Keep it around.\n\nBug: 151137723\nTest: test.py -r --jit\nChange-Id: I10cc613c7396607e221fdc1f5972d26c1ac03fa8\n"
    },
    {
      "commit": "521644beb8f0a100b08a4cfb91c6aafb469925aa",
      "tree": "b316373d4708d8653e6749d5b3a70f4263cf6f94",
      "parents": [
        "7bbbe25f37ae70bebd121e0b4ea9bd53842281fe"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat Mar 21 13:17:52 2020 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Mar 23 15:19:32 2020 +0000"
      },
      "message": "Call JitCodeCache::FreeAllMethodHeaders under JIT lock.\n\nThis ensures that both ArtMethods and the code are removed\nfrom the JIT atomically (otherwise other thread can interfere).\n\nI am not sure if this is partial issue, but keeping the\nallocated code and methods in sync makes sanity check happier.\n\nBug: 151137723\nTest: test.py -b -r --host --jit --64\nChange-Id: I8580a9112c86b277631c0b2f9dd245fd55a73559\n"
    },
    {
      "commit": "c76232ef401a036a9828fd27f22163619d9c1944",
      "tree": "2abf2af17f530d0328ac5326834647d29c8fe6f1",
      "parents": [
        "80495fdb62d96d68c8648db3236f614d94ac1e6e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 18 11:23:33 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 20 09:45:42 2020 +0000"
      },
      "message": "Fix relation between debuggable / JIT zygote.\n\n- Move the logic to clear precompiled in ClassLinker.\n- Add a null check on entries in ZygoteMap\n- Avoid doing JIT zygote actions (precompile, remapping boot images)\nwhen debuggable.\n\nTest: android.jdwptunnel.cts.JdwpTunnelTest#testAttachDebuggerToProfileableApp\nChange-Id: I9b5e391bb35aa04bbeba01b9b563b33f96395d2e\n"
    },
    {
      "commit": "d8fd59974472bcf0bb0ed86778e555bdb09d0b1e",
      "tree": "eee92a307fa0a0405eb5f9302ff4a748e5342544",
      "parents": [
        "e1ee6f97e35c4798e532171213f4e2b50260e525"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 19 22:25:19 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 13 17:03:24 2020 +0000"
      },
      "message": "Reland^2 \"Add consistency CHECKs around ArtMethod fields.\"\n\nThis reverts commit 5945de03b6f6b35bcf6a575b2291e29ae7a2b1ee.\n\nReason for revert: CL can land now after\nhttps://android-review.googlesource.com/c/platform/art/+/1246288\n\nBug: 146765723\nChange-Id: I237b1e171d94d47a39b21ec8b33cffa0b087b285\n"
    },
    {
      "commit": "30fd85157260c91327c6b5a0816d312dd505c0e0",
      "tree": "355823ab233177d529baa873911cf08bb5b5deec",
      "parents": [
        "80dc7dc20855bf680fa598127f26e6047821bdd0"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 20 20:27:58 2020 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Mar 12 12:10:49 2020 +0000"
      },
      "message": "Refactor RemoveNativeDebugInfoForJit.\n\nThis is partial revert of CL/1099280 (Remove global maps).\n\nIt somewhat resurrects the lazy method removal.\n\nThe original goal was to only remove methods from the GC,\nand do all of them in bulk for simplicity and efficiency.\n\nHowever, this is proving infeasible since we have several\ncorner cases which remove methods outside the GC code path.\n\nThe behaviour for the GC code path is preserved by this CL.\nInstead of passing method array, the methods are individually\nmarked for removal and then repacking is immediately forced.\nThe only difference is that coroner cases are done lazily.\n\nTest: ./art/test.py -b -r --host --jit --64\nChange-Id: I42729545d6b51df788d92f9cf149a6e065b90c68\n"
    },
    {
      "commit": "fc47d6bf37703ba58960a4b25723263a160c5555",
      "tree": "536a80d3d3c19ba1095d42395ba63ceb1dd03e18",
      "parents": [
        "e5c48f75476bc7bac843c862dfeeaeed2b95d94f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 11 15:05:43 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 11 17:00:06 2020 +0000"
      },
      "message": "Adjust JitCodeCache::TransitionToDebuggable.\n\nOnly clear the precompiled flag if the method has it. Also added some\ncomments.\n\nBug: 144947842\nTest: atest CtsJvmtiRunTest1982HostTestCases\nTest: 689-zygote-jit-deopt\nChange-Id: I8b2856823f359076c41240f463902eb57c1f7603\n"
    },
    {
      "commit": "280e6c323419ad08860514ff8c09eefb8fc8e969",
      "tree": "db1d3d73a8c00c5df9cb8809dc3ab53e5ed09af6",
      "parents": [
        "b28e3042b1dcab32c328b356a31f6ea8b50a9f9c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Mar 03 13:52:07 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 10 18:46:53 2020 +0000"
      },
      "message": "Jit-zygote compiled code isn\u0027t debuggable\n\nWe check the debuggablity of compiled code by checking to see if it\nwas compiled by the JIT. This works since we throw all precompiled\ncode out when transitioning to debuggable. Unfortunately with\njit-zygote the non-debuggable zygote methods can be incorrectly seen\nas debuggable when encountered on the stack. This can lead to\nincorrect deoptimization and other issues. To fix this we explicitly\nexclude jit-zygote code from the check.\n\nBug: 144947842\nTest: ./test.py --host\nChange-Id: I4e953f64f8261b7a16d7c3199cec89998af0c1cf\n"
    },
    {
      "commit": "b28e3042b1dcab32c328b356a31f6ea8b50a9f9c",
      "tree": "4cfe4e2e6800db4ca843dd94a80e54fe97b8cfd7",
      "parents": [
        "b1fe5e18318c3af8d0cedc3f19cb6bc51817b859"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Mar 06 13:02:46 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 10 18:46:53 2020 +0000"
      },
      "message": "Clear PreCompiled when we transition to debuggable after zygote fork\n\nWe were leaving the PreCompiled bits set on method objects. This meant\nthat in some circumstances non-debuggable compiled code could be\nreattached to methods after the switch to debuggable with the zygote\nfork.\n\nBug: 144947842\nTest: atest CtsJvmtiRunTest1982HostTestCases\nChange-Id: I1f642f6da441c4f023ec1cbd873c05914c73dd7e\n"
    },
    {
      "commit": "2c2248cf139a99abb560eb9e89ea9a6e7d6f85f3",
      "tree": "82bca302720149f16b202b7489c93345d31acf47",
      "parents": [
        "ba2add1acc0bb4a80f11b9e3c1643cc1baf19698"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 06 14:50:45 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 10 11:01:19 2020 +0000"
      },
      "message": "Reland^3 \"Always put the framework profile in the boot image location.\"\n\nThis reverts commit 9bdba6e5e252de50c5cdd7f1680b84d87c903115.\n\nBug: 143126914\nBug: 119800099\nBug: 149859910\nBug: 150193586\nBug: 150890582\n\nReason for revert: CL not the reason for the regression.\n\nChange-Id: I4d6b2c1dde87930054f15c5a466275f255f81302\n"
    },
    {
      "commit": "9bdba6e5e252de50c5cdd7f1680b84d87c903115",
      "tree": "c6329df5ca44447b6d1bccab9b97d7f543330c31",
      "parents": [
        "e42876fa5557cf3fe30238f7e7e70cafdbe50001"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 05 10:37:21 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 05 10:38:56 2020 +0000"
      },
      "message": "Revert \"Reland^2 \"Always put the framework profile in the boot image location.\"\"\n\nThis reverts commit ed1f531085b4f81dbe50aba4b01738553920a2eb.\n\nBug: 143126914\nBug: 119800099\nBug: 149859910\nBug: 150193586\n\nReason for revert: Still seeing some regressions, now on both speed-profile and quicken.\n\nChange-Id: Ic0b304ddddfd2db1ae9e6e3ec38a8d157431a69d\n"
    },
    {
      "commit": "ed1f531085b4f81dbe50aba4b01738553920a2eb",
      "tree": "88f55fa770b327e4ecec4460feee74e5fe3dff6d",
      "parents": [
        "ab4d2222a206f48a27178c52f0ee31c30170823f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 03 09:56:17 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 04 16:17:33 2020 +0000"
      },
      "message": "Reland^2 \"Always put the framework profile in the boot image location.\"\n\nThis reverts commit acb5c2dfabaf8126e20d17a4d02ac183af2afc26.\n\nAnd adjust dex2oat image location adjusting logic, by removing the\nprofile, but keeping the extension location.\n\nBug: 143126914\nBug: 119800099\nBug: 149859910\nBug: 150193586\n\nReason for revert: Changes in dex2oat.cc fix the performance regression.\n\nChange-Id: I4686d2af029d7185c02d7e798f19d0f5d9328dbc\n"
    },
    {
      "commit": "acb5c2dfabaf8126e20d17a4d02ac183af2afc26",
      "tree": "34a6b1e267f84c361436ace562a3e0cc01874dca",
      "parents": [
        "b871d3eba85b150728d8e1f5bea95e3655edbc4a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 28 21:57:19 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 28 21:57:35 2020 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Always put the framework profile in the boot image location.\"\"\"\n\nThis reverts commit ec769b883cf49c742689a195a417345328fa1bf0.\n\nBug: 143126914\nBug: 119800099\nBug: 149859910\nBug: 150193586\n\nReason for revert: First commit was mixed with other regressions. This CL does have a ~20ms impact on app startup of calculator in speed-profile mode. But no regression with \"quicken\".\n\nChange-Id: I16df444fc4edf509a9db815891a1ada6005ebc91\n"
    },
    {
      "commit": "ec769b883cf49c742689a195a417345328fa1bf0",
      "tree": "f25dffbcf741fafcdf5ccdb03b85aeb203202d15",
      "parents": [
        "6cf7a9b0ecce7057758a55d8a2a2a5f1ca4653dc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 25 15:22:04 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 28 10:47:02 2020 +0000"
      },
      "message": "Revert \"Revert \"Always put the framework profile in the boot image location.\"\"\n\nThis reverts commit 2ad7c98dda05b0c8a049895cd68b3d2850156912.\n\nReason for revert: CL wasn\u0027t the culprit for the seen regression.\n\nBug: 143126914\nBug: 119800099\nBug: 149859910\nBug: 150193586\nChange-Id: Ib8796783660ddeae1d1761273f79e779b85aef5c\n"
    },
    {
      "commit": "2ad7c98dda05b0c8a049895cd68b3d2850156912",
      "tree": "57d33c8d60aeabc37bc364b0989b047f09b3c273",
      "parents": [
        "4d125afe9c92bc1d58da74355de80c4c38377eae"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 20 22:40:41 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 20 22:41:05 2020 +0000"
      },
      "message": "Revert \"Always put the framework profile in the boot image location.\"\n\nThis reverts commit 5265419a52ad11cea4771891c1269feaf56d7e40.\n\nBug: 143126914\nBug: 119800099\nBug: 149859910\n\nReason for revert: Odd messages from trace in b/149859910 leading to 20ms regression:\nDex file open from Zip Archive /system/framework/framework.jar\n\nChange-Id: I6f74d384fcd709f91d847a5360eb91498c1fa5fe\n"
    },
    {
      "commit": "4d125afe9c92bc1d58da74355de80c4c38377eae",
      "tree": "1fb6bb01da089787f22f3bdd59d9194d4f003667",
      "parents": [
        "5aa42926cf7728e34399847e81f3886d9cc7616f"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Oct 31 14:51:44 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 20 21:06:03 2020 +0000"
      },
      "message": "JIT mini-debug-info: Insert application entries at the head.\n\nSimpleperf expects that new entries will be added at the head.\nIt is easier to maintain that property than adjust simpleperf.\n\nBug: 143375574\nTest: test.py --host -b -r --jit --64\nChange-Id: Ib7aaa10d79791464b8233cacffd7c40070565f34\n"
    },
    {
      "commit": "5aa42926cf7728e34399847e81f3886d9cc7616f",
      "tree": "8e812a65f2acad56d8a4f52300cc79644d1acd75",
      "parents": [
        "ef46e101be0afb84898a9ac37af1f1f6c1677cf4"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 20 17:20:12 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 20 19:02:13 2020 +0000"
      },
      "message": "Fix iteration in RemoveNativeDebugInfoForJit\n\nGet the next pointer before deletion clears it.\n\nChange-Id: Ic471d88a9a79e6b1b84e063f61c78bd2870eb76c\n"
    },
    {
      "commit": "5945de03b6f6b35bcf6a575b2291e29ae7a2b1ee",
      "tree": "41b6e3ec202b198a2d55aedfd8181b9aa6b0555d",
      "parents": [
        "761ee217562c6c9615af0b73df137ecadcaca303"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 19 16:23:01 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 19 22:06:09 2020 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Add consistency CHECKs around ArtMethod fields.\"\"\"\n\nThis reverts commit f994025d8ebc8ef63d2083436daffc7f94363c80.\n\nReason for revert: Still hitting the failure.\n\nBug: 146765723\nChange-Id: Ie07300e9d2e605cd0281fb313d017680e77e8740\n"
    },
    {
      "commit": "5265419a52ad11cea4771891c1269feaf56d7e40",
      "tree": "dc0da41c345264747c5a78865c4a4c35fad8d09c",
      "parents": [
        "58cc76d2102383b7474415b651a83b7551ab7f39"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 18 10:03:50 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 18 13:39:14 2020 +0000"
      },
      "message": "Always put the framework profile in the boot image location.\n\nThis enables testing an update of the ART module on the device.\n\nThis CL also removes the \"always compile native methods in JIT zygote\nconfiguration\" as it is now expensive to check, and in the future we\nshould get native methods in the profile.\n\nBug: 143126914\nBug: 119800099\n\nTest: boots, adb install com.android.art.apex works\nChange-Id: I6c67344c5081749b4b19d52acddd0d2a196adf4a\n"
    },
    {
      "commit": "58cc76d2102383b7474415b651a83b7551ab7f39",
      "tree": "e96515725411cfef116f73dad0b152763e24d6f1",
      "parents": [
        "641f155fa4433e2ec5b63be33bf4d7efdd6f1188"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 18 10:18:54 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 18 13:37:03 2020 +0000"
      },
      "message": "Fix braino in Jit::PostZygoteFork.\n\nThe logic for mapping boot image methods after fork is for a child\nzygote, so we should check as such (just as the comment mentions).\n\nNot doing the check leads to a race for a forked process with a child\nzygote, which if the boot image methods are not yet mapped, it would try\nto map them twice.\n\nTest: boots and no crashes in webview forked processes.\nBug: 119800099\nChange-Id: I19767d8e3b992e51274e232b41e10a0fe363f284\n"
    },
    {
      "commit": "f994025d8ebc8ef63d2083436daffc7f94363c80",
      "tree": "e91c8b1beb52459d933bef97a2bef76587dcd3f8",
      "parents": [
        "2925311f957f50bbec2b034c98877d22f702ee76"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 06 16:23:15 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 17 15:31:37 2020 +0000"
      },
      "message": "Revert \"Revert \"Add consistency CHECKs around ArtMethod fields.\"\"\n\nThis reverts commit eeae32ba02c7d3785a8d195e967febfaa0b1113b.\n\nBug: 146765723\n\nReason for revert: Change can now land after:\nhttps://android-review.googlesource.com/c/platform/art/+/1236946\n\nChange-Id: I082c1cd20b8af4f83a5c7bb7853badcbe2ecb38b\n"
    },
    {
      "commit": "4cbb51a0c057249a500ca7fe3947401978f165d2",
      "tree": "af626569243ce560c45fe5c653ca61fae0cd6a0b",
      "parents": [
        "5d24c3d43152b36181fbf9819bfbe5589572f16b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 07 11:25:54 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 07 18:21:11 2020 +0000"
      },
      "message": "Fix ART code around JIT zygote.\n\n- The right image location for it now ends with a profile\n- Add profile locations to image spaces, so the JIT knows what to\n  compile\n- Remove now deprecated ApexImage related code.\n\nBug:119800099\nTest: boots, methods from framework gets compiled by zygote\nChange-Id: Ie31b62d0a25f1b50e266c1537c43307d7b29e138\n"
    },
    {
      "commit": "ecd9502601d713fdb5477f7142f05f329b469166",
      "tree": "5a14017950e9502f296c92b0a9446c6c5289c278",
      "parents": [
        "f69c189716c0b7edbf87b744f24cccdf941f9df0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 27 09:35:10 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Feb 01 13:20:47 2020 +0000"
      },
      "message": "[jitzygote] Don\u0027t spawn a thread in child zygotes.\n\nThis prevents forking the zygote until the thread dies. Instead,\ncheck whether the main zygote has finished compiling post-fork\n(assuming this happens reasonably soon after compilation is done).\n\nTest: boots with jitzygote config, fork a webview process (settings -\u003e about \u003e license)\nBug: 145973776\nChange-Id: Ia854e894cf5c951696d2c4f042607e0edc9ea6c4\n"
    },
    {
      "commit": "e91e795a77b96d58276f75b1b244a5509ef8c215",
      "tree": "d34f8164bb7adb8ed46e3c989877012555e194c3",
      "parents": [
        "aa6f6f1c86705fe3cedf929bd30d1e6f51524594"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 23 10:15:56 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 31 08:20:57 2020 +0000"
      },
      "message": "Replace instrumention id with stack pointers.\n\nReplace instrumentation ids for instrumentation frames, which are\ninherently broken (see b/72608560), and use stack addresses instead\nto properly identify which frames to pop / unwind.\n\nBug: 72608560\nBug: 148166031\n\nTest: ./art/test/testrunner/testrunner.py --trace --debuggable --ndebuggable --optimizing --interpreter --jit --debug --ndebug -j32\nTest: run-libjdwp-tests.sh\nTest: 2011-stack-walk-concurrent-instrument\nTest: ./art/test/run-test --host --dev --runtime-option -verbose:deopt,plugin --prebuild --compact-dex-level fast --jit --no-relocate --create-runner --runtime-option -Xcheck:jni 1965-get-set-local-primitive-no-tables\n      art/tools/parallel_run.py -j80 /tmp/path/to/runit.sh --out failure.txt\n\nChange-Id: I71f6e55b9da608796cd3142b147f7b50bbd292ec\n"
    },
    {
      "commit": "775f6817d7d22827b858be5f5d9713137372622d",
      "tree": "255f2de772706ffe12936c42cedee3aa170c6be9",
      "parents": [
        "5c7f367987080488fdb4e52a13dd92a4cafd798f"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Jan 24 11:58:41 2020 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Jan 28 03:51:42 2020 +0000"
      },
      "message": "JIT debugger_interface: add simpleperf presumit check.\n\nBug: none\nTest: run `atest --test-mapping art/runtime/jit`.\nChange-Id: Ie22eba78cda83395b2c146435f509578e4f24620\n"
    },
    {
      "commit": "4d7e1a8251c991828121043982d8b4bf0a9dd027",
      "tree": "510a0f306472254d580a3442b697dbf601de1e3e",
      "parents": [
        "c1cd1330c65e8b9b13bcd93bd9634eed6453c5dc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Jan 26 19:57:02 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 27 13:41:47 2020 +0000"
      },
      "message": "nterp: Don\u0027t compile baseline if a process cannot allocate profiling infos.\n\nThe zygote cannot allocate profiling infos. Found in b/148219586\n\nBug:148219586\nTest: Use libartd on an x64 emulator\nTest: gcar_emu_x86_64-userdebug boots.\nChange-Id: Ic8c12c924dfc93498198a6619724f0015f674944\n"
    },
    {
      "commit": "f0e90bacbfcd36fed615dd82c689f872437fa5ef",
      "tree": "4a30d66708fa83184bd7fc3207c34d0994be9336",
      "parents": [
        "13fcc3e2ba4b2887907ef9b89b09a9499bbfdc16"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Jan 17 15:38:24 2020 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Jan 24 14:38:38 2020 +0000"
      },
      "message": "Revert^2 \"Enable JIT dual data mapping.\"\n\nWe use it for zygote.  Enable it for other cases\nas well for consistency, security and testing.\n\nThis reverts commit 014c16c3e1ccedbea025111bc79f0a0351ba52d0.\n\nReason for revert: Reland https://r.android.com/1105362\n\nTest: testrunner.py --host\nChange-Id: I147365634ce196c4acc298e36966936f54e181aa\n"
    },
    {
      "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": "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": "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": "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": "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": "57cacb720e6f995aa1a42df6e2e6470a9ec57261",
      "tree": "bb73a113c94bc397cd7c99a4c64e033bf29b9803",
      "parents": [
        "013d1ee96b928f3bda9031e94d4a69f827133ce6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Dec 08 22:07:08 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 17 09:48:00 2019 +0000"
      },
      "message": "Refactor OSR related code to prepare for \"true\" OSR.\n\n- Make the compiler restore all callee-save registers.\n- Make the compiler return any value in a core register: this simplifies\n  the current stub, and will also avoid having to look at the return\n  type (and reading the shorty) when returning to an nterp frame.\n- Add OsrData and offsets of its members to be used by nterp.\n\nTest: test.py\nBug: 27094810\nChange-Id: Ifa4f4877ab8b1f0c6a96feccea30c909942eb2fa\n"
    },
    {
      "commit": "085f7408de57fedac4ec95d5b5e8b4fe809dbeba",
      "tree": "108393c6fc6d2fa0ed27f6b299b993889a43fe40",
      "parents": [
        "0d38e8587c014e600bc6ee916aa15912c0ef190d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 16 16:30:48 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 16 17:53:01 2019 +0000"
      },
      "message": "Re-arrange code to avoid recursive locking of the JIT lock.\n\nCreating a profiling info requires the lock, so don\u0027t hold it before\ncalling ProfilingInfo::Create.\n\nTest: test.py\nChange-Id: Ib217052c09274665cbfa7572540ee391858dd342\n"
    },
    {
      "commit": "9bab2374d3bec7c9396be735f63ce2a1d606e254",
      "tree": "dfe5dca8f25f41b39f777f06acd85f605d03bf85",
      "parents": [
        "4ca2f4894ced84805c3c1b707cc1db790339a582"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Dec 09 08:52:33 2019 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Dec 09 20:40:18 2019 +0000"
      },
      "message": "Fix overrun bug in MapBootImageMethods\n\nIn the case an ArtMethod spanned across page_end, the logic would\ncorrupt the memory in the next section when calling\nSetEntryPointFromQuickCompiledCode. This cause errors in the boot\nimage profile saving since that\u0027s one of the only places where boot\nimage ArtMethods are unconditionally visited.\n\nBug: 145686711\nBug: 139883463\nTest: reboot the device 10+ times and validate there are no crashes for\nTest: boot image profiling configuration.\n\nChange-Id: I3a459d3b00b17f761ae703313f5c8f0c40ee3662\n"
    },
    {
      "commit": "b0a9747b363d1a368ed390fde07c6bfd6fbc78bf",
      "tree": "490bc94c52b5349f6c689d73db37c6ffca264869",
      "parents": [
        "64a5d1ae323efa384e317e3b8f2cc413a1ac2680"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 05 15:17:46 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 06 13:48:12 2019 +0000"
      },
      "message": "Fix go/lem breakages on baseline configs\n\n- Don\u0027t collect profiling info for now, as compiled code reference\n  them directly.\n- Only compile optimized after reaching baseline hotness threshold if\n  tiered JIT is enabled.\n\nTest: test.py, go/lem benchmarks.\nChange-Id: I0d21d5f77825a710588ef5a7c11288a5b9757907\n"
    },
    {
      "commit": "e3f775bace85f4fe02dfd4042091d2f7d6fcbc25",
      "tree": "41446ada658dc05abb073edc5c2c134e83802619",
      "parents": [
        "621738039bbca55a2513bddb6ea66d4934fa7089"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 04 14:41:52 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 05 13:34:57 2019 +0000"
      },
      "message": "Address comments from aog/1180224.\n\nMove handling of objects in interpreter cache to weak objects.\n\nBug: 119800099\nTest: test.py\nChange-Id: Ie7b2b2e285607a7c1460fd4f0b4ea690f9a16594\n"
    },
    {
      "commit": "a59af8aeaad8fe7d68d8f8de63eab9cf85b6ab31",
      "tree": "83195c74b135731cc4555254763a8f449691c1b0",
      "parents": [
        "5c8cc64b5f1580faf510f27527e7e22987174963"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 27 17:42:32 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 03 14:32:09 2019 +0000"
      },
      "message": "JIT baseline: trigger optimized compilation on hotness threshold.\n\n- Add a new hotness count in the ProfilingInfo to not conflict with\ninterpreter hotness which may use it for OSR.\n- Add a baseline flag in the OatQuickMethodHeader to identify baseline\ncompiled methods.\n- Add a -Xusetieredjit flag to experiment and test.\n\nBug: 119800099\nTest: test.py with Xusetieredjit to true\n\nChange-Id: I8512853f869f1312e3edc60bf64413dee9143c52\n"
    },
    {
      "commit": "de3e51d655ac46b4e570ad66c664308745c3e8f8",
      "tree": "389ce5668a712e78a273dd686a5bd7edd0c24e34",
      "parents": [
        "20036d80f246b564331e0943aa07ec3b50fc15d9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 28 16:29:55 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 29 08:39:19 2019 +0000"
      },
      "message": "If a collection is in progress, we need to mark new code.\n\nOtherwise, the GC will collect it.\n\nThis got accidentally removed here:\nhttps://android-review.googlesource.com/c/platform/art/+/719573\n\nBug: 136108889\nTest: test.py\nChange-Id: I00a803b7fe8220bd84f55c039d6d0e52b1469459\n"
    },
    {
      "commit": "e2a3aa988630b3c2952ac44943f03dde60454195",
      "tree": "acee7012af6e2b161c91e6cd8b7b4d12eb5aa927",
      "parents": [
        "a2c4d61e482a15974e3e220bcd62a64043ee536f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 25 17:52:58 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 27 14:04:43 2019 +0000"
      },
      "message": "Baseline JIT: update inline caches in compiled code.\n\nIn trying to remove profiling from interpreter, to speed up\ninterpreter performance.\n\nBug: 119800099\nTest: test.py --baseline\nChange-Id: Ica1fa41a889b31262d9f5691b30a31fbcec01b34\n"
    },
    {
      "commit": "986914bfd60c1cace9726e9029598d72cbf279e1",
      "tree": "556e5549254e4d5b280a63451fa8673ab36fba7b",
      "parents": [
        "5697faba0e910374da285f5f848d2aaf7ee6ffec"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 19 01:12:25 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 19 17:15:48 2019 +0000"
      },
      "message": "Revert^4 \"Initial support for adding virtuals with structural redefinition\"\n\nThis reverts commit 2f8c1ac61b0c611d67badea70261c851ed19b82a.\n\nIf there were pending tasks to jit compile a method which is made\nobsolete the JIT would CHECK fail, since the newly obsolete method is\nmarked DontCompile. This didn\u0027t happen with non-structural\nredefinition since in that case the \u0027valid\u0027 ArtMethod always remains\nthe same.\n\nTo fix this we just have the JitTask check if the method it\u0027s\ncompiling is compilable and fail if it\u0027s not.\n\nReason for revert: Fixed JIT check failure.\n\nTest: ./test.py --host\nBug: 134162467\nBug: 144168550\nBug: 144729319\nChange-Id: Ib867b2de13bb4c2978b4538a5851c647caf0e1cc\n"
    },
    {
      "commit": "0f6bde0ee40de32e404d5c7882fe8c8aa47de0a3",
      "tree": "86ee936d14a432290aa54f1b15e775bf757801be",
      "parents": [
        "83aacb23d88c3df3d7fe655655b715f8229078f9"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Nov 11 18:38:10 2019 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Nov 13 00:33:20 2019 +0000"
      },
      "message": "Adjust profile version when the boot image profiling is switched on\n\nThe current profile version needs to be updated if the boot image\nprofiling was switched on dynamically. Otherwise we will not be able to\nadd new data to the file since we will have a version mismatch.\n\nTest: manual \u0026 profile_compilation_info_test\nBug: 139884006\nChange-Id: I85e9970c5e26d3f2144a644e7052f2b6a433e1db\n"
    },
    {
      "commit": "831f20f06f1f3eb2230c7a2266f72bebc6232587",
      "tree": "5b61d85311f4526dbd3f4633aba7bb0ca55ce7c9",
      "parents": [
        "382df393c684c6a5f3856365177da715880d7f08"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Nov 03 20:54:28 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 04 10:40:59 2019 +0000"
      },
      "message": "Don\u0027t use F_SEAL_FUTURE_WRITE for boot image methods.\n\nThe behavior with private mappings on fork is unexpected.\n\nBug: 143833776\nBug: 119800099\nBug: 143637883\nBug: 143569713\n\nTest: boots\nChange-Id: Iaccf33b787a7a5cb09a0054b87e4f34850929c72\n"
    },
    {
      "commit": "382df393c684c6a5f3856365177da715880d7f08",
      "tree": "ef0923a3f0b2ab354e4be077798777533fc8f9e2",
      "parents": [
        "9f459c4ef60d771fc4eb8da1f709f479ca23a6ab"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 31 11:57:15 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 04 08:24:20 2019 +0000"
      },
      "message": "Add consistency CHECKs around ArtMethod fields.\n\nThe jitzygote approach relies on those CHECKs which are currently\nguaranteed.\n\nBug: 119800099\nTest: builds\nChange-Id: Ie5bb57bdd9b3c28a2d9cab607db2cf858e1ec131\n"
    },
    {
      "commit": "014c16c3e1ccedbea025111bc79f0a0351ba52d0",
      "tree": "c3657115f919ae42d72416697573a4dcfbfb2c6f",
      "parents": [
        "201ffea4a91f1ff052bb72eedb44a3bff2a35c76"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Oct 31 15:56:08 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Oct 31 20:29:41 2019 +0000"
      },
      "message": "Revert \"Enable JIT dual data mapping.\"\n\nThis reverts commit b3b803b69d5db392ea7cf7a1fea443d4ba133134.\n\nReason for revert: Another random idea for diagnosing timeouts.\nThis CL was submitted around the right time and touches mmaps.\n\nBug: 142039427\nTest: device boots\nTest: test.py --host -b -r --jit --64\nChange-Id: If8e3fb5e9bd5b4389f807f8ce07e4b9d8f263009\n"
    },
    {
      "commit": "8e23d38035fe04ffab8b89c348b5b178bd8c492e",
      "tree": "23e776aa2939410ce8648f7e4532bd77ee2fab35",
      "parents": [
        "4b7950139575c76d716986cdb8621166ea2bb849"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 30 13:53:01 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 31 11:24:32 2019 +0000"
      },
      "message": "[jitzygote] Suspend all threads when remapping boot image methods.\n\nPrevents other threads from concurrently modifying the data.\n\nBug: 143569713\nBug: 119800099\nTest: boots\nChange-Id: I2b07d34c98a37306e9157bfa63321ed01f68479e\n"
    },
    {
      "commit": "8852e5309a47c99d098aa85e8934cc06e8104807",
      "tree": "8316f4b25034531bacaab06aa235d64dd1f41e63",
      "parents": [
        "7cf5607f472020711e36eedbbfebb25b40d3f90e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 30 09:43:35 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 31 09:39:12 2019 +0000"
      },
      "message": "[jitzygote] Remap boot boot image methods in zygote when single-threaded.\n\nThis avoids concurrent updates made by other threads while copying the\ndata.\n\nBug: 143569713\nBug: 119800099\nTest: boots\nChange-Id: Ife0141a45b8d8671ab0c5868ccf90b4799a9f5db\n"
    },
    {
      "commit": "e3884e357566d739a33f22a0bdc4b76173cd6093",
      "tree": "d6169d034cb5a5d1c7e7a3cd0e9e6c18dd161f0b",
      "parents": [
        "45217376b527cd17d758152c54960e6786288e31"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 28 17:04:49 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 29 15:45:01 2019 +0000"
      },
      "message": "[jitzygote] Map the boot image fd after the contents have been written.\n\nIn order to not rely on undefined behavior from the kernel, map\nthe boot image methods fd after the shared mapping got updated with\nthe contents.\n\nBug: 119800099\nTest: BusinessCard\nChange-Id: I501b8994f2b0f2b27c4693443827ae1583f9fae4\n"
    },
    {
      "commit": "697fe5cc6ce0e9c72c3681152a99a5d5bab4253c",
      "tree": "3c3f5fee37e29271a0ef5e6fdfbf5157563759fa",
      "parents": [
        "5115a4dffb95637efe1df92d6f6eb70a8724c9ae"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Oct 09 17:24:17 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Oct 18 15:29:34 2019 +0000"
      },
      "message": "JIT mini-debug-info: Append packed entries towards end.\n\nNeeded to avoid potential race condition with libunwind.\n\nTest: ./art/test.py -b -r --host --jit --64\nTest: device boots\nChange-Id: I214247acf5673c5bc517ee1400454aec62026432\n"
    },
    {
      "commit": "5115a4dffb95637efe1df92d6f6eb70a8724c9ae",
      "tree": "605f5ca51dde13b1ec93fb0348d52969367b126e",
      "parents": [
        "15ffafd026962a16ee1abdea630542dc46f67482"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 17 14:56:47 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 18 12:49:45 2019 +0000"
      },
      "message": "Clean up initialization checks for entrypoints.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing --jit\nTest: aosp_taimen-userdebug boots.\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing --jit\nBug: 18161648\nChange-Id: Ia3c2fdb616a5bb289e5afeccd4e6fe3eaf7ed697\n"
    },
    {
      "commit": "cce414f8b46de709250af49398083e99f96b6161",
      "tree": "b212a1a4aa7fbd47728785bf9e979b6ffb60fde4",
      "parents": [
        "0866ea41c21df6672b302eabe5b98ebb40c92613"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 07 08:51:33 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 16 15:29:16 2019 +0000"
      },
      "message": "Delay entrypoint update until visibly initialized.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing --jit\nTest: aosp_taimen-userdebug boots.\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing --jit\nBug: 18161648\nChange-Id: Idde0cbc848f19236319426bc82ac10b8b8bb9ee9\n"
    },
    {
      "commit": "adb66f967432ff1f0d51726923a64943c9f1d35b",
      "tree": "1444900ef83edb837c446361ef38bbf17c17f50c",
      "parents": [
        "ff258063f2748aadf0ea83d0d284b1bedaf792d9"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Oct 10 12:59:43 2019 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Oct 10 17:34:37 2019 +0000"
      },
      "message": "Revert^2 \"JIT: Separate code allocation and initialization.\"\n\nThis reverts commit 63b0c26aae3e7237166dd781eb7a15fbc7c091c2.\n\nTest: ./art/test.py -b -r --host --all-gc -t 708\nReason for revert: Reland after bug fix.\nChange-Id: Ic13e2799bf4bdd8ca468f72cc0f3b72f224f2b08\n"
    },
    {
      "commit": "ff258063f2748aadf0ea83d0d284b1bedaf792d9",
      "tree": "1c7a94758a09ad9141d3413ea14e0d3e651c3c77",
      "parents": [
        "98416bf06592493ee6fde039af5eaa5efab73acc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 09 15:33:48 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 10 14:18:25 2019 +0000"
      },
      "message": "jitzygote: only copy contents if they differ.\n\nmemcpy will write to the page and dirty it, so avoid it if\ncontents are the same.\n\nBug: 119800099\nTest: boot\nChange-Id: I075a36eaa448f1214b0d8f452bfa65026b293658\n"
    },
    {
      "commit": "63b0c26aae3e7237166dd781eb7a15fbc7c091c2",
      "tree": "5713f52331c0cd3b881df80f4314f9ea2a0f09db",
      "parents": [
        "e1b36f09cb478a39ba443f6acb11cd1901c01c1d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 09 20:12:15 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 09 20:12:15 2019 +0000"
      },
      "message": "Revert \"JIT: Separate code allocation and initialization.\"\n\nThis reverts commit e1b36f09cb478a39ba443f6acb11cd1901c01c1d.\n\nReason for revert: Crashes in art::jit::JitMemoryRegion::FreeCode\nhttps://logs.chromium.org/logs/art/buildbucket/cr-buildbucket.appspot.com/8900060997388741808/+/steps/test_libcore/0/stdout\n\nChange-Id: I40259baec9acbb7889732548f8b31e0a48651cd9\n"
    },
    {
      "commit": "e1b36f09cb478a39ba443f6acb11cd1901c01c1d",
      "tree": "75642c703fee9fce7cd09af344dd26d485379b13",
      "parents": [
        "449011217844401ed491ad0f89dcba21cc26bfc4"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Oct 04 17:44:33 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Oct 09 15:51:56 2019 +0000"
      },
      "message": "JIT: Separate code allocation and initialization.\n\nAllocate(reserve) both code and data first,\nand then initialise(commit) both of them.\n\nThis is useful since we know the address sooner\nfor the purpose of debug info generation.\n\nTest: ./art/test.py -b -r --jit --host --64\nChange-Id: I4971a8801004efbc6c2b27884834dda775b72664\n"
    }
  ],
  "next": "9bee62aa8ce05cd5f5154b8240e537b7c358530e"
}
