)]}'
{
  "log": [
    {
      "commit": "bb550e415da77e7e21c8f800657984c145bb42e1",
      "tree": "0596ce5d5b1b2f58cef50f8ef133febdd053399c",
      "parents": [
        "adfa1ad73a3a557bdec67d59894139b2727aaa7d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Apr 21 17:04:13 2021 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Apr 26 09:10:12 2021 -0700"
      },
      "message": "Fix issue with Partial LSE and casts/instanceof\n\nIf PartialLSE encounters an instanceof or check-cast before the\nescapes it could not correctly handle it. Due to how java language\ncode is typically developed and compiled this is generally not a\nproblem but could lead to incorrect codegen on release builds or\nDCHECK failures on debug builds. This fixes the issues by (1) causing\npartial LSE to consider check-cast and instance-ofs to be escaping.\nThis also updates the instruction simplifier to be much more\naggressive in removing instance-of and check-casts.\n\nTest: ./test.py --host\nBug: 186041085\nChange-Id: Ia513c4210a87a0dfa92f10adc530e17ee631d006\n"
    },
    {
      "commit": "5ba66998281af9719e5d5ef84fd095181d4cf9a8",
      "tree": "96d6b307af969eade69f390a1af3ab623523b8a1",
      "parents": [
        "6076b6959ac6dd2f5f6c93d119b37899f70a30a8"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Sep 23 15:04:36 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 25 04:46:32 2020 +0000"
      },
      "message": "Refactor Escape-analysis to use visitors\n\nThe current escape-analysis is entirely built around finding a single\n\u0027does-escape\u0027 boolean (and a few ancillary booleans). This change adds\na new VisitEscapes function that allows one to more easily track which\ninstructions cause escapes and rewrites the other escape-analysis\nfunctions in terms of this VisitEscapes function.\n\nTest: ./test.py --host\nBug: 67037140\nChange-Id: Ie5ad7580544be21713d040c2943cae19ff5414d4\n"
    },
    {
      "commit": "0a51605ddd81635135463dab08b6f7c21b58ffb0",
      "tree": "820f338333010f4d6e4b543ffea47e9ff7d2dd3f",
      "parents": [
        "e2727154f25e0db9a5bb92af494d8e47b181dfcf"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 14 13:00:44 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 14 13:00:44 2019 +0000"
      },
      "message": "Revert \"Make compiler/optimizing/ symbols hidden.\"\n\nThis reverts commit e2727154f25e0db9a5bb92af494d8e47b181dfcf.\n\nReason for revert: Breaks ASAN tests (ODR violation).\nBug: 142365358\n\nChange-Id: I38103d74a1297256c81d90872b6902ff1e9ef7a4\n"
    },
    {
      "commit": "e2727154f25e0db9a5bb92af494d8e47b181dfcf",
      "tree": "0ddc6eec3ad9508d7eb1f2b941786dd0ed7d2cd8",
      "parents": [
        "c78860b91ae07eed92f86876e7a03132adea6fcd"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 10 10:46:42 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 14 08:22:00 2019 +0000"
      },
      "message": "Make compiler/optimizing/ symbols hidden.\n\nMake symbols in compiler/optimizing hidden by a namespace\nattribute. The unit intrinsic_objects.{h,cc} is excluded as\nit is needed by dex2oat.\n\nAs the symbols are no longer exported, gtests are now linked\nwith the static version of the libartd-compiler library.\n\nlibart-compiler.so size:\n  - before:\n    arm: 2396152\n    arm64: 3345280\n  - after:\n    arm: 2016176 (-371KiB, -15.9%)\n    arm64: 2874480 (-460KiB, -14.1%)\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing --jit\nBug: 142365358\nChange-Id: I1fb04a33351f53f00b389a1642e81a68e40912a8\n"
    },
    {
      "commit": "2202d56061941b4fecbdb018d84bcefb05b6c683",
      "tree": "b6773b2bc1f7e34b7651c547a1a40a53ba8c56ef",
      "parents": [
        "66946a2cbf55d36fa7b9232a8a381a19f65b2fcb",
        "293f1c006cc283345630ea38266f3ee38b624d5d"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Nov 09 18:55:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 09 18:55:25 2017 +0000"
      },
      "message": "Merge \"Check invocation\u0027s side effects for LSE.\""
    },
    {
      "commit": "293f1c006cc283345630ea38266f3ee38b624d5d",
      "tree": "9560d72041ab5dfad71aa38030529997bc528bdc",
      "parents": [
        "3b5df92d613bb72c8e6f8a766c60835d8313414f"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Nov 08 15:22:17 2017 -0800"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Nov 08 15:26:15 2017 -0800"
      },
      "message": "Check invocation\u0027s side effects for LSE.\n\nMore optimization is allowed if an invocation doesn\u0027t do read/write.\n\nTest: run-test on host.\nChange-Id: Id80e2fa90b8c843afd852778e8f7e6c69c765ad5\n"
    },
    {
      "commit": "025c1a69ea548f1477d160bd477364336109078a",
      "tree": "3ad583c8b8ecc76b800b8da6adb70480b29cb865",
      "parents": [
        "3b5df92d613bb72c8e6f8a766c60835d8313414f"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Oct 30 11:19:57 2017 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Nov 08 10:53:10 2017 -0800"
      },
      "message": "Simplify handling of finalizable in LSE.\n\nFinalizable is treated as being returned which simplifies its handling.\n\nTest: run-test on host, 530-checker-lse contains tests on finalizable.\nChange-Id: I492470e4d2ba88865029675c51cf10325af47057\n"
    },
    {
      "commit": "71bf7b43380eb445973f32a7f789d9670f8cc97d",
      "tree": "76425f8578b247a845fe61724d71efc63059760f",
      "parents": [
        "52f52361c2ea37941fbda71e3c653bb8096bf516"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Nov 16 10:17:46 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Nov 30 13:21:21 2016 -0800"
      },
      "message": "Optimizations around escape analysis. With tests.\n\nDetails:\n(1) added new intrinsics\n(2) implemented optimizations\n      more !can be null information\n      more null check removals\n      replace return-this uses with incoming parameter\n      remove dead StringBuffer/Builder calls (with escape analysis)\n(3) Fixed exposed bug in CanBeMoved()\n\nPerformance gain:\nThis improves CafeineString by about 360%\n(removes null check from first loop, eliminates second loop completely)\n\nTest: test-art-host\n\nChange-Id: Iaf16a1b9cab6a7386f43d71c6b51dd59600e81c1\n"
    },
    {
      "commit": "96fd51d52de759be442accd4df99eb2520bdd023",
      "tree": "9d63b5bde1b8c32a0f5fefea789ebc81e5400268",
      "parents": [
        "424c03aac25835febbf5c695b943206bc40ef335"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Nov 28 11:22:35 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Nov 28 13:27:36 2016 -0800"
      },
      "message": "Moved escape analysis to reusable module\n\nRationale:\nThis prepares other optimizations that\nwant to do some simple escape analysis.\nAlso introduces ability for client\nto inject a case-specific function.\n\nTest: test-art-host\nChange-Id: Ie38a1e24e4479dc40154673db589ec1c82fb73b9\n"
    }
  ]
}
