)]}'
{
  "log": [
    {
      "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": "bbc6e7edb5fca4a61ac53dd9bce79cb4f0bb3403",
      "tree": "0fbce767bc383358cf4cd65aafc74140e1850982",
      "parents": [
        "19379b58bd433da91230e4fe6cd96e7416d16adc"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Aug 24 16:58:47 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Aug 28 11:06:07 2018 +0100"
      },
      "message": "Use \u0027final\u0027 and \u0027override\u0027 specifiers directly in ART.\n\nRemove all uses of macros \u0027FINAL\u0027 and \u0027OVERRIDE\u0027 and replace them with\n\u0027final\u0027 and \u0027override\u0027 specifiers. Remove all definitions of these\nmacros as well, which were located in these files:\n- libartbase/base/macros.h\n- test/913-heaps/heaps.cc\n- test/ti-agent/ti_macros.h\n\nART is now using C++14; the \u0027final\u0027 and \u0027override\u0027 specifiers have\nbeen introduced in C++11.\n\nTest: mmma art\nChange-Id: I256c7758155a71a2940ef2574925a44076feeebf\n"
    },
    {
      "commit": "0d2cab5c15215eb7a7b9af0ce11f176dcbd69559",
      "tree": "dd4a6564190fe6af52bb968e142deb53a27de6f3",
      "parents": [
        "7a79ebbd7183cc0fda43512a0add884765fd2bf1"
      ],
      "author": {
        "name": "Lena Djokic",
        "email": "Lena.Djokic@mips.com",
        "time": "Tue Mar 06 15:20:45 2018 +0100"
      },
      "committer": {
        "name": "Lena Djokic",
        "email": "Lena.Djokic@mips.com",
        "time": "Wed Mar 07 11:37:28 2018 +0100"
      },
      "message": "MIPS: Use PCNT to implement VisitIntegerBitCount() and VisitLongBitCount()\n\nTest: ./testrunner.py --target --optimizing in QEMU\nTest: mma test-art-host-gtest\nChange-Id: I6ce5bdc86f951094f656c2f81ae8fc836d7a0b5c\n"
    },
    {
      "commit": "69d310e0317e2fce97bf8c9c133c5c2c0332e61d",
      "tree": "fba05a1530e6fc4a2e6950303c1f7c6b0ffbb936",
      "parents": [
        "e764d2e50c544c2cb98ee61a15d613161ac6bd17"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 09 14:12:23 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 11 09:44:26 2017 +0100"
      },
      "message": "Use ScopedArenaAllocator for building HGraph.\n\nMemory needed to compile the two most expensive methods for\naosp_angler-userdebug boot image:\n  BatteryStats.dumpCheckinLocked() : 21.1MiB -\u003e 20.2MiB\n  BatteryStats.dumpLocked(): 42.0MiB -\u003e 40.3MiB\nThis is because all the memory previously used by the graph\nbuilder is reused by later passes.\n\nAnd finish the \"arena\"-\u003e\"allocator\" renaming; make renamed\nallocator pointers that are members of classes const when\nappropriate (and make a few more members around them const).\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nBug: 64312607\nChange-Id: Ia50aafc80c05941ae5b96984ba4f31ed4c78255e\n"
    },
    {
      "commit": "ca6fff898afcb62491458ae8bcd428bfb3043da1",
      "tree": "195a6b16d3a4b34acc2faf91ce56f448efb15e07",
      "parents": [
        "aa7273e56fbafc2692c8d20a31b50d2f4bdd2aa1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 03 14:49:14 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 06 17:53:50 2017 +0100"
      },
      "message": "ART: Use ScopedArenaAllocator for pass-local data.\n\nPasses using local ArenaAllocator were hiding their memory\nusage from the allocation counting, making it difficult to\ntrack down where memory was used. Using ScopedArenaAllocator\nreveals the memory usage.\n\nThis changes the HGraph constructor which requires a lot of\nchanges in tests. Refactor these tests to limit the amount\nof work needed the next time we change that constructor.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nTest: Build with kArenaAllocatorCountAllocations \u003d true.\nBug: 64312607\nChange-Id: I34939e4086b500d6e827ff3ef2211d1a421ac91a\n"
    },
    {
      "commit": "8cf9cb386cd9286d67e879f1ee501ec00d72a4e1",
      "tree": "88e86e214b425e444760fe4e0ffeee677e1558a2",
      "parents": [
        "914b7b6a6c9f399b26b41e9160e9871ef749e0db"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 19 09:28:38 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 24 16:07:10 2017 -0700"
      },
      "message": "ART: Include cleanup\n\nLet clang-format reorder the header includes.\n\nDerived with:\n\n* .clang-format:\n BasedOnStyle: Google\n IncludeIsMainRegex: \u0027(_test|-inl)?$\u0027\n\n* Steps:\n find . -name \u0027*.cc\u0027 -o -name \u0027*.h\u0027 | xargs sed -i.bak -e \u0027s/^#include/ #include/\u0027 ; git commit -a -m \u0027ART: Include cleanup\u0027\n git-clang-format -style\u003dfile HEAD^\n manual inspection\n git commit -a --amend\n\nTest: mmma art\nChange-Id: Ia963a8ce3ce5f96b5e78acd587e26908c7a70d02\n"
    },
    {
      "commit": "5633ce718b9544af1c7b1a811ed2872889019c84",
      "tree": "2ffc0f10ba7f2b9f19403187f3eaee37f17b811c",
      "parents": [
        "a57c334075b193de9690fff97acf6c1b1d1283fc"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Mon Apr 10 15:47:40 2017 -0700"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Sun Apr 30 08:29:49 2017 -0700"
      },
      "message": "MIPS: java.lang.Integer.valueOf intrinsic.\n\nTest: run-test --64 --optimizing 640-checker-integer-valueof\nTest: run-test --64 640-checker-integer-valueof\nTest: run-test --64 --no-prebuild --optimizing 640-checker-integer-valueof\nTest: run-test --64 --no-prebuild 640-checker-integer-valueof\nTest: run-test --optimizing 640-checker-integer-valueof\nTest: run-test 640-checker-integer-valueof\nTest: run-test --no-prebuild --optimizing 640-checker-integer-valueof\nTest: run-test --no-prebuild 640-checker-integer-valueof\nTest: mma test-art-host\nTest: mma test-art-target\n\nBooted on both MIPS32 and MIPS64 emulators.\n\nChange-Id: I5b2f21cf2334c392080cff9654150504207f4c01\n"
    },
    {
      "commit": "762869dee6e0eadab5be1c606792d6693bbabf4e",
      "tree": "8c986c621e8a5f3cf4e4e3b2cc13b400401ad89b",
      "parents": [
        "b4cf427734c6839b46d0d6037e3189a5e8aa1bdb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 15 15:28:35 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Sep 30 10:44:31 2016 +0100"
      },
      "message": "Simplify our intrinsic recognizer.\n\n- Use the modifiers for storing the intrinsic kind.\n- Delete dex_file_method_inliner and its associated map.\n\nThis work was also motivated by the fact that the inline\nmethod analyzer leaks intrinsic tables, and even worse, might re-use\na table from one dex file to another unrelated dex file in the presence\nof class unloading and the unlikely event of the dex files getting\nthe same address.\n\ntest: m test-art-host m test-art-target\n\nChange-Id: Ia653d2c72df13889dc85dd8c84997582c034ea4b\n"
    },
    {
      "commit": "bb9863af3a98622e650de78fb235ab484b50eb1f",
      "tree": "3df79ba309964d56867d23e497322f2a5f3bbeb8",
      "parents": [
        "08d3ab591d98fce33b7ab552a10cec04aaff6ce1"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Mon Jan 11 15:51:16 2016 -0800"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Wed Jan 13 22:47:21 2016 -0800"
      },
      "message": "MIPS32: don\u0027t use R2+ instructions (mthc1, mfhc1) on MIPS32R1 or\nwith 32-bit FPUs.\n\nChange-Id: If66932fb39cdd5946f6c05c82036191ad405a877\n"
    },
    {
      "commit": "5d75afe333f57546786686d9bee16b52f1bbe971",
      "tree": "ee203dd8ff8c4c6257b6c1ae1db1a432a8a8682f",
      "parents": [
        "1e65a78577ed71f5e3d79edaa0e6735ea4a3371b"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Dec 14 11:57:01 2015 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Dec 30 10:52:51 2015 -0800"
      },
      "message": "Improved side-effects/can-throw information on intrinsics.\n\nRationale: improved side effect and exception analysis gives\n           many more opportunities for GVN/LICM/BCE.\n\nChange-Id: I8aa9b757d77c7bd9d58271204a657c2c525195b5\n"
    },
    {
      "commit": "e16ce5a52da4fcbb8c6b5d1ec696863fcf113409",
      "tree": "89730bfb9928ff70391f57ac42377be20e9e5bba",
      "parents": [
        "8682960da00c013f8955985b8e9bb6c55b3f3bac"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Wed Nov 18 12:30:20 2015 -0800"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Mon Nov 30 17:28:28 2015 -0800"
      },
      "message": "MIPS32: Bit rotation intrinsics\n\n- int java.lang.Integer.rotateLeft(int i, int distance)\n- int java.lang.Integer.rotateRight(int i, int distance)\n- long java.lang.Long.rotateLeft(long i, int distance)\n- long java.lang.Long.rotateRight(long i, int distance)\n\nChange-Id: I7620ee12562c0dd55476a1d54e225c5e624cfb5b\n"
    },
    {
      "commit": "701566aaae098d5aab9d912e2003a18d44fb850d",
      "tree": "80dc26543cf557528b5765307a16256a126c2cc1",
      "parents": [
        "c65d1f3d26a47e2fce3c3f8872e7942fec23f9b9"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Tue Oct 27 15:29:13 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 29 20:06:28 2015 -0700"
      },
      "message": "MIPS32: Create infrastructure to support intrinsics\n\nAdd an empty intrinisics implementation for MIPS32.\n\nChange-Id: I3f46ade1c548e6453f094ce200e66232348ef467\n"
    }
  ]
}
