)]}'
{
  "log": [
    {
      "commit": "d7e9bbf092b5a61048358fd54183526ef12284af",
      "tree": "620cee17c499bdb23217224b0b1332408d725a6e",
      "parents": [
        "bb206de72135271e66e58576b1196f3e08d5b6fd"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 28 13:18:57 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 29 09:50:00 2019 +0000"
      },
      "message": "Clean up explicit conversions to ObjPtr\u003c\u003e.\n\nAdd an ObjPtr\u003c\u003e::DownCast() overload that takes a plain\npointer and remove unnecessary calls to MakeObjPtr(),\nusually preceding DownCast(). Move the MakeObjPtr() to\ncommon_art_test.h .\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 31113334\nChange-Id: I2a243b6d8f3b2e773396dfc53b659c5f7d9ea44a\n"
    },
    {
      "commit": "3b45890cf987c0b57965acd78958cd8eca487b8e",
      "tree": "18a3dd853e9829873688a6a61bda39dd681b2a27",
      "parents": [
        "423bebb17f15c3867a52315f0ae421f08f14544f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 26 17:08:41 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Mar 27 09:45:20 2019 +0000"
      },
      "message": "ObjPtr\u003c\u003e-ify mirror::Throwable.\n\nAnd do some cleanup after previously submitted changes.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 31113334\nChange-Id: I4f8e118bb385a9cba464a564b15addc1c7306ac2\n"
    },
    {
      "commit": "f57f2ed8c3f75c8d8c2c051f2961ca4e8330a698",
      "tree": "8a734652280d099f95d0d2f8cb358fcf56ca0d47",
      "parents": [
        "5cb98a99cff06cd6a5b94f7d819b180d6e621f32"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 25 15:55:42 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 26 09:52:25 2019 +0000"
      },
      "message": "ART: Clean up obj_ptr.h and obj_ptr-inl.h .\n\nMove ObjPtr\u003c\u003e member function definitions that depend on\nother functions in obj_ptr-inl.h also to the obj_ptr-inl.h.\nUse C++14 std::enable_if_t\u003c\u003e and C++17 std::is_base_of_v\u003c\u003e.\nImprove kObjPtrPoisoningValidateOnCopy code readability\n(avoid ternary operator). Move relational opeators to\nnamespace scope and reimplement !\u003d as negation of \u003d\u003d.\n\nAlso move PtrCompression\u003c\u003e::Compress(ObjPtr\u003c\u003e) to the\nobject_reference-inl.h which includes obj_ptr-inl.h.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: I5116c0e322775c19a88687f30742ef654a8be873\n"
    },
    {
      "commit": "8764dc3b3eda7f6f13ed7b584475503fe5bedd59",
      "tree": "e8f6e3a4a2596595ffdc8a517daaf37030482eae",
      "parents": [
        "49b74a8c685acfe43dd33e3f51a24c486388bee1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jan 07 15:20:12 2019 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 09 12:38:30 2019 -0800"
      },
      "message": "ART: Use iosfwd more\n\nUse iosfwd where an include of ostream is unnecessary. Also move\ncallee_save_type.h to runtime.\n\nBug: 119869270\nTest: mmma art\nChange-Id: Id8995d6f524e4c491eb6f57fdffb940cf35d291f\n"
    },
    {
      "commit": "4df2d8041f5dcc7af8c3b3b60b0ea87a1e0d3b94",
      "tree": "0273072a2b65d6c0cf692a3e7f8eab9814d9d23d",
      "parents": [
        "233b572a940431a94a1790750afdceab2d6f4fde"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Sep 27 16:42:44 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 28 09:12:06 2018 +0100"
      },
      "message": "Revert^2 \"Load boot image at a random address.\"\n\nThis reverts commit f3d077373536c54824e4449759dff2f18369eab3.\n\nFixed Heap constructor to reserve extra space for GSS.\n\nChange-Id: I6a65be35f4aa183304db5491da4a4810d8e3b266\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing --relocate --no-relocate\nTest: Pixel 2 XL boots.\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing --relocate --no-relocate\nTest: art/test/testrunner/run_build_test_target.py -j48 art-gtest-gss-gc-tlab\nBug: 77856493\n"
    },
    {
      "commit": "f3d077373536c54824e4449759dff2f18369eab3",
      "tree": "e00d19a342ff429fc514bf70bf52ff005a00911c",
      "parents": [
        "5ad79d85d77a42456728897ac3e2e7d4530e618e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Sep 27 16:24:17 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Sep 27 16:24:17 2018 +0000"
      },
      "message": "Revert \"Load boot image at a random address.\"\n\nThis reverts commit 5ad79d85d77a42456728897ac3e2e7d4530e618e.\n\nReason for revert: Breaks GSS garbage collection config.\n\nBug: 77856493\nChange-Id: Ifa39966ac2470154f8ba093de4804689d545219b\n"
    },
    {
      "commit": "5ad79d85d77a42456728897ac3e2e7d4530e618e",
      "tree": "ff70d1f12904c718f2f3f721d3846f4305eae53d",
      "parents": [
        "5d7015cd64085068b1685d44339b4b705ef3f065"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Sep 03 09:54:09 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Sep 26 13:08:36 2018 +0100"
      },
      "message": "Load boot image at a random address.\n\nAnd perform in-place fixup of references and pointers. This\ndirties all the boot image memory loaded by zygote, so there\nshall be no \"shared clean\" boot image pages anymore, these\nshall change to \"shared dirty\". However, as we\u0027re using a\nprofile-based boot image, these pages are presumably used\noften enough and unlikely to be paged out anyway.\n\nThe in-place fixup takes around 60-120ms when starting the\nzygote on aosp_taimen-userdebug. However, an experiment with\nMAP_POPULATE pushes the raw fixup down to around 12-15ms.\nIf we used compressed images, this would be the actual time\nfor fixup as the data would be already present in memory.\nIf we keep using uncompressed images, we shall need to tune\nthe loading with MAP_POPULATE or MADV_WILLNEED.\n\nThe -Xrelocate/-Xno-relocate option is re-interpreted from\n\"use patchoat if needed\" to \"relocate the boot image in\nmemory if possible\". We do not allow relocation for the AOT\ncompilation to speed up dex2oat execution and help producing\ndeterministic output.\n\nThe patchoat tool shall be removed in a follow-up CL.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing --relocate --no-relocate\nTest: Pixel 2 XL boots.\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing --relocate --no-relocate\nBug: 77856493\nChange-Id: I2db1fabefb5d4b85c798cd51e04c78cb232bff4a\n"
    },
    {
      "commit": "3b7dc35f4e5c4d86c73b6784b7ee0df701c68ec2",
      "tree": "1e3a56846ec63148142ac6fb1fef214129f4a05e",
      "parents": [
        "8228cdf4ad6322ec8133564aaa51f966d36c0f17"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 06 20:02:03 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 08 13:13:20 2017 -0700"
      },
      "message": "ART: Clean up allocator.h\n\nMove the single-use typedefs to their users. Remove now-unused\nincludes. Fix up transitive includes.\n\nTest: m\nChange-Id: I953d774b28f1e4f3191f96943e3a69ce66aa398a\n"
    },
    {
      "commit": "b486a98aadc95d80548953410cf23edba62259fa",
      "tree": "b113b7d50a4a015502873b7742c9ece00d293e84",
      "parents": [
        "1656ca9e6996cb555b4463e5efd4bd7e3f4fb816"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 01 13:45:54 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 02 08:24:02 2017 -0700"
      },
      "message": "ART: Introduce thread-current-inl.h\n\nFactor out Thread::Current() code into its own -inl file to remove\ntransitive includes.\n\nThis requires at the same time correcting mutex.h, i.e., moving\nsome functions into mutex-inl.h.\n\nTest: m test-art-host\nChange-Id: I88f888b604e0897368d9b483edce6ce4332dd9c9\n"
    },
    {
      "commit": "c73cb64585f301c8bb3b03a0684f6baead99b7ac",
      "tree": "a11cf45d631116afbee446956defe80406cff082",
      "parents": [
        "fc5d8c28e5265634aeeb2f255dc8d5747e2919ee"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Feb 22 10:11:30 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Feb 22 10:11:30 2017 -0800"
      },
      "message": "ART: Remove ObjPtr kPoison template parameter\n\nMove to a global constexpr, so that object pointer poisoning can\nbe explicitly turned off for lower debug build overhead.\n\nBug: 35644797\nTest: m\nTest: m test-art-host\nChange-Id: I2412b67cbec144f2aee206fb48591abe581fd00a\n"
    },
    {
      "commit": "9d156d500801accee919b6d51e22d6ddcdcd4a05",
      "tree": "92129562c0ba1673c660297f26444a4a2ad31459",
      "parents": [
        "078483d4dfd049d5b3f192a99e2dfdc355e4754f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 06 17:44:26 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 12 09:49:49 2016 -0700"
      },
      "message": "Move Heap parameters to ObjPtr\n\nDeleted some unused object dumping code.\n\nTest: test-art-host\n\nBug: 31113334\n\nChange-Id: I747220caafe6679591fd4b361d7f50383a046164\n"
    },
    {
      "commit": "1cc62e4ea24828fdb3f3da0b8603f0b107d09a04",
      "tree": "718e322f3d05ac095770d4dc2a68b824bf3974a7",
      "parents": [
        "82d4838d6bb3480cd25327cedc5179fb2d86881c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 03 18:01:28 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 04 10:46:16 2016 -0700"
      },
      "message": "Rename ObjPtr::Decode to ObjPtr::Ptr\n\nDone to prevent ambiguity with ScopedObjectAccess::Decode.\n\nBug: 31113334\n\nTest: test-art-host\nChange-Id: I07a2497cc9cf66386311798933547471987fc316\n"
    },
    {
      "commit": "0795f23920ee9aabf28e45c63cd592dcccf00216",
      "tree": "ff3f880c5e84f3316532b47d0e9a7729ade848ac",
      "parents": [
        "d1224dce59eb0019507e41da5e10f12dda66bee4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 27 18:43:30 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Sep 29 17:31:09 2016 -0700"
      },
      "message": "Clean up ScopedThreadStateChange to use ObjPtr\n\nAlso fixed inclusion of -inl.h files in .h files by adding\nscoped_object_access-inl.h and scoped_fast_natvie_object_access-inl.h\n\nChanged AddLocalReference / Decode to use ObjPtr.\n\nChanged libartbenchmark to be debug to avoid linkage errors.\n\nBug: 31113334\n\nTest: test-art-host\n\nChange-Id: I4d2e160483a29d21e1e0e440585ed328b9811483\n"
    },
    {
      "commit": "a59d9b228b1eda3bf71a81b6201ec64e26086c23",
      "tree": "91adf9f0e282eec50ccb28aa2dbc432a5e28d13f",
      "parents": [
        "05ce52b406dcf6b9a24287d14f0e611211e0db3d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Sep 26 18:13:17 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 27 16:10:35 2016 -0700"
      },
      "message": "Use ObjPtr for reflection.cc/h/inl\n\nChanged Pretty helpers to use this to reduce usage of Decode. The\neventual goal is not have almost any calls to ObjPtr::Decode.\n\nMoved ObjPtr out of mirror namespace for convenience. Added more\nPoisonObjectPointers calls in class linker, thread suspension.\n\nBug: 31113334\n\nTest: test-art-host\n\nChange-Id: I44d08db5143d95ed1b65e2f00f9749ef5cf379f7\n"
    }
  ]
}
