)]}'
{
  "log": [
    {
      "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": "18ba1dacaaf426cbeb3c0aff6db9c58a752f9a96",
      "tree": "e6d82d3b8856137a1b09a2843ea88165d97afbfe",
      "parents": [
        "0e32908d0ee4be5905cdd409dd3c45331fc98465"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Wed May 16 19:06:32 2018 +0100"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Wed Jul 04 13:12:18 2018 +0100"
      },
      "message": "ART: Implement loop full unrolling.\n\nPerforms whole loop unrolling for small loops with small\ntrip count to eliminate the loop check overhead, to have\nmore opportunities for inter-iteration optimizations.\n\ncaffeinemark/FloatAtom: 1.2x performance on arm64 Cortex-A57.\n\nTest: 530-checker-peel-unroll.\nTest: test-art-host, test-art-target.\nChange-Id: Idf3fe3cb611376935d176c60db8c49907222e28a\n"
    },
    {
      "commit": "0e32908d0ee4be5905cdd409dd3c45331fc98465",
      "tree": "592ffd19b21379b0815345302b04911932fa90f9",
      "parents": [
        "b5271dd44a30f498689e503340d3c8d01bf31f07"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Tue Jun 12 10:23:27 2018 +0100"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Wed Jul 04 13:12:13 2018 +0100"
      },
      "message": "ART: Refactor scalar loop optimizations.\n\nRefactor scalar loop peeling and unrolling to eliminate repeated\nchecks and graph traversals, to make the code more readable and\nto make it easier to add new scalar loop opts.\n\nThis is a prerequisite for full unrolling patch.\n\nTest: 530-checker-peel-unroll.\nTest: test-art-target, test-art-host.\nChange-Id: If824a95f304033555085eefac7524e59ed540322\n"
    },
    {
      "commit": "cf43fb6a1e676cc6bbc04c6591640f18643b1839",
      "tree": "2573ba1024307763c54df655333f1e2477d0ea82",
      "parents": [
        "9076eb66ad173933d7fbd5ce328d31c7f97fd202"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Feb 15 14:43:48 2018 +0000"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Tue May 15 19:33:45 2018 +0100"
      },
      "message": "ART: Enable scalar loop peeling and unrolling.\n\nTurn on scalar loop peeling and unrolling by default.\n\nTest: 482-checker-loop-back-edge-use, 530-checker-peel-unroll\nTest: test-art-host, test-art-target, boot-to-gui\nChange-Id: Ibfe1b54f790a97b281e85396da2985e0f22c2834\n"
    },
    {
      "commit": "72411e6b3b286d91e4da894cd5b12e7a3dc88f40",
      "tree": "9bffb94a66fb5df1df05a53afa367406d069c773",
      "parents": [
        "ddc694267aee845c9b61779be2a5487eb65b1757"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Oct 19 16:18:07 2017 +0100"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Tue Apr 17 16:09:05 2018 +0100"
      },
      "message": "ART: Implement scalar loop peeling.\n\nImplement scalar loop peeling for invariant exits elimination\n(on arm64). If the loop exit condition is loop invariant then\nloop peeling + GVN + DCE can eliminate this exit in the loop\nbody. Note: GVN and DCE aren\u0027t applied during loop optimizations.\n\nNote: this functionality is turned off by default now.\n\nTest: test-art-host, test-art-target, boot-to-gui.\n\nChange-Id: I98d20054a431838b452dc06bd25c075eb445960c\n"
    },
    {
      "commit": "121f2038e9c8afe12f8f4096b7c84a167e7adea5",
      "tree": "655e2bba77ac34208c54b290286104b124003e59",
      "parents": [
        "f9635aab3f2db9b1b13184e8146530a53246b82c"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Mon Oct 23 19:19:06 2017 +0100"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Mon Mar 26 19:46:23 2018 +0100"
      },
      "message": "ART: Implement scalar loop unrolling.\n\nImplement scalar loop unrolling for small loops\n(on arm64) with known trip count to reduce loop check\nand branch penalty and to provide more opportunities\nfor instruction scheduling.\n\nNote: this functionality is turned off by default now.\n\nTest: cloner_test.cc\nTest: test-art-target, test-art-host\n\nChange-Id: Ic27fd8fb0bc0d7b69251252da37b8b510bc30acc\n"
    }
  ]
}
