)]}'
{
  "log": [
    {
      "commit": "c1a42cf3873be202c8c0ca3c4e67500b470ab075",
      "tree": "f2bffbd14e1f9d5429dd8514d19be4fa6dfa392f",
      "parents": [
        "06ce6d4359ed897f1d1b39be4e748f0c4f3ca2ff"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Dec 18 15:52:36 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 20 13:29:45 2016 +0000"
      },
      "message": "Remove soon to be obsolete call kinds for direct calls.\n\nAnd remove CompilerDriver::GetCodeAndMethodForDirectCall in\npreparation of removing non-PIC prebuild and non-PIC on-device\nboot image compilation.\n\nTest: test-art-host test-art-target\nbug:33192586\nChange-Id: Ic48e3e8b9d7605dd0e66f31d458a182198ba9578\n"
    },
    {
      "commit": "06ce6d4359ed897f1d1b39be4e748f0c4f3ca2ff",
      "tree": "57f3da550807191fa705f2d639051f156f60c30e",
      "parents": [
        "eaaaaef76b7702af91cc599c0d020fa495990c7f",
        "f63f569eeefe3907c48a175494a2a0ba351b641a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 20 12:00:20 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 20 12:00:21 2016 +0000"
      },
      "message": "Merge \"MIPS64: Improve string and class loads.\""
    },
    {
      "commit": "eaaaaef76b7702af91cc599c0d020fa495990c7f",
      "tree": "4883c2503063f4fa79bc1e835f102a58d0476d5f",
      "parents": [
        "ee3a0bde75bfaf9cafce608d328ae3364ff89373",
        "568763405f6eb7cb78fd39272569e30fe21be85e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 20 09:06:17 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 20 09:06:18 2016 +0000"
      },
      "message": "Merge \"Sharpen HLoadClass from inliner.\""
    },
    {
      "commit": "f63f569eeefe3907c48a175494a2a0ba351b641a",
      "tree": "c2ba1621cbcd77571378b8261ec6d47c754953aa",
      "parents": [
        "2c43590dc2bb7fb4a3a015b1b65543bb8705ffe8"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Tue Dec 13 17:43:11 2016 -0800"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Mon Dec 19 14:47:16 2016 -0800"
      },
      "message": "MIPS64: Improve string and class loads.\n\nThis adds most kinds of string/class loads.\nJIT string/class loads are TBD separately.\n\nThis also fixes Mips64Assembler::LoadLabelAddress()\n(adding a constant to a 64-bit address must be done\nusing daddiu, not addiu).\n\nTest: test-art-host-gtest\nTest: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU\nTest: \"make -j1 ART_TEST_DEFAULT_COMPILER\u003dfalse ART_TEST_OPTIMIZING\u003dtrue\n       ART_TEST_INTERPRETER\u003dfalse ART_TEST_JIT\u003dfalse\n       ART_TEST_PIC_TEST\u003dtrue test-art-target-run-test64\"\n\nChange-Id: I1f94ece4cd202382c11167e1ed958e9d08d92822\n"
    },
    {
      "commit": "b0b051ad6c9fab511346882650d5d689f805a980",
      "tree": "fe02f128018f1aa55be5c0425295ae0ef670de2c",
      "parents": [
        "d54f43ca39dfa92f08c2d760123f185f0f65fb86"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Nov 17 09:04:53 2016 -0800"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Dec 19 14:26:33 2016 -0800"
      },
      "message": "CHA guard optimization (elimination/hoisting).\n\nTest: manual by checking the dump-cfg output.\n\nChange-Id: I254e168b9a85d2d3d23e02eea7e129c1bc9ab920\n"
    },
    {
      "commit": "d54f43ca39dfa92f08c2d760123f185f0f65fb86",
      "tree": "a30ce596848d14c95a73449dbf2bfccf26a510b9",
      "parents": [
        "481593d87447cd69be2face67fa6af9bb993de8e",
        "e6bd0272b43bf73faabc64abc9c51ab8ed128308"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Dec 19 21:38:57 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 19 21:38:58 2016 +0000"
      },
      "message": "Merge \"Improved induction var and range analysis around types.\""
    },
    {
      "commit": "e6bd0272b43bf73faabc64abc9c51ab8ed128308",
      "tree": "d75a15baadf77a859cec6540d7cd10ce998e955a",
      "parents": [
        "2c43590dc2bb7fb4a3a015b1b65543bb8705ffe8"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Dec 16 13:57:52 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Dec 19 10:57:37 2016 -0800"
      },
      "message": "Improved induction var and range analysis around types.\n\nRationale:\nLots of code should not depend on int only. This CL generalizes\nthe kinds of types that can be optimized after analysis. As part\nof the CL, however, a minor cleanup regarding type safety of the\nstored induction var analysis results is required. This further\nimproved our int benchmark, and brings the long benchmark up-to-par.\n\nTest: m test-art-host-run-test\nChange-Id: I5dfb623dabf9113de90c2f6da99328dda8f8b60b\n"
    },
    {
      "commit": "568763405f6eb7cb78fd39272569e30fe21be85e",
      "tree": "10ecca06c9fa73a0d74b6dbdd7edb7c5c867014b",
      "parents": [
        "20b66e727a927267bc472958e86f9b4ada42c7fc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 16 16:09:08 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 19 16:55:11 2016 +0000"
      },
      "message": "Sharpen HLoadClass from inliner.\n\nAlso cleanup HLoadClass constructor.\n\nTest: ART_TEST_JIT\u003dtrue m test-art-host-run-test\n\nChange-Id: I8f803b05fb8a7267d1421ca9c032e624f27efed3\n"
    },
    {
      "commit": "76873db28c738bceef766047eb8452a6a5c447fc",
      "tree": "f83290e3aa64b4917c0a4bbfc1f34216c6007839",
      "parents": [
        "5b32b91d731d6187ada4c6fc804041b7b3b6903c",
        "c5fcb44405b436e8671e0c8c96b6d6d924649d1e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 19 09:29:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 19 09:29:55 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Implement some dispatch optimizations.\""
    },
    {
      "commit": "89b31a3369486c00761c5e287f286a921017a8a9",
      "tree": "294e6497a97867ac2d0b9b2f97f449b5d41c6bba",
      "parents": [
        "20b66e727a927267bc472958e86f9b4ada42c7fc",
        "a9dbe8333d4df5447157fe575a805003172af047"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Dec 16 18:14:49 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 16 18:14:49 2016 +0000"
      },
      "message": "Merge \"Add HVariableInputSizeInstruction.\""
    },
    {
      "commit": "c5fcb44405b436e8671e0c8c96b6d6d924649d1e",
      "tree": "8b527c4cc504be34298ee292854576b5867cdfbd",
      "parents": [
        "b73e659be3fb6474ff3a993cd25ecbfa1cc4715c"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Dec 02 19:19:58 2016 +0000"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Dec 16 14:34:28 2016 +0000"
      },
      "message": "ARM: VIXL32: Implement some dispatch optimizations.\n\nImplement dispatch optimizations for LoadClass, LoadString and\nHInvokeStaticOrDirect. Still need to implement JitTables.\n\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-host\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-target\n\nChange-Id: I6e24bc11f3915aa92eede687a864b7ea3a6ab165\n"
    },
    {
      "commit": "7e9a562e4276b0083b3656443d0adf96c5a83246",
      "tree": "a15e93cb1aab2cf4c336d31237d988032c82d8ab",
      "parents": [
        "913e6e6f36f6feb1d11e7c095dbbc9cea7ab01be",
        "644032c817615210c1e17fe27010853abd8714e5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 16 13:00:02 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 16 13:00:03 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Do a code cleanup.\""
    },
    {
      "commit": "4c1667fd521f6e11367fd262f9bd6474f48fb3e7",
      "tree": "2dcb1fff3b27c22d4cdfc76340aa27deb43b4f0f",
      "parents": [
        "a3dccf967a8c9e0cc84b6789213772369e4a2a2f",
        "ed015acdd0fbb1b837b3f74e8c5f624956189691"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 16 08:57:36 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 16 08:57:37 2016 +0000"
      },
      "message": "Merge \"Flush JIT data cache when committing code.\""
    },
    {
      "commit": "2c43590dc2bb7fb4a3a015b1b65543bb8705ffe8",
      "tree": "b43632311dfbd253464d968a97e93e3b30d195ba",
      "parents": [
        "e9f3269b5417806987dc1b3e56e05767cad0716d",
        "ab2270f8f7ecd93c7ba353dd4e300669de3e7aee"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 15 21:50:00 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 15 21:50:00 2016 +0000"
      },
      "message": "Merge \"Fixed signal 11 bug by not testing resolved method first.\""
    },
    {
      "commit": "e9f3269b5417806987dc1b3e56e05767cad0716d",
      "tree": "a4bca84637a396922976cc64f93bcdd47281a03a",
      "parents": [
        "45d75c6194075f1c4e3372159cca533a301cabfd",
        "d0a022d76db4b79d105608e7bafab4c17e8ba510"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 15 21:33:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 15 21:33:55 2016 +0000"
      },
      "message": "Merge \"Fine tuning the induction analysis.\""
    },
    {
      "commit": "a9dbe8333d4df5447157fe575a805003172af047",
      "tree": "cfc116d6196a39eafd9eca891d13c39126d56adc",
      "parents": [
        "bdca0a27eb034152afba52f1d499d773b81908df"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Dec 15 12:02:53 2016 -0800"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Dec 15 12:02:53 2016 -0800"
      },
      "message": "Add HVariableInputSizeInstruction.\n\nMake HPhi and HInvoke subclasses of the new instruction.\n\nTest: m test-art-host-run-test\nChange-Id: I303c725876f1f4407b98702d92370be25193fc53\n"
    },
    {
      "commit": "d0a022d76db4b79d105608e7bafab4c17e8ba510",
      "tree": "28fe73f251041ea8dd2ddfbb801d780fbce6968c",
      "parents": [
        "ea63e4d1c3473d1115c1aef674056d035cf67472"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Dec 13 11:22:31 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Dec 15 11:31:12 2016 -0800"
      },
      "message": "Fine tuning the induction analysis.\n\nRationale:\nBased on some self-imposed \"blind\" testing, improved\nthe induction variable analysis for typical cases\nthat provide a bit more elaborate HIR.\n\nTest: test-art-host\nChange-Id: I6e6bbf99928c29973178fa48f3942b14bf069944\n"
    },
    {
      "commit": "ab2270f8f7ecd93c7ba353dd4e300669de3e7aee",
      "tree": "113e6b264117bc9a3217a2d1685a09bb589075f8",
      "parents": [
        "9538f9e2a5d03f1b1bc07ebfbd93b61dcf8ad604"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Dec 15 09:36:31 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Dec 15 11:03:38 2016 -0800"
      },
      "message": "Fixed signal 11 bug by not testing resolved method first.\n\nTest: test-art-host\nBug: 33656359\n\nChange-Id: Idb1afccf811a2fbf7500fc1d953e118981ad36d4\n"
    },
    {
      "commit": "ed015acdd0fbb1b837b3f74e8c5f624956189691",
      "tree": "b8ec86c504bf665cd59074fae49136dfe7c6c9f5",
      "parents": [
        "9538f9e2a5d03f1b1bc07ebfbd93b61dcf8ad604"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 15 17:58:48 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 15 18:01:52 2016 +0000"
      },
      "message": "Flush JIT data cache when committing code.\n\nOtherwise, executing compiled code may see old data from\nthe data cache.\n\nTest: ART_TEST_JIT\u003dtrue test-art-target on arm/arm64\nTest: run-libcore-tests.sh (especially jsr166) on arm/arm64\nChange-Id: Id037c68897aa0e9ccacd4c5121f3743fb722c6f3\n"
    },
    {
      "commit": "46ee31b67d7ee1bd085fbc240502053caa3cf8fa",
      "tree": "83e870f293cd60d533207e389d7b094acd87b31f",
      "parents": [
        "9538f9e2a5d03f1b1bc07ebfbd93b61dcf8ad604"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 14 10:11:49 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 15 09:50:39 2016 -0800"
      },
      "message": "ART: Move to libbase StringPrintf\n\nRemove ART\u0027s StringPrintf implementation. Fix up clients. Add\nmissing includes where necessary.\n\nTest: m test-art-host\nChange-Id: I564038d5868595ac3bb88d641af1000cea940e5a\n"
    },
    {
      "commit": "b73e659be3fb6474ff3a993cd25ecbfa1cc4715c",
      "tree": "ead4fbeb39524c94e373fd33901fb149be334538",
      "parents": [
        "3f92bdea524fb1f1c70dab07bba082b4b1ac4699",
        "0fb3719129098110a61f320cb47edf774166b602"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 14 13:43:48 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 14 13:43:50 2016 +0000"
      },
      "message": "Merge \"ARM: Fix breaking changes from recent VIXL update.\""
    },
    {
      "commit": "3f92bdea524fb1f1c70dab07bba082b4b1ac4699",
      "tree": "8277b2bea114d7241c36f94afec52200fe7d20fd",
      "parents": [
        "b70b66e70137f7a61f8d605acf04e75ad56910f2",
        "c641842008b449890d2a63ed34a240ed7c7aa75d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 14 12:00:51 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 14 12:00:52 2016 +0000"
      },
      "message": "Merge \"Implement VisitShouldDeoptimizeFlag for MIPS/MIPS64\""
    },
    {
      "commit": "b70b66e70137f7a61f8d605acf04e75ad56910f2",
      "tree": "bf07fcc00559600e4215ed74fba3477f6d03d109",
      "parents": [
        "001e1c1202e95091d50475ebb0f8cdbbb3b0d0eb",
        "19f6c696bbb7a17d8ac521b316c40f9cbef32151"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 14 11:45:32 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 14 11:45:32 2016 +0000"
      },
      "message": "Merge \"MIPS64: Improve method invocation.\""
    },
    {
      "commit": "c641842008b449890d2a63ed34a240ed7c7aa75d",
      "tree": "66c0e16eead7ea0c64029c205aea56c724bb5dc1",
      "parents": [
        "a248587487ad23eaccd6a5877d97c7735120118e"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Mon Dec 05 16:31:55 2016 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Wed Dec 14 10:22:48 2016 +0100"
      },
      "message": "Implement VisitShouldDeoptimizeFlag for MIPS/MIPS64\n\nThis is follow-up change for I18bf716a601b6413b46312e925a6ad9e4008efa4.\n\nTest: mma ART_TEST_JIT\u003dtrue test-art-target-run-test-jit on CI20 and QEMU\n\nChange-Id: I750814ae740a4549f1a2af11be7ae4318ae26a2f\n"
    },
    {
      "commit": "001e1c1202e95091d50475ebb0f8cdbbb3b0d0eb",
      "tree": "9b5fef4e5580213b96eab53ea1ad1db83b90d541",
      "parents": [
        "dfc453b2abe793ba9664a9ecfeb118e365a55de8",
        "9b1583e7d799a3bb3c0036abb8a0b9fcbfad360a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 14 09:21:59 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 14 09:22:00 2016 +0000"
      },
      "message": "Merge \"Support GVN for HLoadClass::LoadKind::kJitTableAddress.\""
    },
    {
      "commit": "9b1583e7d799a3bb3c0036abb8a0b9fcbfad360a",
      "tree": "5b3f6d7719bcbbee3f88d7f5ffd4f699f872b574",
      "parents": [
        "fb678bfaad7f432861d26bde8343d53fadd68c07"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 13 13:43:31 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 13 22:14:02 2016 +0000"
      },
      "message": "Support GVN for HLoadClass::LoadKind::kJitTableAddress.\n\nFixes performance regressions seen in eg Dhrystone.\n\nAlso add comment on why a class may not be found when sharpening.\n\nTest: manual Dhrystone run, performance recovers\nTest: ART_TEST_JIT\u003dtrue test-art-host-run-test-jit\nChange-Id: I8e879f1c390f83e8bc930f343beb7b4a41c2f190\n"
    },
    {
      "commit": "19f6c696bbb7a17d8ac521b316c40f9cbef32151",
      "tree": "6ce87f3ba9f224efc0036d3ab99e4272c48eeddb",
      "parents": [
        "aea9ffece7eb32f3884a4ad0553e1df4d90fd9e4"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Wed Nov 30 19:19:55 2016 -0800"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Tue Dec 13 14:07:16 2016 -0800"
      },
      "message": "MIPS64: Improve method invocation.\n\nImprovements include:\n- support for all kinds of method loads and static/direct calls\n- 32-bit and 64-bit literals for the above and future work\n- shorter instruction sequences for recursive static/direct calls\nAlso:\n- include the MIPS64 dinsu instruction (missed earlier) and minor\n  clean-up in the disassembler\n- properly prefix constant names with \u0027k\u0027 in relative patcher tests\n\nTest: test-art-host-gtest\nTest: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU\nTest: \"make -j1 ART_TEST_DEFAULT_COMPILER\u003dfalse ART_TEST_OPTIMIZING\u003dtrue\n       ART_TEST_INTERPRETER\u003dfalse ART_TEST_JIT\u003dfalse\n       ART_TEST_PIC_TEST\u003dtrue test-art-target-run-test64\"\n\nChange-Id: I19876fa5316b68531af7dfddfce90d2068433116\n"
    },
    {
      "commit": "9186ced255f2e7402646b5b286deebb540640734",
      "tree": "833c25fd3bbb47749265947705b4fc0f0c1ba796",
      "parents": [
        "aa2657d6d9dda2e44c6452e5f5901db78ef9b3cc"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Dec 12 14:28:21 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Dec 13 11:43:48 2016 -0800"
      },
      "message": "ART: Clean up utils.h\n\nRemove functionality provided by libbase. Move some single-use\nfunctions to their respective users.\n\nTest: m test-art-host\nChange-Id: I75594035fa975200d638cc29bb9f31bc6e6cb29f\n"
    },
    {
      "commit": "ea63e4d1c3473d1115c1aef674056d035cf67472",
      "tree": "2f42a8f88acaa15e266d3524421ac64e5b5635fb",
      "parents": [
        "831cb268e09b89e6c389ac59a99e45cd094be332",
        "0f0829ba15e4ed54472fb6ebac3a19b101d03db3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 13 15:37:09 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 13 15:37:10 2016 +0000"
      },
      "message": "Merge \"Remove obsolete DeduplicateDexCacheAddressLiteral().\""
    },
    {
      "commit": "831cb268e09b89e6c389ac59a99e45cd094be332",
      "tree": "1e113d42affbf485f4731f11a79b98959878bd7d",
      "parents": [
        "1e35a69a44bbf3999ec1829e501d7305bd9fc9d2",
        "90ab673133ce97c8aa4260b45ab943900bb9b52d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 13 13:57:39 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 13 13:57:40 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Test both current and new assemblers with optimizing_cfi_test.\""
    },
    {
      "commit": "0f0829ba15e4ed54472fb6ebac3a19b101d03db3",
      "tree": "d968014b299db7fd4eaf23dde82cad3572d8147a",
      "parents": [
        "1e35a69a44bbf3999ec1829e501d7305bd9fc9d2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 13 13:50:14 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 13 13:50:14 2016 +0000"
      },
      "message": "Remove obsolete DeduplicateDexCacheAddressLiteral().\n\nTest: Rely on TreeHugger\nBug: 30627598\nChange-Id: Ia3c7a1d528f62b730d7ac1cc7b67f21d9ff06c9e\n"
    },
    {
      "commit": "0fb3719129098110a61f320cb47edf774166b602",
      "tree": "eac6620a145f72aade58570b2a0519a161c4aa9d",
      "parents": [
        "fb678bfaad7f432861d26bde8343d53fadd68c07"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Tue Dec 06 18:13:40 2016 +0000"
      },
      "committer": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Tue Dec 13 11:22:51 2016 +0000"
      },
      "message": "ARM: Fix breaking changes from recent VIXL update.\n\nTest: m test-art-host\nTest: m test-art-target\nChange-Id: I5c0c38fcd935e97fc94721f645e51251c7a87d39\n"
    },
    {
      "commit": "22384aeab988df7fa5ccdc48a668589c5f602c39",
      "tree": "daca06adfc92c93017618c3729af54ed40214ba4",
      "parents": [
        "0ee6447c63e354131dec78743ccabcbc964129e3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 12 22:33:36 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 12 23:06:38 2016 +0000"
      },
      "message": "Revert \"Revert \"Add kJitTableAddress for HLoadClass.\"\"\n\nThis reverts commit d2d5262c8370309e1f2a009f00aafc24f1cf00a0.\n\nChange-Id: I6149d5c7d5df0b0fc5cb646a802a2eea8d01ac08\n"
    },
    {
      "commit": "4dd3f7d2e9319bc622e89cbe110620d85d14ffca",
      "tree": "eb5203121c5b8d1d6b33f39e1c8b2ff45ad26ca8",
      "parents": [
        "7d81bf2c9de138a65ea7189df18bc88f2c4fe6c5",
        "d2d5262c8370309e1f2a009f00aafc24f1cf00a0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 12 16:29:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 12 16:29:18 2016 +0000"
      },
      "message": "Merge \"Revert \"Add kJitTableAddress for HLoadClass.\"\""
    },
    {
      "commit": "d2d5262c8370309e1f2a009f00aafc24f1cf00a0",
      "tree": "15b542ac079f30043cd3654cf5d3c40ae3ea34d0",
      "parents": [
        "5b12f7973636bfea29da3956a9baa7a6bbe2b666"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 12 16:28:54 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 12 16:28:54 2016 +0000"
      },
      "message": "Revert \"Add kJitTableAddress for HLoadClass.\"\n\nOne test failure after merge.\n\nThis reverts commit 5b12f7973636bfea29da3956a9baa7a6bbe2b666.\n\nChange-Id: I120c49e53274471fc1c82a10d52e99c83f5f85cc\n"
    },
    {
      "commit": "7d81bf2c9de138a65ea7189df18bc88f2c4fe6c5",
      "tree": "4fd804520510a1701a5bf8aaa74171a583152f27",
      "parents": [
        "c836b5a8a5ea00b0cd332d5e60c9ec10ae1e74fb",
        "5b12f7973636bfea29da3956a9baa7a6bbe2b666"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 12 15:26:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 12 15:26:11 2016 +0000"
      },
      "message": "Merge \"Add kJitTableAddress for HLoadClass.\""
    },
    {
      "commit": "90ab673133ce97c8aa4260b45ab943900bb9b52d",
      "tree": "6d7751d4570c575f4d6e7e8494e4bd8f7e692315",
      "parents": [
        "c836b5a8a5ea00b0cd332d5e60c9ec10ae1e74fb"
      ],
      "author": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Thu Dec 08 10:25:03 2016 +0000"
      },
      "committer": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Mon Dec 12 14:11:21 2016 +0000"
      },
      "message": "ARM: VIXL32: Test both current and new assemblers with optimizing_cfi_test.\n\nTest: m test-art-host\n\nChange-Id: I71b97113d9bc3ad5abe5f5f89a0d94c243c8f2e2\n"
    },
    {
      "commit": "5b12f7973636bfea29da3956a9baa7a6bbe2b666",
      "tree": "a2cd41c1d3c09abc594a76af11b7bebc302a2870",
      "parents": [
        "0dd27eb2b51d030866c25dbf8e7bb737eb35a888"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 09 11:26:35 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 12 11:50:24 2016 +0000"
      },
      "message": "Add kJitTableAddress for HLoadClass.\n\nThis new kind loads classes from the root table associated with\nJIT compiled code.\n\nAlso remove kDexCacheAddress, which is replaced by kJitTableAddress.\n\ntest: ART_TEST_JIT\u003dtrue test-art-host-jit test-art-target-jit\nChange-Id: Ia23029688d1a60c178bf2ffa7463927c5d5de4d0\n"
    },
    {
      "commit": "644032c817615210c1e17fe27010853abd8714e5",
      "tree": "1ef16b01ed825cb4097b9dbed1be96657b26ef1a",
      "parents": [
        "c836b5a8a5ea00b0cd332d5e60c9ec10ae1e74fb"
      ],
      "author": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Tue Dec 06 17:51:43 2016 +0000"
      },
      "committer": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Mon Dec 12 11:42:43 2016 +0000"
      },
      "message": "ARM: VIXL32: Do a code cleanup.\n\nThis commit is mostly about changing the VIXL-based code generator\nto use the new helper functions in more places.\n\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-host\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-target\nChange-Id: Ibe35f6a133d5822cc3b7a876cc54590cdaca67fb\n"
    },
    {
      "commit": "c836b5a8a5ea00b0cd332d5e60c9ec10ae1e74fb",
      "tree": "eb5203121c5b8d1d6b33f39e1c8b2ff45ad26ca8",
      "parents": [
        "726e5173059bb71dbd1b05c5de8f4a325c4a316f",
        "bffdc70d4b6dd994adf48b015e7818094f30938f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 12 10:30:24 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 12 10:30:24 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry.\"\"\""
    },
    {
      "commit": "57096b723193486ab0a6acfdfb535d90b20f6073",
      "tree": "30859dc98069781c4cff888b2e124e6fd70ee1c9",
      "parents": [
        "88e9168c5c805f0d7bdea3c4288273337dd59bdf",
        "df7822ecf033cecf48d950f3ae34f7043c8df738"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 09 21:48:43 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 09 21:48:44 2016 +0000"
      },
      "message": "Merge \"Added polynomial induction variables analysis. With tests.\""
    },
    {
      "commit": "df7822ecf033cecf48d950f3ae34f7043c8df738",
      "tree": "f392a69377e1e281bcd85d811b656c6d14280ab4",
      "parents": [
        "6746874b84a44ab8dff18457eec546a1ebb22e93"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Dec 06 10:05:30 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Dec 09 08:42:18 2016 -0800"
      },
      "message": "Added polynomial induction variables analysis. With tests.\n\nRationale:\nInformation on polynomial sequences is nice to further enhance\nBCE and last-value assignment. In this case, this CL enables more\nloop optimizations for benchpress\u0027 Sum (80 x speedup). Also\nchanged rem-based geometric induction to wrap-around induction.\n\nTest: test-art-host\n\nChange-Id: Ie4d2659edefb814edda2c971c1f70ba400c31111\n"
    },
    {
      "commit": "f3dcdd9e241a30f4f4aa15d0ef3025e179e53953",
      "tree": "13be34b120f1a0e108e7b72432c9bb98aaf928e3",
      "parents": [
        "aea9ffece7eb32f3884a4ad0553e1df4d90fd9e4",
        "edb2ac372a6e01d33c4b894361893eacbaebd8fb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 09 11:23:42 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 09 11:23:42 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Implement read barriers.\""
    },
    {
      "commit": "bffdc70d4b6dd994adf48b015e7818094f30938f",
      "tree": "4028d98a8fd69c01ebefb77e9988c5e79fb706b9",
      "parents": [
        "0bdba6c3017f2b3602b1e6fe5c9b8717d800791c"
      ],
      "author": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Wed Dec 07 17:46:03 2016 +0000"
      },
      "committer": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Wed Dec 07 17:57:32 2016 +0000"
      },
      "message": "Revert \"Revert \"ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry.\"\"\n\nOverride Add in ArmVIXLMacroAssembler to improve 16-bit encodings.\n\nThis reverts commit 2f34995469e20a1ac342975856155f69995997ce.\n\nTest: m test-art-host\n\nChange-Id: Ief9f7576cd805104fd517a76b96d8a92f2208dfd\n"
    },
    {
      "commit": "b08265b2d61cd3923dd6fc01d6c82f73d5230e82",
      "tree": "cebb0dd2570ed90265dc376d89c17768700fd90d",
      "parents": [
        "b4ee681c21564ee9afe0202e1006cfa21019e88b",
        "1b8464d17c2266763714ae18be7c4dc26e28bf61"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Dec 07 17:15:08 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 07 17:15:08 2016 +0000"
      },
      "message": "Merge \"MIPS32: Pass more arguments in registers.\""
    },
    {
      "commit": "2f34995469e20a1ac342975856155f69995997ce",
      "tree": "9fa3da165e19bf28f04de7901a302e8846e2cf44",
      "parents": [
        "d494c5e37c656d92fcf83987d886e999457d9252"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 07 16:20:47 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 07 16:20:47 2016 +0000"
      },
      "message": "Revert \"ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry.\"\n\nBreaks assembler_thumb_test.\n\nThis reverts commit d494c5e37c656d92fcf83987d886e999457d9252.\n\nChange-Id: I0ccac4c7bf391185b860767bd26d48189bfae461\n"
    },
    {
      "commit": "1b8464d17c2266763714ae18be7c4dc26e28bf61",
      "tree": "19ab81b439fc216e289cb14be8a7618dbafb4f50",
      "parents": [
        "d7a7c7f3e93de9fa915e66d54dfc799efcc12ffb"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Sat Nov 12 17:22:05 2016 -0800"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Tue Dec 06 13:57:04 2016 -0800"
      },
      "message": "MIPS32: Pass more arguments in registers.\n\nSpecifically, use A0-A3,T0-T1 for non-floats and F8-F19 for floats.\n\nTest: booted MIPS32R2 in QEMU\nTest: test-art-target-run-test-optimizing (MIPS32R2) on CI20\nTest: test-art-target-gtest (MIPS32R2) on CI20\nTest: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU\nTest: test-art-target-run-test-optimizing (MIPS32R6) in QEMU\nTest: test-art-target-gtest (MIPS32R6) in QEMU\nTest: test-art-host-gtest\n\nChange-Id: Ib8b0310a109d9f3d70119c1e605e54b013e60728\n"
    },
    {
      "commit": "d494c5e37c656d92fcf83987d886e999457d9252",
      "tree": "38b5d0a6d3fda3a811fba9f7f7a997fabd3fcc1d",
      "parents": [
        "f99e0d0f28a60032d9f5e84191ab627ae7adf009"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Dec 02 18:46:40 2016 +0000"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Tue Dec 06 19:48:17 2016 +0000"
      },
      "message": "ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry.\n\nIn T32 some of the instructions (add, mov, etc) outside an IT block\nhave only 32-bit encodings. But there are 16-bit flag setting\nversions of these instructions (adds, movs, etc). In most of the\ncases in ART we don\u0027t care if the instructions keep flags or not;\nthus we can benefit from smaller code size.\nVIXL will never generate flag setting versions (for example, adds\nfor Add macro instruction) unless vixl32::DontCare option is\nexplicitly specified. That\u0027s why we introduce wrappers to use\nDontCare option by default.\n\nThis patch reduces code size of compiled code. For example,\ncore.oat has shown over 1.16% code size reduction.\n\nAlso contains a fix for GenerateFrameEntry.\n\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-host\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-target\n\nChange-Id: Id55a16f34208e7b702016ee83e2f2d0daeb42eaf\n"
    },
    {
      "commit": "edb2ac372a6e01d33c4b894361893eacbaebd8fb",
      "tree": "24c5053bed94b5f8d376ed3efd848b31ecdb7ed2",
      "parents": [
        "c6f27ac5f486247e99096c88789314bc36dab33f"
      ],
      "author": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Wed Nov 30 15:14:10 2016 +0000"
      },
      "committer": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Tue Dec 06 18:41:57 2016 +0000"
      },
      "message": "ARM: VIXL32: Implement read barriers.\n\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue {ART_USE_READ_BARRIER\u003dtrue, \\\n      ART_USE_READ_BARRIER\u003dtrue ART_HEAP_POISONING\u003dtrue, \\\n      ART_USE_READ_BARRIER\u003dtrue ART_READ_BARRIER_TYPE\u003dTABLELOOKUP, \\\n      ART_USE_READ_BARRIER\u003dtrue ART_READ_BARRIER_TYPE\u003dTABLELOOKUP \\\n      ART_HEAP_POISONING\u003dtrue, ART_HEAP_POISONING\u003dtrue} \\\n      m test-art-host\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue {ART_USE_READ_BARRIER\u003dtrue, \\\n      ART_USE_READ_BARRIER\u003dtrue ART_HEAP_POISONING\u003dtrue, \\\n      ART_USE_READ_BARRIER\u003dtrue ART_READ_BARRIER_TYPE\u003dTABLELOOKUP, \\\n      ART_USE_READ_BARRIER\u003dtrue ART_READ_BARRIER_TYPE\u003dTABLELOOKUP \\\n      ART_HEAP_POISONING\u003dtrue, ART_HEAP_POISONING\u003dtrue} \\\n      m test-art-target\nChange-Id: I2c1e4875beb09329c3b69bd5e1e8bbd3861d5866\n"
    },
    {
      "commit": "6746874b84a44ab8dff18457eec546a1ebb22e93",
      "tree": "8181bea8942339ff170518ec6cbdc5a91b11aba1",
      "parents": [
        "c6f27ac5f486247e99096c88789314bc36dab33f",
        "c071a01a26013ab6e3dbfc4131efa95a65aeb4ed"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Dec 06 17:09:57 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 06 17:09:58 2016 +0000"
      },
      "message": "Merge \"Added geometric induction variables analysis.\""
    },
    {
      "commit": "c071a01a26013ab6e3dbfc4131efa95a65aeb4ed",
      "tree": "bbe75527b8ee94483e4d797c6b2372adaabd81cf",
      "parents": [
        "5eb1e1e7341f4e7febf77c04f8649a9566b31c03"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Dec 01 10:22:31 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Dec 05 16:16:42 2016 -0800"
      },
      "message": "Added geometric induction variables analysis.\n\nRationale:\nInformation on geometric and polynomial (coming soon) sequences\nare nice to have to further enhance BCE and last-value assignment.\n\nTest: test-art-host\nChange-Id: Ib5e2998c3eb1009def6fd00b82935da7c3ba7c6e\n"
    },
    {
      "commit": "374ddf34753e5cbd122ac67ddb5551d83d0d1fb6",
      "tree": "6da27c8768a98dac697bbebf3fddf2434bd0acec",
      "parents": [
        "d4cc5b2127894475160b5d2bba9791dd21af5953"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Fri Nov 04 10:40:49 2016 +0000"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Mon Dec 05 14:28:19 2016 +0000"
      },
      "message": "ARM: VIXL32: Clean usage of scopes.\n\nUse scopes in more places where they are semantically required.\nThere are still places where we should use scopes, but do not yet.\nThose are marked with new `TODO` comments. Practically everything\nworks fine (see comments for details), but we eventually should fix\nit.\n\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-host\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-target\n\nChange-Id: I5bdc710d32f0b9476eee92b31f2ff9d874e26f63\n"
    },
    {
      "commit": "d4cc5b2127894475160b5d2bba9791dd21af5953",
      "tree": "04120b6077cacb5d16cb40161dfddd6170d8a64e",
      "parents": [
        "3acf36142594f0afb60e2eef82fdfab1b17b2463"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Nov 04 11:19:09 2016 +0000"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Mon Dec 05 13:01:29 2016 +0000"
      },
      "message": "ARM: VIXL32: Implement Invoke, LoadClass, LoadString dispatch.\n\nImplemented dispatch optimizations for InvokeStaticOrDirect,\nLoadClass, LoadString (excluding cases that use Literals).\nPerformed a cleanup of VIXL backend.\n\nTest: export ART_USE_VIXL_ARM_BACKEND\u003dtrue \u0026\u0026 \\\n      mma test-art-host dist \u0026\u0026 mma test-art-target dist\n\nChange-Id: Ib37a6b7e7657196b13caec999d190be747857c1d\n"
    },
    {
      "commit": "5d0c3009fc56afdb4aeae5ee6dd98c3d1d2e7711",
      "tree": "23dfec1a50eabc7e67f24520f81c8a6813454036",
      "parents": [
        "9d7ae2eaa232d41b3aba22009c9ad263ee1d0480",
        "8a4252e44c7fabca4952b4c8eb9c16912fb7afa6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 02 16:32:43 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 02 16:32:43 2016 +0000"
      },
      "message": "Merge \"ART: Fix typo in IsCallerSave\""
    },
    {
      "commit": "8a4252e44c7fabca4952b4c8eb9c16912fb7afa6",
      "tree": "de40cb96211ed50d41e58c0fb23709cd0927432a",
      "parents": [
        "54b20eb52f7d8688032fb3bd6112e8db9772c4a7"
      ],
      "author": {
        "name": "Matthew Gharrity",
        "email": "gharrma@google.com",
        "time": "Mon Aug 15 07:56:41 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Dec 02 16:32:22 2016 +0000"
      },
      "message": "ART: Fix typo in IsCallerSave\n\nCorrectly refer to floating point registers, if necessary. This\nensures that we correctly start allocating caller-save FPRs.\n\nBug: 31275200\nTest: ART_TEST_OPTIMIZING_GRAPH_COLOR\u003dtrue m test-art-host\nChange-Id: I420b66f0a000636e8370c739003de3cf53af3e30\n"
    },
    {
      "commit": "d0f081ecbdf0e932b98c54e5f51ba3614c7a69e0",
      "tree": "82955f9141078b25576f342d7f3cacd0a984c68e",
      "parents": [
        "edcd7929e2bf521316fa5305109c330d563d87db"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 01 19:32:26 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 01 20:05:07 2016 -0800"
      },
      "message": "ART: Delete unnecessary ScopedObjectAccess\n\nThis isn\u0027t protecting or serializing anything. Reduces\ndex2oatd compile time.\n\nTest: m test-art-host\nChange-Id: I8e6d1579578740b526070ba784b81bd0590e84b1\n"
    },
    {
      "commit": "141c6f68d47e9312e3c27aa6dcd3ae510e7e19c7",
      "tree": "727e5e4976b8ad53a536c3ca32b04f97359d8e90",
      "parents": [
        "e20fe27a2846d13a1893ee8e1cbc9d950148c27d",
        "063fc772b5b8aed7d769cd7cccb6ddc7619326ee"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Dec 01 23:28:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 01 23:28:54 2016 +0000"
      },
      "message": "Merge \"Class Hierarchy Analysis (CHA)\""
    },
    {
      "commit": "5eb1e1e7341f4e7febf77c04f8649a9566b31c03",
      "tree": "59a875dd1c53af0d405a10daff312b6e4053b082",
      "parents": [
        "48d08a4233ee4450b0d5073d41445f9dd1f17191",
        "be44dcf6b2338782c276483c6c79a4ab17ca98a9"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Dec 01 19:59:50 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 01 19:59:51 2016 +0000"
      },
      "message": "Merge \"Add LoadString kind of kJitTableAddress for dump-cfg.\""
    },
    {
      "commit": "063fc772b5b8aed7d769cd7cccb6ddc7619326ee",
      "tree": "bc165781989087a998721991504e589a7d5b0926",
      "parents": [
        "48d08a4233ee4450b0d5073d41445f9dd1f17191"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Tue Aug 02 11:02:54 2016 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Dec 01 11:15:47 2016 -0800"
      },
      "message": "Class Hierarchy Analysis (CHA)\n\nThe class linker now tracks whether a method has a single implementation\nand if so, the JIT compiler will try to devirtualize a virtual call for\nthe method into a direct call. If the single-implementation assumption\nis violated due to additional class linking, compiled code that makes the\nassumption is invalidated. Deoptimization is triggered for compiled code\nlive on stack. Instead of patching return pc\u0027s on stack, a CHA guard is\nadded which checks a hidden should_deoptimize flag for deoptimization.\nThis approach limits the number of deoptimization points.\n\nThis CL does not devirtualize abstract/interface method invocation.\n\nSlides on CHA:\nhttps://docs.google.com/a/google.com/presentation/d/1Ax6cabP1vM44aLOaJU3B26n5fTE9w5YU-1CRevIDsBc/edit?usp\u003dsharing\n\nChange-Id: I18bf716a601b6413b46312e925a6ad9e4008efa4\nTest: ART_TEST_JIT\u003dtrue m test-art-host/target-run-test test-art-host-gtest\n"
    },
    {
      "commit": "982e0bf9ed2b00ef85b328de674e28342eb0b2dd",
      "tree": "168a1d48469c072794ef2adf441d80a85cf827a7",
      "parents": [
        "85b38bd1fdf4a3aaf073e0aa1f901271b7bab338",
        "657022c0881720fea6871a7b26b49ba4ae74bbd9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 01 09:12:31 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 01 09:12:32 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: A couple of fixes to have more tests passing.\""
    },
    {
      "commit": "679ba8d5d53b5577f571b51af17e263abd05e760",
      "tree": "0c13819fc3eccfba307d5a642e1260685d5626bf",
      "parents": [
        "0fd9a7d67878d1d88a74895c0d02c556b5de8e72",
        "71bf7b43380eb445973f32a7f789d9670f8cc97d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 01 00:45:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 01 00:45:28 2016 +0000"
      },
      "message": "Merge \"Optimizations around escape analysis. With tests.\""
    },
    {
      "commit": "be44dcf6b2338782c276483c6c79a4ab17ca98a9",
      "tree": "21f97e74dafb37f9a0382e30a6b0fea18f570ddb",
      "parents": [
        "07ab8831ff6025f91f927cc9e60c04801583666c"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Nov 30 14:17:32 2016 -0800"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Nov 30 14:29:58 2016 -0800"
      },
      "message": "Add LoadString kind of kJitTableAddress for dump-cfg.\n\nTest: manual\n\nChange-Id: Ifcae7b26f666930766635d8b3ed7a495494cddf7\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": "211fd802903c130ed1c47c18d1b87809d290aa69",
      "tree": "e049fbad2dd7fbf244d5163e084be339f02fc8d7",
      "parents": [
        "304f2d3a1d090846a7a55a0016efc9fc8eb14078",
        "8a0128a5ca0784f6d2b4ca27907e8967a74bc4c5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 30 18:21:22 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 30 18:21:22 2016 +0000"
      },
      "message": "Merge \"ART: Add dex::StringIndex\""
    },
    {
      "commit": "657022c0881720fea6871a7b26b49ba4ae74bbd9",
      "tree": "a70c0c65d74d566a031f2adc6d271d5ebb904203",
      "parents": [
        "725466c0207d4b3d997633f5c321adee2dcd5483"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Wed Nov 23 14:19:38 2016 +0000"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Wed Nov 30 17:31:36 2016 +0000"
      },
      "message": "ARM: VIXL32: A couple of fixes to have more tests passing.\n\nFix 103-string-append, CheckCast visitor, stop interpretting\nboot.oat, port Floating point compare optimization.\n\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-host\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-target\nChange-Id: I7e06f9bc1ec60a850a8fc4ef7a344b9cfc736033\n"
    },
    {
      "commit": "725466c0207d4b3d997633f5c321adee2dcd5483",
      "tree": "0dda746395e490e16a4209d0bca1c3a366ed19ea",
      "parents": [
        "07e6a7947f3279f66f14f7af045065b5297294c2",
        "8d2c459d3f694743ac6e75042d1cf9b1efb1194e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 30 15:49:40 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 30 15:49:41 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Implement HClassTableGet Visitor.\""
    },
    {
      "commit": "07e6a7947f3279f66f14f7af045065b5297294c2",
      "tree": "5798777d9d233585d74ee36e73c2a0555a1b7ee1",
      "parents": [
        "73209a4a64d40fb3a83a725e5929b232c89bcef8",
        "dda4396c4319b85f3d2c06136fea02aaad93a819"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 30 14:45:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 30 14:45:15 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Fix some test failures.\""
    },
    {
      "commit": "c9e2fc27c57d4c007d26081a8e60b244ecba8665",
      "tree": "cd59bdb099bf2342f4400c37cfbf6ea827a56632",
      "parents": [
        "9ebca690fdfb36fe1a689fd32c3d05d999497768",
        "e51ca8bfa8a193b64901ad214842f213adca92eb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 30 13:57:30 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 30 13:57:30 2016 +0000"
      },
      "message": "Merge \"Move inline caches GC handling in JitCodeCache.\""
    },
    {
      "commit": "e51ca8bfa8a193b64901ad214842f213adca92eb",
      "tree": "b07b2534edc592d68b5461a3bdb8a31241892d54",
      "parents": [
        "eb9c58e88f8e0f4a0a413efce04b49b183ad23e3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 22 14:49:31 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 29 21:05:51 2016 +0000"
      },
      "message": "Move inline caches GC handling in JitCodeCache.\n\nMake the classes they hold weak references and visit\nthem during SweepJitRoots.\n\nThis fixes the newly introduced deadlock:\n\nThread1:\n1) Lock JitCodeCache lock to create Profiling info for\n  ArtMethod m.\n2) m is a copied method, we need to track the actual holder,\n   needing to decode a weak reference.\n3) Weak references are not accessible due to GC.\n\nGC Thread:\n- Disallow weak reference access.\n- Wait for checkpoint.\n\nThread2:\n- Try to lock JitCodeCache lock\n- Deadlock, as Thread1 owns the JitCodeCache lock.\n\nTest: test-art-host\nbug: 31289185\nbug: 33198826\n\nChange-Id: I7ee17631015450ace8d2a0264415a81c5a902bb8\n"
    },
    {
      "commit": "8a0128a5ca0784f6d2b4ca27907e8967a74bc4c5",
      "tree": "0dec75200282ae5e49785395e97bd4e6459f1c09",
      "parents": [
        "60438b46090d22bb9b978196f5aa53fab3b89759"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 28 07:38:35 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 29 11:11:46 2016 -0800"
      },
      "message": "ART: Add dex::StringIndex\n\nAdd abstraction for uint32_t string index.\n\nTest: m test-art-host\nChange-Id: I917c2881702fe3df112c713f06980f2278ced7ed\n"
    },
    {
      "commit": "ec428a7ab9d4fbfa03b852983811b3247867bb5d",
      "tree": "1036aaa8f6123419158f1562a5f51d164a713c8e",
      "parents": [
        "60438b46090d22bb9b978196f5aa53fab3b89759",
        "c5646201a858bd0744634515c057ace5149489ca"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 29 16:22:50 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 29 16:22:51 2016 +0000"
      },
      "message": "Merge \"ARM64: Merge TBNZ+CMP+BGE/BGT to CMP+BHS/BHI in intrinsics.\""
    },
    {
      "commit": "c5646201a858bd0744634515c057ace5149489ca",
      "tree": "b3ae881d28d5ffa91caaa7ec37931fd6899aff5b",
      "parents": [
        "5ee771615a7e7752abb8b0d53122ca44137c4286"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 28 16:03:15 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 29 14:49:27 2016 +0000"
      },
      "message": "ARM64: Merge TBNZ+CMP+BGE/BGT to CMP+BHS/BHI in intrinsics.\n\nTest: m test-art-target\nChange-Id: I7316dfc40555a3c47670a3b79b4c8fc0cd3edc4f\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"
    },
    {
      "commit": "dda4396c4319b85f3d2c06136fea02aaad93a819",
      "tree": "a4cf329bd2680f71b394321c55d2b8128e2d6c9a",
      "parents": [
        "b77051ea5718fe017f2fa884b9ca4c8186c95190"
      ],
      "author": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Mon Nov 21 19:55:20 2016 +0000"
      },
      "committer": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Fri Nov 25 14:18:30 2016 +0000"
      },
      "message": "ARM: VIXL32: Fix some test failures.\n\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-host\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-target\nChange-Id: I6cc179a56c967fc35936a5743a953013a2388c90\n"
    },
    {
      "commit": "b77051ea5718fe017f2fa884b9ca4c8186c95190",
      "tree": "bb51782f8350be00195becabc3cd8758f15010a0",
      "parents": [
        "d0111420a9f924fe560a97132d09ae531852fd69"
      ],
      "author": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Mon Nov 21 19:46:00 2016 +0000"
      },
      "committer": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Fri Nov 25 14:16:31 2016 +0000"
      },
      "message": "ARM: VIXL32: Fix breaking changes from recent VIXL update.\n\nTest: m test-art-host\nTest: m test-art-target\nChange-Id: I02a608bf51b889a2bfff43272a3619582bf9cf20\n"
    },
    {
      "commit": "8d2c459d3f694743ac6e75042d1cf9b1efb1194e",
      "tree": "4b98feaae69b6d5a69eda7d3d1086b61718c44ad",
      "parents": [
        "4bb3c7fb33c3f8636e38884ddf023f2c9a39a413"
      ],
      "author": {
        "name": "xueliang.zhong",
        "email": "xueliang.zhong@linaro.org",
        "time": "Wed Nov 23 17:05:25 2016 +0000"
      },
      "committer": {
        "name": "xueliang.zhong",
        "email": "xueliang.zhong@linaro.org",
        "time": "Thu Nov 24 12:13:12 2016 +0000"
      },
      "message": "ARM: VIXL32: Implement HClassTableGet Visitor.\n\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-host\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-target\nChange-Id: Ia334bff827a78966274dc2a80a2be8688240cadf\n"
    },
    {
      "commit": "f51bc62a1d89a35fabaaf7e766d49502881fd591",
      "tree": "eadb80d9e842476ed599a129a3babad27f7d2167",
      "parents": [
        "8f3435981e67e4b78caf0130f81dcd9a87af531e"
      ],
      "author": {
        "name": "xueliang.zhong",
        "email": "xueliang.zhong@linaro.org",
        "time": "Fri Nov 04 09:23:32 2016 +0000"
      },
      "committer": {
        "name": "xueliang.zhong",
        "email": "xueliang.zhong@linaro.org",
        "time": "Thu Nov 24 11:39:20 2016 +0000"
      },
      "message": "ARM: VIXL32: Improve codegen on CBZ/CBNZ\n\nThis patch improves codegen on CBZ/CBNZ.\nCompareAndBranchIfZero/CompareAndBranchIfNonZero are introduced.\n\nThese two functions can generate CMP+Bcc or Cbz/Cbnz.\nCMP+Bcc are generated by default.\nIf a hint is given (is_far_target \u003d false) and rn and label\ncan all fit into Cbz/Cbnz, then Cbz/Cbnz is generated.\nPrefer these two interfaces to using vixl32::MacroAssembler::Cbz/Cbnz.\nIn T32, Cbz/Cbnz instructions have following limitations:\n- Far targets, which are over 126 bytes away, are not supported.\n- Only low registers can be encoded.\n- Backward branches are not supported.\n\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-host\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-target\n\nChange-Id: I5d2ada19ea4f83dab78baf0cf78c72e99e58d946\n"
    },
    {
      "commit": "24a56c620774c6f7bb2ef408895b9a48fe7ab4af",
      "tree": "f304f51ecb16e9c92116afc28030d18cfaca296a",
      "parents": [
        "701bb7d1d750850b41b26c75255e1829efb4860e",
        "f46501c6ad11025843682267c10f221323a206b1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 22 16:40:20 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 22 16:40:21 2016 +0000"
      },
      "message": "Merge \"Clear the right data pointer.\""
    },
    {
      "commit": "f46501c6ad11025843682267c10f221323a206b1",
      "tree": "a5b77de81f5ab31e66082b02b225e7fe56877f98",
      "parents": [
        "71d15102b52af67e8fe1193192aa2b4cd1956ae0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 22 13:45:36 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 22 14:21:31 2016 +0000"
      },
      "message": "Clear the right data pointer.\n\nInternally, stack_map_data is an offset of the roots_data allocation.\nPass both to the ClearData method, which will use the right pointer\nto deallocate.\n\nTest: test-art-host in debug mode\nChange-Id: Ibfe38e7f1853870076048427f2efe7121c11c136\n"
    },
    {
      "commit": "eb9c58e88f8e0f4a0a413efce04b49b183ad23e3",
      "tree": "3e7affe083ccc71eb05546af3440fbaefd380000",
      "parents": [
        "71d15102b52af67e8fe1193192aa2b4cd1956ae0",
        "b88c484affe83b59c73dbd00855cb28754e041a2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 22 13:18:55 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 22 13:18:56 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Fix the assembler usage in the intrinsics.\""
    },
    {
      "commit": "b88c484affe83b59c73dbd00855cb28754e041a2",
      "tree": "5b20e66eec70ad325544d80fd456f975a285ed3e",
      "parents": [
        "dac7ad17c78387d15d7aefae0f852dddf5f37e34"
      ],
      "author": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Mon Nov 14 14:37:00 2016 +0000"
      },
      "committer": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Mon Nov 21 20:11:54 2016 +0000"
      },
      "message": "ARM: VIXL32: Fix the assembler usage in the intrinsics.\n\nThe assembler must not be used outside of any scopes;\nthe macroassembler methods should be called instead.\n\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-host\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-target\nChange-Id: I1358bea5330547db9b7a8446932d85ba946e5683\n"
    },
    {
      "commit": "a5b09a67034e57a6e10231dd4bd92f4cb50b824c",
      "tree": "304be738f4fa528b7ad2676103eecc84c79eaeeb",
      "parents": [
        "dac7ad17c78387d15d7aefae0f852dddf5f37e34"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 17 15:21:22 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 21 10:57:00 2016 -0800"
      },
      "message": "ART: Add dex::TypeIndex\n\nAdd abstraction for uint16_t type index.\n\nTest: m test-art-host\nChange-Id: I47708741c7c579cbbe59ab723c1e31c5fe71f83a\n"
    },
    {
      "commit": "dac7ad17c78387d15d7aefae0f852dddf5f37e34",
      "tree": "603b3ca74ba9144d217497417314fe863e2201ef",
      "parents": [
        "af524438b8a76264a23ec2d748e11eeded02abc7",
        "132d8363bf8cb043d910836672192ec8c36649b6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 21 10:14:06 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 21 10:14:07 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Revert \"Revert \"JIT root tables.\"\"\"\"\""
    },
    {
      "commit": "132d8363bf8cb043d910836672192ec8c36649b6",
      "tree": "42ee8b08f0323e9762675333b50a4c218ecdefc7",
      "parents": [
        "e89667815b9d0a1eacb91678fed2a7518bb07cc2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 16 09:19:42 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 18 14:31:30 2016 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Revert \"JIT root tables.\"\"\"\"\n\nTest: 626-set-resolved-string, test-art-host, test-art-target\nTest: run-libcore-tests.sh\nTest: phone boots and runs\n\nThis reverts commit 3395fbc20bcd20948bec8958db91b304c17cacd8.\n\nChange-Id: I104b73d093e3eb6a271d564cfdb9ab09c1c8cf24\n"
    },
    {
      "commit": "2dae2f256bce26690a29af498c50cc2d6440d15b",
      "tree": "5c9a44da1911d455310d88c78fa6871e2397a41d",
      "parents": [
        "67eb3914d2555e9c191337a4fe42ecef419b0330",
        "01b70e8bca5e824ee3958ffbdd7727334e81eb0a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 18 13:14:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 18 13:14:11 2016 +0000"
      },
      "message": "Merge \"Add dequickening support.\""
    },
    {
      "commit": "01b70e8bca5e824ee3958ffbdd7727334e81eb0a",
      "tree": "3e23fef88de183fd0c7945a6198a68050640b656",
      "parents": [
        "81cae78d1853893ff9c3ecea4b5100002a538eb7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 17 10:58:36 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 18 10:44:15 2016 +0000"
      },
      "message": "Add dequickening support.\n\nBoth vdex and BCI require full dequickening support. This\nchange implements dequickening by using the existing encoded\nquickening, and adds the checkcast quickening to that encoding.\n\nbug: 30937355\nbug: 32369913\nTest: dex_to_dex_decompiler_test.cc test-art-host\n\nChange-Id: Ie95f46946d59b28157d6e47dcf4a859be032d1c3\n"
    },
    {
      "commit": "09a940de7d6de44260c25b778f0850f52b2e4438",
      "tree": "4f44fa8bcefb6a3d5619f7163bfdcd282b11b4fd",
      "parents": [
        "85347bd18d47066ea9a214d29cec994472ad18ca"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Nov 11 16:15:11 2016 +0000"
      },
      "committer": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Thu Nov 17 16:08:27 2016 +0000"
      },
      "message": "ARM: VIXL32: Fix PackedSwitch.\n\nFix the case when the jumptable is very far and offset doesn\u0027t\nfit ADR offset field.\n\nTest: export ART_USE_VIXL_ARM_BACKEND\u003dtrue \u0026\u0026 \\\n      mma test-art-host dist \u0026\u0026 mma test-art-target dist\n\nChange-Id: I2b8ac04eb343947f9a9301f3ce6285794ddad4b8\n"
    },
    {
      "commit": "5f498b27840b101f4a8adda484c99b863faecf3b",
      "tree": "427b3242af6c5c4d50a68e5401f60d222473b3ca",
      "parents": [
        "ab39c210072fdb4d22bb11bba354653cdfc58f64",
        "2bbc953357ac5f62cc4ab2eb055e4392e47d0c3d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 17 09:39:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 17 09:39:23 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Arch specific operations.\""
    },
    {
      "commit": "82d44f1408d0108270f4a305a7fe0123bcc53405",
      "tree": "70231fc4bc81498e877c45465ccf847b5e0a96f9",
      "parents": [
        "a45aedbc88a723fb81355c0f66466ebb20e35e86",
        "6beced4c017826f7c449f12fac7fa42403657f2b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 16 21:40:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 16 21:40:34 2016 +0000"
      },
      "message": "Merge \"Change iftable to never be null\""
    },
    {
      "commit": "6beced4c017826f7c449f12fac7fa42403657f2b",
      "tree": "f53614eeeaa92be9a7398e262d9440f59e3384a5",
      "parents": [
        "e89667815b9d0a1eacb91678fed2a7518bb07cc2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 15 15:51:31 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 16 10:41:40 2016 -0800"
      },
      "message": "Change iftable to never be null\n\nSimplifies code generation by removing a null check. The null case\nis rare.\n\nRitzperf code size: 13107624 -\u003e 13095336\n\nAlso addressed comments from previous CL.\n\nBug: 32577579\n\nTest: test-art-host, run ritzperf both with CC\n\nChange-Id: I2b31e800867112869d7f0643e16c08826296979e\n"
    },
    {
      "commit": "2bbc953357ac5f62cc4ab2eb055e4392e47d0c3d",
      "tree": "aaaa0ea192d66bf71722fd71ec046b9abf3e884c",
      "parents": [
        "ecd8300b94938f22fa3988c58187acce9f091da8"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Oct 21 11:51:50 2016 +0100"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Wed Nov 16 18:40:36 2016 +0000"
      },
      "message": "ARM: VIXL32: Arch specific operations.\n\nTests which now start to pass:\n  550-checker-multiply-accumulate\n  564-checker-negbitwise\n\nTest: export ART_USE_VIXL_ARM_BACKEND\u003dtrue \u0026\u0026 \\\n      mma test-art-host dist \u0026\u0026 mma test-art-target dist\n\nChange-Id: I0b057486a8e0e48afbc52dd18b61ea16c671bec2\n"
    },
    {
      "commit": "ecd8300b94938f22fa3988c58187acce9f091da8",
      "tree": "48abd7b209b6465e2231b92bec064a824a8f7874",
      "parents": [
        "660407570104c91497e444a034daa05c7ad5064f",
        "fb0b7d45652af78f1035a5e332c732b9ebe060fa"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 16 11:25:40 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 16 11:25:40 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Fix VisitTypeConversion.\""
    },
    {
      "commit": "9fd8c60cdff7b28a89bb97fd90ae9d0f37cf8f8b",
      "tree": "630b6f23441a26e4b5d9434900993a710635c9e9",
      "parents": [
        "26c8f54be31ccf99540906746b17fc8bba1bab9a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 14 14:38:53 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 15 13:02:24 2016 -0800"
      },
      "message": "Pass object instead of class to instanceof entrypoint\n\nReduces code size. Also avoid read barrier for kArrayCheck case.\n\nBug: 32577579\n\nTest: test-art-host, test-art-target CC\n\nChange-Id: Ia890f656fe166b2d39c522b63a8a6469404134ae\n"
    },
    {
      "commit": "afbcdafde4d2c1de293c3ba1da22f579df200b3b",
      "tree": "6d75c7f26b7b358e0e8ca869ae6d206f7bf0294a",
      "parents": [
        "81cae78d1853893ff9c3ecea4b5100002a538eb7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 14 10:50:29 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 14 11:35:27 2016 -0800"
      },
      "message": "Clean up interface check cast\n\nChanged arm, arm64 to use less labels and removed forward branch\nin the success case.\n\nCleaned up X86, X86_64 to remove the is_null label.\n\nBug: 12687968\nBug: 32577579\n\nTest: test-art-host, test-art-target CC\nChange-Id: Iba426dff548b2ef42198fad13efeb075f7c724a7\n"
    },
    {
      "commit": "fb0b7d45652af78f1035a5e332c732b9ebe060fa",
      "tree": "f604fcca5b8d12ab2a0d450bb610a9011c7acd82",
      "parents": [
        "ddb7b436c59d405fc0f253bb3207a26da17f8196"
      ],
      "author": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Fri Oct 28 16:11:08 2016 +0100"
      },
      "committer": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Mon Nov 14 15:26:52 2016 +0000"
      },
      "message": "ARM: VIXL32: Fix VisitTypeConversion.\n\nPass 422-type-conversion and some other tests.\n\nTest: export ART_USE_VIXL_ARM_BACKEND\u003dtrue \u0026\u0026 \\\n      mma test-art-host dist \u0026\u0026 mma test-art-target dist\n\nChange-Id: I89a491a7724ae5286b717133eec16433b7066845\n"
    },
    {
      "commit": "81cae78d1853893ff9c3ecea4b5100002a538eb7",
      "tree": "d32c8f7e57449381511ffb206f4a335c157ae597",
      "parents": [
        "e8fc2cedb85ce4a6747cddbbf4cf33288e0ba5b9",
        "3395fbc20bcd20948bec8958db91b304c17cacd8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 14 12:41:12 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 14 12:41:12 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Revert \"JIT root tables.\"\"\"\""
    },
    {
      "commit": "3395fbc20bcd20948bec8958db91b304c17cacd8",
      "tree": "e0d00b412961e2aaa0dff91317a9f4168189e5fb",
      "parents": [
        "75afcdd3503a8a8518e5b23d21b6e73306ce39ce"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 14 12:40:52 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 14 12:40:52 2016 +0000"
      },
      "message": "Revert \"Revert \"Revert \"JIT root tables.\"\"\"\n\nlibcore failures:\ndalvikvm32 F 11-14 03:04:06 14870 14870 jit_code_cache.cc:310] Check failed: new_string !\u003d nullptr\n\nThis reverts commit 75afcdd3503a8a8518e5b23d21b6e73306ce39ce.\n\nChange-Id: I5a6b6b48aa79a763d1ff1ba4d85d63811254787d\n"
    },
    {
      "commit": "4b050e817b929169e57661376793cff4c3ef421a",
      "tree": "56ee6c72dd7ed64fe4bcf701a0733c50b0289bc9",
      "parents": [
        "7fad15efba22817e9abb0f35b15aa2dd4715884c",
        "75afcdd3503a8a8518e5b23d21b6e73306ce39ce"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 14 09:13:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 14 09:13:47 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"JIT root tables.\"\"\""
    },
    {
      "commit": "cfeb03142fba99853b43c06e0cb1651866db8c50",
      "tree": "0fda3d6b608726bc835b2045013386ca720e987a",
      "parents": [
        "e66dd4995b4401da2794f7e6f3fb1df3437d40cb",
        "551b28fcfe0c3e8181489ef0697d76f7202fbdb9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Nov 12 13:58:17 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 12 13:58:17 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Implement more codegen visitors.\""
    },
    {
      "commit": "08ec180de9481024c16be6841f068a45284cd8cc",
      "tree": "e8d450a7be42213ee14d465cd374e90f205e54df",
      "parents": [
        "5302bd999afee6db5b0cfd63e6a49b0fcbf92dd4"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Nov 10 18:21:30 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Nov 11 09:34:56 2016 -0800"
      },
      "message": "Fixed bug in LICM\n\nRationale:\nWe should stop hoisting anything that can throw\nas soon as something else that can do something\nvisible (either throw or write something) is *not*\nhoisted (used to be just throw test on second part).\n\nBug: 32810295\nTest: test-art-host\nChange-Id: Id88b712a5d9e37598d0bebbd4ecf4b1d8ee787b5\n"
    }
  ],
  "next": "75afcdd3503a8a8518e5b23d21b6e73306ce39ce"
}
