)]}'
{
  "log": [
    {
      "commit": "a5dcdf346158d47bfe80d8adb29b1b020cede286",
      "tree": "50e56b3445dc8e4724d6707ffecd23f9dae96e31",
      "parents": [
        "942c597b004aa328cf291a78392b405ef5d5f040",
        "bbe3a5efcdfb2fb15a4e5f724cc323ae0ada5111"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 15 20:21:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 15 20:21:24 2017 +0000"
      },
      "message": "Merge \"Refactor some profiling info functions\""
    },
    {
      "commit": "bbe3a5efcdfb2fb15a4e5f724cc323ae0ada5111",
      "tree": "65fd149e1159674681d866e47e485d85b8464334",
      "parents": [
        "d58932f98a673c9d687863a7efafb2da168063a2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 13 16:36:17 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 15 11:45:06 2017 -0700"
      },
      "message": "Refactor some profiling info functions\n\nDeleted profile_compilation_info-inl.h\n\nAdded a new helper class MethodHotness to reduce the number of\nrequired getters for reading method hotness, startup, and post\nstartup booleans.\n\nTest: test-art-host\nBug: 62040831\n\nChange-Id: I799a38e2bea6177ba5816c54524f4ccacedba772\n"
    },
    {
      "commit": "f789353025401c1907d2264952a88f253a9af8e7",
      "tree": "9ad4c6a4eed419eb8664fd8aa6b4811d5f259f71",
      "parents": [
        "1368312bb4772a1c505452f766fdaceef4c48f6e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 15 12:34:36 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 15 14:05:08 2017 +0100"
      },
      "message": "Set the deopt flag after adjusting the stack pointer.\n\nOne should not write to something below the stack pointer, or\nit could be overwritten during an interrupt.\n\nTest: test.py\nChange-Id: Ie6c997b9f7548ca5844303d6a3fc0c531f469c6e\n"
    },
    {
      "commit": "1cfea7af6f38cd06393fed3e466701869ce8b2c3",
      "tree": "3e3b185eeb4ce0c6a2cc3184e0305f37151261c2",
      "parents": [
        "d38b67c9892b603f57a6b51a1b9d7f4e610158aa"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 24 14:44:38 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 14 10:53:48 2017 +0100"
      },
      "message": "Code cleanup around vdex.\n\n1) Handle the vdex in dex2oat instead of compiler_driver\n2) CHECK instead of DCHECK that we don\u0027t dexlayout with vdex.\n\nTest: test.py\nChange-Id: Idf7be59bb25708181e391d17128480659ac697e5\n"
    },
    {
      "commit": "d58932f98a673c9d687863a7efafb2da168063a2",
      "tree": "627bf8e2da704ef67d612f23941949ed60bdc2ee",
      "parents": [
        "dbd3c89ae7f6ff6cb37ba091afda143e7946efad",
        "7a8bcfd197ccd755761df0d46f83491fadd3eb43"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 13 23:09:57 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 13 23:09:59 2017 +0000"
      },
      "message": "Merge \"Fix some indentation errors in compiler driver\""
    },
    {
      "commit": "7a8bcfd197ccd755761df0d46f83491fadd3eb43",
      "tree": "a9f195731af9a20e0f8ef042a941ece166c07f7b",
      "parents": [
        "16d59b2b0ff202be99cbe24830e8a5080b774357"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 13 13:40:43 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 13 13:40:52 2017 -0700"
      },
      "message": "Fix some indentation errors in compiler driver\n\nTest: m\nChange-Id: I8d64f6c7bdb5ccd82d916831cd0e3c3273097197\n"
    },
    {
      "commit": "17498e59a35b3802f77a6a3338468e6d18c5046b",
      "tree": "c1cfc0aff2f5e20b94db9b689430aeb34a703b27",
      "parents": [
        "19a4d0f01f850b86921e67b3f1d9834d5ce94ee3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 13 11:35:04 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 13 11:35:04 2017 -0700"
      },
      "message": "Avoid calling InitializeDependencies for non image case\n\nThe previous CL was incorrect since IsImageClass returns true for\nthe no image case.\n\nTest: test-art-host\nBug: 62402160\nChange-Id: Id75170eeaae5dfa675c113aa04b1a10b1276fab1\n"
    },
    {
      "commit": "dabeb3adf974d32ff1553af356d20e0a4abfd1f1",
      "tree": "4cc741fed0a630568e8bb2d87eea54ad69313584",
      "parents": [
        "16d59b2b0ff202be99cbe24830e8a5080b774357"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 12 17:10:07 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 12 18:40:29 2017 -0700"
      },
      "message": "Correctly set oat class status after initializing\n\nThe previous CL had a bug where it would not set the oat class status\nfor initialized classes that had run the class initializer for the\nboot image case.\n\nAims to fix random dex2oat crashes during boot image creation.\n\nBug: 62402160\nTest: test-art-host\n\nChange-Id: Ia1814fc91ec71c9556eb37699a63be3b09ff6188\n"
    },
    {
      "commit": "16d59b2b0ff202be99cbe24830e8a5080b774357",
      "tree": "6f3399a81626257ffd5cd777fff16f7ccce011a8",
      "parents": [
        "a7548fee6122f594c6669e1dcfd7b1637ef19a47",
        "fd37f1dafbc1c9763b8ea30855120d2c22062732"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 13 00:18:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 13 00:18:11 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Fixed installation time regression when compile.\"\"\""
    },
    {
      "commit": "fd37f1dafbc1c9763b8ea30855120d2c22062732",
      "tree": "1d89e4ad359f21469beb0f6e52721eea28292d94",
      "parents": [
        "54c32b1f3362129d79e512581d4932aec92425eb"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 12 22:15:09 2017 +0000"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 12 22:15:09 2017 +0000"
      },
      "message": "Revert \"Revert \"Fixed installation time regression when compile.\"\"\n\nBug: 62337922\n\nThis reverts commit 54c32b1f3362129d79e512581d4932aec92425eb.\n\nChange-Id: Ica942c9e70b63e2c4893f87c15757a519a0c4d73\n"
    },
    {
      "commit": "4f5e3cb690547c0f85c1e6117786048d0348d3c6",
      "tree": "6e8ea7b16bce526e5b0bd3ad9fa7a6f408952a8a",
      "parents": [
        "f22f68efca28c2e165f6db485b24f9ee02caa78c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 12 13:10:01 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 12 13:32:43 2017 -0700"
      },
      "message": "Add FirstPathFromRootSet and use it to debug reachability issues\n\nSpecifically issues where classes aren\u0027t pruned in image writer.\n\nAdded test.\n\nTest: mm test-art-host-gtest-heap_verification_test -j32\n\nChange-Id: Iea87309aaddf9e28f1856698699a925fb6ab92a1\n"
    },
    {
      "commit": "c0fe9db1af30a162448ca5ccd386e970a8d31f83",
      "tree": "6dbb5549f249b61337f1e70f1911ea1902d2d8fa",
      "parents": [
        "53ac3130edd9c9273f95e3ba0bc5e80f6d2b3f2d",
        "82b0740f03b1a6acab4558214d3edc362e27e238"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 12 09:09:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 12 09:09:11 2017 +0000"
      },
      "message": "Merge \"Use IntrusiveForwardList\u003c\u003e for Env-/UsePosition.\""
    },
    {
      "commit": "13600e9cd7536b7cd8d93c32270f5f08076f5d6d",
      "tree": "3cedd3b9538afb1a7213fea02210c0e7dea6d76d",
      "parents": [
        "a74c04b3c797265ab7923d3690da6166224f3e30",
        "8fea1e18ecce190bbffbc0085f20ad49ca10a8c2"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Jun 09 21:28:37 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 09 21:28:39 2017 +0000"
      },
      "message": "Merge \"MIPS64: Min/max vectorization support\""
    },
    {
      "commit": "a74c04b3c797265ab7923d3690da6166224f3e30",
      "tree": "3dd8a1d597bf73d0e5a32294e9fc9e84930d89d0",
      "parents": [
        "29365184fe2e4f3d32f56b32edec8d03852b9556",
        "b2d18fa4e33ca119654ced872c70fe198b0b2db5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 09 21:16:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 09 21:16:08 2017 +0000"
      },
      "message": "Merge \"ART: Clean up asm_support.h\""
    },
    {
      "commit": "b2d18fa4e33ca119654ced872c70fe198b0b2db5",
      "tree": "9f0e3ac72b9b7b08794e1ecf458620ba19437465",
      "parents": [
        "58794c5c23f46a7476a58e5a10dbeebb6321aa90"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 06 20:46:10 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 09 11:36:45 2017 -0700"
      },
      "message": "ART: Clean up asm_support.h\n\nThe includes are only ever really needed for tests. Factor out\ngeneration of the test function into asm_support_check.h\n\nFix up missing includes, mainly intern_table.h.\n\nTest: m\nTest: m test-art-host\nChange-Id: I435199e6211e368be0a06c80d8fa95b9593aca31\n"
    },
    {
      "commit": "8bdda5a106b256865ce39f4a843452f45ad97599",
      "tree": "a9b148609ab1be9067b69a39e9862e1d7a8d68c3",
      "parents": [
        "58794c5c23f46a7476a58e5a10dbeebb6321aa90"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 08 15:30:36 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 09 11:14:49 2017 -0700"
      },
      "message": "ART: Update stl_util.h\n\nReplace MakeUnique with std::make_unique. Remove unused functions.\n\nTest: m\nChange-Id: I3afdc0529cd6fb9d1797e5294a3d5ea2f6b38fc7\n"
    },
    {
      "commit": "58794c5c23f46a7476a58e5a10dbeebb6321aa90",
      "tree": "948368dd8d8376a50fe996da0438abe10da1322d",
      "parents": [
        "73321bfdd7e96e3ce62042c9e5be567ed0db1985",
        "5678db5b3a0275d04bc610236f89fac9f76b5b1e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 09 18:00:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 09 18:00:43 2017 +0000"
      },
      "message": "Merge \"ART: Refactor bit_utils and stl_util\""
    },
    {
      "commit": "86060f93c3426284190661440be3bb23f3d029fe",
      "tree": "4f5e73ed2f43cd59caace24a89df6449d700f328",
      "parents": [
        "049f2a58ea9276dfd162760271ad443570f2e660",
        "f1dd69a8fd6bc330e5ff6e89eaaf3affbc7c6f31"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 09 17:50:03 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 09 17:50:05 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Fully support static encoded fields.\"\"\""
    },
    {
      "commit": "8375e4f918cd409be6155f8c7b323a203c090e7e",
      "tree": "114ef9fcdd1f14fc4e0e54b26264f0fefbf75a22",
      "parents": [
        "05ae67444e15c9281582ef1fc45c4558d286040e",
        "f45d61c0866461c9476f17644b27dc0664d507c5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 09 16:31:42 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 09 16:31:44 2017 +0000"
      },
      "message": "Merge \"ART: Fix or disable some tidy warnings.\""
    },
    {
      "commit": "05ae67444e15c9281582ef1fc45c4558d286040e",
      "tree": "c4c1bb45e81be3367dbfb36af1646f9a5d434078",
      "parents": [
        "ca333f4093648f275b71121121a7c72f99fc11af",
        "0758ae7c12df9f857b8609e1eab6ad5dfa0e517d"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Jun 09 16:07:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 09 16:07:40 2017 +0000"
      },
      "message": "Merge \"Introduce a number of MSA instructions for MIPS32\""
    },
    {
      "commit": "d632b8b8a031cda163c6f9a6b4e33a192f123a0b",
      "tree": "3700f049994e44d8a865db8319b72c7a2a4cc613",
      "parents": [
        "934adc1dac48512abbd5107c2f951d1f4c0188d8",
        "3b7dc35f4e5c4d86c73b6784b7ee0df701c68ec2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 09 01:30:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 09 01:30:57 2017 +0000"
      },
      "message": "Merge changes I953d774b,Id84c44bf\n\n* changes:\n  ART: Clean up allocator.h\n  ART: Move CalleeSaveType to callee_save_type.h\n"
    },
    {
      "commit": "f1dd69a8fd6bc330e5ff6e89eaaf3affbc7c6f31",
      "tree": "018f0d82f516bf606e403c17ab33ed65eaaa91c5",
      "parents": [
        "934adc1dac48512abbd5107c2f951d1f4c0188d8"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 08 23:30:15 2017 +0000"
      },
      "committer": {
        "name": "Chang Xing",
        "email": "chxing@google.com",
        "time": "Thu Jun 08 18:28:14 2017 -0700"
      },
      "message": "Revert \"Revert \"Fully support static encoded fields.\"\"\n\nBug: 62337922\n\nThis reverts commit 84c8432726299e8884215874d83958f55d5b2cd7.\n\nTest: format issue only\n\nChange-Id: Idf6f39a50b6c3baa3cc0a2147724a5815dd6d9b4\n"
    },
    {
      "commit": "f45d61c0866461c9476f17644b27dc0664d507c5",
      "tree": "95d2837a03d451cccd82cad61924980beb5fd0d4",
      "parents": [
        "83b140474aa1759739c8ee4464bf226c4fa0f6d7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 07 10:29:33 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 08 17:19:51 2017 -0700"
      },
      "message": "ART: Fix or disable some tidy warnings.\n\nAdd a strlcpy shim for the host, so we can use strlcpy instead of\nstrcpy everywhere.\n\nFixed warnings include unused-decls, (some) unreachable code, use\nafter std::move, string char append, leaks, (some) excessive padding.\n\nDisable some warnings we cannot or do not want to avoid.\n\nBug: 32619234\nTest: m\nTest: m test-art-host\nChange-Id: Ie191985eebb160d94b988b41735d4f0a1fa1b54e\n"
    },
    {
      "commit": "5678db5b3a0275d04bc610236f89fac9f76b5b1e",
      "tree": "efc4ffe5d59a0c6c5f4c15a886459962d24de4aa",
      "parents": [
        "83b140474aa1759739c8ee4464bf226c4fa0f6d7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 08 14:11:18 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 08 14:11:18 2017 -0700"
      },
      "message": "ART: Refactor bit_utils and stl_util\n\nMove iterator code from bit_utils.h into bit_utils_iterator.h. Move\nIdentity into stl_util_identity.h. Remove now unnecessary includes,\nand fix up transitive users.\n\nTest: m\nChange-Id: Id1ce9cda66827c5d00584f39ed310b6b37629906\n"
    },
    {
      "commit": "3b7dc35f4e5c4d86c73b6784b7ee0df701c68ec2",
      "tree": "1e3a56846ec63148142ac6fb1fef214129f4a05e",
      "parents": [
        "8228cdf4ad6322ec8133564aaa51f966d36c0f17"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 06 20:02:03 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 08 13:13:20 2017 -0700"
      },
      "message": "ART: Clean up allocator.h\n\nMove the single-use typedefs to their users. Remove now-unused\nincludes. Fix up transitive includes.\n\nTest: m\nChange-Id: I953d774b28f1e4f3191f96943e3a69ce66aa398a\n"
    },
    {
      "commit": "8228cdf4ad6322ec8133564aaa51f966d36c0f17",
      "tree": "6d2f5cf4e742ad644ad30eb96a9f943c9ebcb34b",
      "parents": [
        "83b140474aa1759739c8ee4464bf226c4fa0f6d7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 30 15:03:54 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 08 13:13:15 2017 -0700"
      },
      "message": "ART: Move CalleeSaveType to callee_save_type.h\n\nMove the type out of runtime to decrease dependencies. Make it\na proper enum class. Fix up usage.\n\nTest: m test-art-host\nChange-Id: Id84c44bf3c59f37c8a43548e720c5fb65707b198\n"
    },
    {
      "commit": "8dfe746dc969b61416a2906bea8c176427457efc",
      "tree": "3b5d736e7ead08f176514622684f8db7f0b7e40a",
      "parents": [
        "a215c5b2bac883a57e1d35e5490241609ad22e5f"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Jun 01 14:28:48 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 08 13:50:28 2017 +0000"
      },
      "message": "ARM64: Encode constants when it is possible.\n\nSmall optimization which improves HVecReplicateScalar by encoding\nimmediates directly into NEON instruction when possible instead of\ngenerating constant in GPR and transferring it into NEON register.\n\nTest: test-art-target, test-art-host.\nChange-Id: I2113bbd98c0dc8433d2b7048921b9ed7c35ef1c5\n"
    },
    {
      "commit": "6fc7c4a669d6cbf47455e0849285c428e047df10",
      "tree": "364a4c7bbcccad106dfc819abd79ba4240d2f3e7",
      "parents": [
        "4d3df9131c4098828f889b9470c82880efdc91be",
        "0eb882bfc5d260e8014c26adfda11602065aa5d8"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 08 09:07:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 08 09:07:25 2017 +0000"
      },
      "message": "Merge \"Use ArtMethod* .bss entries for HInvokeStaticOrDirect.\""
    },
    {
      "commit": "0758ae7c12df9f857b8609e1eab6ad5dfa0e517d",
      "tree": "cbceef23999bd640e36c052ce2accbab0a81dc22",
      "parents": [
        "4d3df9131c4098828f889b9470c82880efdc91be"
      ],
      "author": {
        "name": "Lena Djokic",
        "email": "Lena.Djokic@imgtec.com",
        "time": "Tue May 23 11:06:23 2017 +0200"
      },
      "committer": {
        "name": "Lena Djokic",
        "email": "Lena.Djokic@imgtec.com",
        "time": "Thu Jun 08 10:56:46 2017 +0200"
      },
      "message": "Introduce a number of MSA instructions for MIPS32\n\nAdded a number of MSA (The MIPS SIMD Architecture) instructions.\nAdded assembler tests for each instruction.\n\nTest: mma test-art-host-gtest\n\nChange-Id: I1d499309fc08923484f64d1883b9c3f95eadd3be\n"
    },
    {
      "commit": "4d3df9131c4098828f889b9470c82880efdc91be",
      "tree": "540a77341df80016b257503e5e497fc2cb932336",
      "parents": [
        "bdb5c8335fcce3c20b568955b14b5899bf9ff9a2",
        "f96a2dba65640255a2ebfe4dc00e2d7a91521feb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 08 01:19:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 08 01:19:37 2017 +0000"
      },
      "message": "Merge \"Store a copy of MethodDebugInfo in ElfWriter\""
    },
    {
      "commit": "f96a2dba65640255a2ebfe4dc00e2d7a91521feb",
      "tree": "356d6e70f88be1cbcbb24346b92aa2b1db98d3f5",
      "parents": [
        "3b8bbb9927a38561fa37e38d5d9ddcf02608d60b"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Wed Jun 07 15:57:30 2017 -0700"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Wed Jun 07 16:10:10 2017 -0700"
      },
      "message": "Store a copy of MethodDebugInfo in ElfWriter\n\nBug: http://b/62418787\n\nStore a copy of the debug info instead of a reference, since this is\nwritten in the background by a separate thread.\n\nTest: make -j36 PRODUCT-aosp_x86_64-eng dist checkbuild \\\n          ASAN_OPTIONS\u003ddetect_leaks\u003d0 SANITIZE_HOST\u003daddress \\\n          FORCE_BUILD_LLVM_COMPONENTS\u003dtrue\n      doesn\u0027t have dex2oat asan failures that are otherwise seen.\n\nChange-Id: I2599f5b607f956191db01924730a2e98421b5d77\n"
    },
    {
      "commit": "265791fe5340b73658d7971f12bfb26a29725b51",
      "tree": "c7931765b69e70c7b10963aa07b52485b7491b93",
      "parents": [
        "0669e6f898b8e77cb83ed57f12415f3b028cf37c",
        "658263ec2fdc7758dd73c41cdcf0babcdef1e48d"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Jun 07 21:24:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 07 21:24:58 2017 +0000"
      },
      "message": "Merge \"MIPS64: Add min/max MSA instructions\""
    },
    {
      "commit": "3050956ebb512002dfb56d4267a457d32133435d",
      "tree": "19cc8b19e995e280f138e7cefe13359d4eaaf2b2",
      "parents": [
        "3b8bbb9927a38561fa37e38d5d9ddcf02608d60b",
        "f81621ea5a67474e6f2cb0516b606822d5843612"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 07 19:01:22 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 07 19:01:23 2017 +0000"
      },
      "message": "Merge \"Be less aggressive when inlining.\""
    },
    {
      "commit": "3b8bbb9927a38561fa37e38d5d9ddcf02608d60b",
      "tree": "2fcef6b7576779f7ee64d42c7cbbd904f7422008",
      "parents": [
        "2127ad8bfacdd0ae700f491bfa22df0530024bba",
        "23ddfe86788fe1c95b8be6c76f3a127f8f51dd9f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 07 17:52:44 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 07 17:52:46 2017 +0000"
      },
      "message": "Merge \"Don\u0027t call EnsureInitialized in the JIT.\""
    },
    {
      "commit": "56911737e7fcf4ff594f552857e7a2f56b40a3b9",
      "tree": "3d2dedad6a8a18d43ad528b7f50fd081fec9e168",
      "parents": [
        "05e60470e68d50c48e07b835c2b1eadb32e99fd0",
        "7b135c80fedea16844892527555b144c64651a65"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 07 15:30:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 07 15:30:31 2017 +0000"
      },
      "message": "Merge \"Only compile hot methods\""
    },
    {
      "commit": "f81621ea5a67474e6f2cb0516b606822d5843612",
      "tree": "47328b81513447eba30b99357fca4f7630c6bdc8",
      "parents": [
        "85adf5a9ac401ae61cfc12a9838bd4e744459366"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 07 13:18:03 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 07 16:21:23 2017 +0100"
      },
      "message": "Be less aggressive when inlining.\n\nReduce the threshold for cumulated dex registers, to prevent\nlong and memory expensive compiles.\n\nbug: 62243120 (3d party app startup)\nbug: 36727951 (Camera startup)\nbug: 62271612 (compiler allocations)\nTest: test.py\nChange-Id: I8fd5cd7aed3c4e677f0aa15af676b959cc6ddac2\n"
    },
    {
      "commit": "0eb882bfc5d260e8014c26adfda11602065aa5d8",
      "tree": "e66dbebfb1e9a254c20954a2f2f98541aebfd5af",
      "parents": [
        "b5f5d746ac3f2c3088292395603cb1470e7749d2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon May 15 13:39:18 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jun 07 15:39:24 2017 +0100"
      },
      "message": "Use ArtMethod* .bss entries for HInvokeStaticOrDirect.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nTest: testrunner.py --target\nTest: Nexus 6P boots.\nTest: Build aosp_mips64-userdebug.\nBug: 30627598\nChange-Id: I0e54fdd2e91e983d475b7a04d40815ba89ae3d4f\n"
    },
    {
      "commit": "23ddfe86788fe1c95b8be6c76f3a127f8f51dd9f",
      "tree": "e1070a3eeb7ba8f489339415324f98417b7eb94c",
      "parents": [
        "0a87f31513e5f9da27856af054d2241452898b22"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 07 14:09:43 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 07 14:11:57 2017 +0100"
      },
      "message": "Don\u0027t call EnsureInitialized in the JIT.\n\nCalling EnsureInitialized can block due to locking on the class\nobject, that an application can also do.\n\nJust rely that the compilation request is for a reason.\n\nThe compiler aleady knows how to compile methods of classes that\nare not initialized.\n\nbug: 62243120\nTest: test.py --jit\nChange-Id: I6cd6828b4c2179504cf5334921fcb8d46615c77b\n"
    },
    {
      "commit": "3c8a91250b3e4e87548ec16bf1ab1ea46dbb84a4",
      "tree": "b5da100b358d1335eab403372e4f616c5c2d607c",
      "parents": [
        "0a87f31513e5f9da27856af054d2241452898b22",
        "e7197bf7d58c705a048e13e241d7ca320502cd40"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jun 07 10:38:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 07 10:38:11 2017 +0000"
      },
      "message": "Merge \"Replace invoke kind kDexCacheViaMethod with kRuntimeCall.\""
    },
    {
      "commit": "84c8432726299e8884215874d83958f55d5b2cd7",
      "tree": "c29a61f9e2429be4eb87a8e85a7b99f8182162a2",
      "parents": [
        "61c42e94af08bb7ae48647ac58343fcf764cdf89"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 07 08:15:27 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 07 08:31:49 2017 +0000"
      },
      "message": "Revert \"Fully support static encoded fields.\"\n\nbug: 62337922\n\nThis reverts commit e71d6878449907b07add9f7a634a0e836911b0d1.\n\nChange-Id: If1916cbbab4da69d69990f8cae3889a8d182b331\n"
    },
    {
      "commit": "f7ab8348b88b7ce63c5fa112f5a71756da541763",
      "tree": "83d2be3bd3255a99024b3cb32f07eec9b1ce7ce8",
      "parents": [
        "bc1c6b6da9df82ebb17bd5dcd16c025ac6429b48"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 07 08:14:13 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 07 09:20:25 2017 +0100"
      },
      "message": "Revert \"Fixed Literal String intern mismatch.\"\n\nbug: 62337922\n\nThis reverts commit 762ef842d78b6f8a76f2b119504f075728540077.\n\nChange-Id: Idfa3a9271e3dfb92dc849f68b97c8eeeb2732abc\n"
    },
    {
      "commit": "bc1c6b6da9df82ebb17bd5dcd16c025ac6429b48",
      "tree": "ec830a70aea44276bd5d4cb3e7acf28c0b3676f8",
      "parents": [
        "11d72c608e0565fabcf6b2d6c13fbc85c560a608",
        "54c32b1f3362129d79e512581d4932aec92425eb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 07 08:13:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 07 08:13:22 2017 +0000"
      },
      "message": "Merge \"Revert \"Fixed installation time regression when compile.\"\""
    },
    {
      "commit": "54c32b1f3362129d79e512581d4932aec92425eb",
      "tree": "6426030c19eeecff310b253b21c52eeedd77200c",
      "parents": [
        "8f987427cedef5d07783254ac16632ce02fd8f75"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 07 08:13:06 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 07 08:13:06 2017 +0000"
      },
      "message": "Revert \"Fixed installation time regression when compile.\"\n\nbug: 62337922\n\nThis reverts commit 8f987427cedef5d07783254ac16632ce02fd8f75.\n\nChange-Id: Ieea7921dfd7f589054e3b1f1d50078ede09bee4b\n"
    },
    {
      "commit": "8fea1e18ecce190bbffbc0085f20ad49ca10a8c2",
      "tree": "e026d33cc0928a977118faff46fdbbb50ff0967e",
      "parents": [
        "11d72c608e0565fabcf6b2d6c13fbc85c560a608"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Tue Jun 06 13:28:42 2017 +0200"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Wed Jun 07 09:45:18 2017 +0200"
      },
      "message": "MIPS64: Min/max vectorization support\n\nTest: mma test-art-host-gtest\nTest: ./testrunner.py --optimizing --target --64 in QEMU\n\nChange-Id: I60dc9c97c2b6470414fa64750e7c9824e70bfb4e\n"
    },
    {
      "commit": "658263ec2fdc7758dd73c41cdcf0babcdef1e48d",
      "tree": "493f3cb75d9d856aaade47dd2d008756f9e488a5",
      "parents": [
        "11d72c608e0565fabcf6b2d6c13fbc85c560a608"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Wed Jun 07 09:35:53 2017 +0200"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Wed Jun 07 09:41:42 2017 +0200"
      },
      "message": "MIPS64: Add min/max MSA instructions\n\nAdded min_s.df, max_s.df, min_u.df, max_u.df, fmin.df and fmax.df MSA\ninstructions in assembler, disassembler and tests.\n\nThese instructions are needed for min/max support in ART Vectorizer.\n\nTest: mma test-art-host-gtest\nChange-Id: I4e8dd18ca501ac09d938a49388e4a43116660ec9\n"
    },
    {
      "commit": "7b135c80fedea16844892527555b144c64651a65",
      "tree": "cb0da182ae9752f64811cb2f994236058f41dc7e",
      "parents": [
        "6ecff4d2127e70738aa2493d6deceb946c204eff"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 05 12:54:01 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 06 16:49:08 2017 -0700"
      },
      "message": "Only compile hot methods\n\nInstead of compiling all startup + hot methods, we now only compile\nhot methods. However, the current logic still marks all startup\nmethods that have a counter greater than hot_method_sample_threshold_\nas hot methods. Since hot-startup-method-samples is currently 1,\nthere is no current behavioral change.\n\nThe goal is to increase hot_method_sample_threshold_ in a follow up\nCL.\n\nRenamed startup-method-samples to hot-startup-method-samples to\nbetter reflect the new behavior of the option.\n\nTest: test-art-host\nBug: 36457259\n\nChange-Id: I820bdcd4426769d76131b08a8b41f3b7eebfbc23\n"
    },
    {
      "commit": "6ecff4d2127e70738aa2493d6deceb946c204eff",
      "tree": "453d0b0161a609b2a69e78a326e88f2c785bc203",
      "parents": [
        "b938fe6b55532229260f88d76057cf81d71db691",
        "6e92fb33dea9846ad03bd538d02d055fa96f5240"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Jun 06 20:57:04 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 06 20:57:06 2017 +0000"
      },
      "message": "Merge \"Pass through inputs beyond arguments in invoke.\""
    },
    {
      "commit": "ad58e8a25649f6cff14566b86a8ca7d0dbe22fd0",
      "tree": "a6332ec37c84f93917fb839007b48637320da5e0",
      "parents": [
        "f3b55509ab4dcc192104430fbc99c1b58a16d800",
        "f0fc4c6c9cedbd8665a2f98c4a649a62aaf3ac19"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Jun 06 20:53:28 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 06 20:53:30 2017 +0000"
      },
      "message": "Merge \"ARM64: SIMD instruction scheduling.\""
    },
    {
      "commit": "c3e822bde47305d178a8014f51ff9fba59d70d1e",
      "tree": "229e6c8c0167039dd5c946ba4d3064cb15071ec3",
      "parents": [
        "e913cd027a872e56d273a0a20b88a90b64dc2064",
        "508fdf3eb53824f109c89f98484927085bdc43ba"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 06 16:23:01 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 06 16:23:03 2017 +0000"
      },
      "message": "Merge changes I47bd6edc,I0e3e268d\n\n* changes:\n  ART: Small class-inl.h cleanup\n  ART: More header cleanups\n"
    },
    {
      "commit": "fae2e3d64b2eb9532c1f20e51c7d188b7991ef7d",
      "tree": "b42fe72a13cea546073d5090f406d0d369de79dd",
      "parents": [
        "349f900774d9745bd79885f20f83a83ba1914fc2",
        "5d08fcc21a14190c4dba3028a3e35d281afdd016"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 06 14:38:35 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 06 14:38:37 2017 +0000"
      },
      "message": "Merge \"ART: More header cleanups\""
    },
    {
      "commit": "e7197bf7d58c705a048e13e241d7ca320502cd40",
      "tree": "496032b40145660b40002b9d5b7a78f1c2eeb44f",
      "parents": [
        "4ee8e291a7d5b7b98f35f495eb97705836910871"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 02 17:00:23 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jun 06 15:26:42 2017 +0100"
      },
      "message": "Replace invoke kind kDexCacheViaMethod with kRuntimeCall.\n\nIn preparation for replacing the dex cache method array\nwith a hash-based array, get rid of one unnecessary use.\nThis method load kind is currently used only on mips for\nirreducible loops and OSR, so this should have no impact\non x86/x86-64/arm/arm64.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nTest: Repeat the above tests with manually changing\n      kDexCachePcRelative to kRuntimeCall in sharpening.cc.\n      (Ignore failures in 552-checker-sharpening.)\nBug: 30627598\nChange-Id: Ifce42645f2dcc350bbb88c2f4642e88fc5f98152\n"
    },
    {
      "commit": "f0fc4c6c9cedbd8665a2f98c4a649a62aaf3ac19",
      "tree": "bd309a5d709f30e435fa98349954ee80330ea9f9",
      "parents": [
        "cce39b5b4fc00ab9e6b4aaed1e7fa6928f0ec594"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Wed May 03 15:07:15 2017 +0100"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Tue Jun 06 14:09:02 2017 +0100"
      },
      "message": "ARM64: SIMD instruction scheduling.\n\nEnables scheduling for SIMD loops; the patch gives\n4.1% perf gain on Linpack benchmark.\n\nTest: test-art-target, test-art-host.\n\nChange-Id: I5e728b5218fc6640ac583594ba08f69330b01e21\n"
    },
    {
      "commit": "508fdf3eb53824f109c89f98484927085bdc43ba",
      "tree": "4ed08886adc50962b7fd46936923e29057e2fdb2",
      "parents": [
        "2ff3b97500b717f69415ae474d5cfb1613cd15ee"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 05 16:42:13 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 05 20:28:21 2017 -0700"
      },
      "message": "ART: Small class-inl.h cleanup\n\nRemove unnecessary class_linker-inl.h include, and fix up all\ntransitives (mainly gc_root-inl.h). Also clean up reference.h.\n\nTest: m test-art-host\nChange-Id: I47bd6edcfe4a23821e37a6e6fa8cca91d0d2d226\n"
    },
    {
      "commit": "2ff3b97500b717f69415ae474d5cfb1613cd15ee",
      "tree": "a6bd76eeda26ad85173e23a14f69ec8ed3440570",
      "parents": [
        "5d08fcc21a14190c4dba3028a3e35d281afdd016"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 05 18:14:53 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 05 20:28:20 2017 -0700"
      },
      "message": "ART: More header cleanups\n\nClean up some more includes. Move some -inls from object-inl to\nobject-refvisitor-inl. Fix up transitives.\n\nTest: m test-art-host\nChange-Id: I0e3e268d95a1c71b0a80fc963d13d191a97b2283\n"
    },
    {
      "commit": "5d08fcc21a14190c4dba3028a3e35d281afdd016",
      "tree": "c42de65ced190778342d9b022e400f4a7f9d346b",
      "parents": [
        "57cf00bde719ddc84a6015b107b90a20169e3099"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 05 17:56:46 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 05 20:28:16 2017 -0700"
      },
      "message": "ART: More header cleanups\n\nPull out more dependencies through forward declarations.\n\nTest: m test-art-host\nChange-Id: I7d86726928937f788b956ec9eac91532d66d57ae\n"
    },
    {
      "commit": "8f987427cedef5d07783254ac16632ce02fd8f75",
      "tree": "1d89e4ad359f21469beb0f6e52721eea28292d94",
      "parents": [
        "4f101e5b6ae214a73bdd912374f5dc565d336e47"
      ],
      "author": {
        "name": "Chang Xing",
        "email": "chxing@google.com",
        "time": "Mon Jun 05 13:06:23 2017 -0700"
      },
      "committer": {
        "name": "Chang Xing",
        "email": "chxing@google.com",
        "time": "Mon Jun 05 18:10:03 2017 -0700"
      },
      "message": "Fixed installation time regression when compile.\n\nFixed the installation time regression problems happens at compilation\ntime caused by the recursive initialization which blocked the fast-fail\ntest for classes that can\u0027t be initialized during installation.\n\nSolved by ruling out this situation. Check for app image before\nresolving the dependencies, fall back to ordinary initialize process\nif profile does not exist.\n\nBug: 62296843\nTest: test-art-host -j64\nChange-Id: I773406f11fd5dced8da5f0fe228b45d95eca936b\n"
    },
    {
      "commit": "6e92fb33dea9846ad03bd538d02d055fa96f5240",
      "tree": "91c359d459a99f2c7f847c2e4d73a28a681612f7",
      "parents": [
        "81c769436a89b25c781eb2da882f11fd8d11f84d"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Jun 05 14:05:09 2017 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Jun 05 14:05:09 2017 -0700"
      },
      "message": "Pass through inputs beyond arguments in invoke.\n\nRationale:\nRefinement requested by vmarko.\n\nTest: test-art-host\nChange-Id: I850466ebd5ad99bb617bc71c279159862e18e6ec\n"
    },
    {
      "commit": "36a5d0c3c46a75381f303a0a468eaefe1ac3c982",
      "tree": "94ea290524323aedc1f0d00e233ab84207507aa2",
      "parents": [
        "0a50965275df2da590c49a7a955e6ff5a7c7d2ae",
        "19680d3655433e98582983ed0a6d44d6b4822951"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Jun 05 16:59:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 05 16:59:28 2017 +0000"
      },
      "message": "Merge \"MIPS64: ART Vectorizer\""
    },
    {
      "commit": "0a50965275df2da590c49a7a955e6ff5a7c7d2ae",
      "tree": "7c4b3f2ebab0abb1c13239878450dc2bf7aaca08",
      "parents": [
        "ab6393400f0dd213d335092c6e83f6a8743f00c2",
        "4ee8e291a7d5b7b98f35f495eb97705836910871"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 05 14:40:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 05 14:40:25 2017 +0000"
      },
      "message": "Merge \"Revert^3 \"ART: Reference.getReferent intrinsic for x86 and x86_64\"\""
    },
    {
      "commit": "ab6393400f0dd213d335092c6e83f6a8743f00c2",
      "tree": "43f35b71321e7b96af7ad5ddc557638e365d2f06",
      "parents": [
        "2c97600c1107931825bf9f7f25517e89b7210ab4",
        "d254f5c0d7b43397e8b8885a56ec4d36e9b61602"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 05 12:11:07 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 05 12:11:09 2017 +0000"
      },
      "message": "Merge \"Revert \"ART: Reference.getReferent intrinsic for arm and arm64\"\""
    },
    {
      "commit": "2c97600c1107931825bf9f7f25517e89b7210ab4",
      "tree": "1951ed02eaf1abac7257d22c5881366c3fe493ba",
      "parents": [
        "af8d813133af6e2988296c9cc19719a9186f4cc8",
        "847e6ce98b4b822fd94c631975763845978ebaa3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 05 09:04:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 05 09:04:21 2017 +0000"
      },
      "message": "Merge \"Rename kDexCacheViaMethod to kRuntimeCall for HLoadClass/String.\""
    },
    {
      "commit": "ea650f3bc4f54eb2c647cf0f7134398ef5038792",
      "tree": "cdddde74424cf9fbeb2ef62e6bebca619c5ed989",
      "parents": [
        "6559ba1cfb9d24fdca4b1b1ec9e0b8dc31679982"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 24 12:04:13 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 02 18:25:09 2017 +0000"
      },
      "message": "Move profiles to use bitmaps for startup methods\n\nThis CL enables changes like compiling only hot methods while still\ndoing layout for hot and startup methods.  The bitmaps are also a\nbit smaller for post-launch use cases.\n\nNo change in compilation strategy yet.\n\nFixed some bugs in dexlayout test like using a profile with the wrong\ndex location. This meant the second invocation of dexlayout didn\u0027t\nhave any profile data.\n\nAdded profman support for dump-classes-and-methods,\ncreate-profile-from, and related test.\n\nProfile sizes (bytes) post launch:\nGmail: 7290 -\u003e 6136\nMaps: 22896 -\u003e 18984\nMusic: 8582 -\u003e 7050\nYouTube: 16733 -\u003e 14592\n\nTest: test-art-host\n\nBug: 62040831\n\nChange-Id: I9915b81a2ff2c47464acbbdeb55ce30a33d5483f\n"
    },
    {
      "commit": "9f7e91ca8144383ba04405eef42dcc19768825a6",
      "tree": "06ef66bca7beada95f329c413f9c6d1bedc433b7",
      "parents": [
        "eae88fc9f114b44b6f6b0b725246227c652c975f",
        "8523ea11a677b78e1fc05915976c04b1ff081451"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Jun 02 18:11:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 02 18:11:18 2017 +0000"
      },
      "message": "Merge \"Fixed bug in relying on precise FP in periodic sequence.\""
    },
    {
      "commit": "8523ea11a677b78e1fc05915976c04b1ff081451",
      "tree": "249523715fbba92a524fe01725a218c695c1b19e",
      "parents": [
        "85b82e35d810a21257fec9d850d95f8abc900670"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Jun 01 15:45:09 2017 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Jun 02 08:52:13 2017 -0700"
      },
      "message": "Fixed bug in relying on precise FP in periodic sequence.\n\nRationale:\nFP arithmetic is not always precise, so relying on FP\nperiod sequences to \"compute back\" precisely is not\nvalid; when all values in the period are \"fetches\"\nhowever, the rotation is precise.\n\nBug found by fuzz testing. With regression test.\n\nBug: 62196559\nTest: test-art-host\nChange-Id: Ie8f6b965b1921ff2762b90eebb8c20503c44c6bb\n"
    },
    {
      "commit": "4ee8e291a7d5b7b98f35f495eb97705836910871",
      "tree": "90aa3ea4a0674905b0f6fdb313cab129ca112a56",
      "parents": [
        "d254f5c0d7b43397e8b8885a56ec4d36e9b61602"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 02 15:39:30 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 02 16:48:23 2017 +0100"
      },
      "message": "Revert^3 \"ART: Reference.getReferent intrinsic for x86 and x86_64\"\n\nReverting because GenerateCalleeMethodStaticOrDirectCall()\nprevents replacing kDexCacheViaMethod with kRuntimeCall\nwhere we would not retrieve the target method at all and\nleave the runtime to retrieve and call it just like for\nunresolved methods.\n\nThe intrinsic should be re-implemented by loading the\nflags through HLoadClass.\n\nNote that the intrinsic was unimplemented for CC.\n\nTest: Rely on TreeHugger.\nBug: 32535355\nBug: 30627598\n\nThis reverts commit 288c7a8664e516d7486ab85267050e676e84cc39.\n\nChange-Id: Ia22864553ff55562897571e180b11926ccd51588\n"
    },
    {
      "commit": "d254f5c0d7b43397e8b8885a56ec4d36e9b61602",
      "tree": "ef645025a42f88a2c9eb0ab9483ff519886f0a4c",
      "parents": [
        "cff1b21b3e19c5d3a2d726fdb60dacd7de2a6f0d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 02 15:18:36 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 02 16:24:33 2017 +0100"
      },
      "message": "Revert \"ART: Reference.getReferent intrinsic for arm and arm64\"\n\nReverting because GenerateCalleeMethodStaticOrDirectCall()\nprevents replacing kDexCacheViaMethod with kRuntimeCall\nwhere we would not retrieve the target method at all and\nleave the runtime to retrieve and call it just like for\nunresolved methods.\n\nThe intrinsic should be re-implemented by loading the\nflags through HLoadClass.\n\nNote that the intrinsic was unimplemented for CC and a bit\nbroken for non-CC, using LDR instead of LDRB for loading\nthe flags.\n\nTest: Rely on TreeHugger.\nBug: 32535355\nBug: 30627598\n\nThis reverts commit d8c052ac0aa3382c4807add33afa32580ffeecbb.\n\nChange-Id: I81fd14dac60c94ac543e336f4f3c888259fc8bd7\n"
    },
    {
      "commit": "b486a98aadc95d80548953410cf23edba62259fa",
      "tree": "b113b7d50a4a015502873b7742c9ece00d293e84",
      "parents": [
        "1656ca9e6996cb555b4463e5efd4bd7e3f4fb816"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 01 13:45:54 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 02 08:24:02 2017 -0700"
      },
      "message": "ART: Introduce thread-current-inl.h\n\nFactor out Thread::Current() code into its own -inl file to remove\ntransitive includes.\n\nThis requires at the same time correcting mutex.h, i.e., moving\nsome functions into mutex-inl.h.\n\nTest: m test-art-host\nChange-Id: I88f888b604e0897368d9b483edce6ce4332dd9c9\n"
    },
    {
      "commit": "1656ca9e6996cb555b4463e5efd4bd7e3f4fb816",
      "tree": "ba32fd86f9a39329fecd5b94cbb018383d7bd304",
      "parents": [
        "9b70b4a806096d15bf00f629c1078c126dbd626b",
        "513061a792b22c417c938d31c19581390709561c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 02 15:21:03 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 02 15:21:05 2017 +0000"
      },
      "message": "Merge \"ART: Clean up thread.h and thread_list.h\""
    },
    {
      "commit": "847e6ce98b4b822fd94c631975763845978ebaa3",
      "tree": "760e26dea1597d8219d8c515317d978b0213cdc1",
      "parents": [
        "cff1b21b3e19c5d3a2d726fdb60dacd7de2a6f0d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 02 13:55:07 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 02 14:03:28 2017 +0100"
      },
      "message": "Rename kDexCacheViaMethod to kRuntimeCall for HLoadClass/String.\n\nThe old name does not reflect the actual code anymore.\n\nTest: testrunner.py --host\nChange-Id: I2e13cf727bba9d901c4d3fc821bb526d38a775b8\n"
    },
    {
      "commit": "9b70b4a806096d15bf00f629c1078c126dbd626b",
      "tree": "6831c828fcbd07f49f11e3c27f8fd03b9e65fb0c",
      "parents": [
        "b4fe268625d881315002be75e6f71eb49cc6da5c",
        "ec32f6402382303608544fdac5a88067781bdec5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 02 12:44:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 02 12:44:12 2017 +0000"
      },
      "message": "Merge \"Delay allocating environment locations.\""
    },
    {
      "commit": "b4fe268625d881315002be75e6f71eb49cc6da5c",
      "tree": "c84337cc94daf3a5bdbc79409796ca083903e1d0",
      "parents": [
        "cff1b21b3e19c5d3a2d726fdb60dacd7de2a6f0d",
        "72a75f7d6878ef46437098a94066c14e91e00216"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 02 11:40:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 02 11:40:56 2017 +0000"
      },
      "message": "Merge \"Fix build failure in scheduler_arm with ART_USE_OLD_ARM_BACKEND\u003d1\""
    },
    {
      "commit": "ec32f6402382303608544fdac5a88067781bdec5",
      "tree": "5a8cddd783a86d3ecb9c3565e65f8fad91e93ada",
      "parents": [
        "8144b1ebea42feaa798419eaf53a6bbbf37822a9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 02 10:51:55 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 02 11:00:59 2017 +0100"
      },
      "message": "Delay allocating environment locations.\n\nMany environments are killed before we get to the register\nallocation, so the early allocation of their locations was\nsimply wasting memory. For the most expensive method of a\ncertain app, this reduces EnvLocations with 64-bit dex2oat\nfrom 8657200 to 5339712 (-3.16MiB).\n\nTest: m test-art-host\nTest: testrunner.py --host\nBug: 33650849\nChange-Id: I70a02fc3c7ec87b54a87e989e1239dc4acfcf18b\n"
    },
    {
      "commit": "72a75f7d6878ef46437098a94066c14e91e00216",
      "tree": "eb2da80bbb06f37ddf25a71dbbd0c531d760d754",
      "parents": [
        "cce39b5b4fc00ab9e6b4aaed1e7fa6928f0ec594"
      ],
      "author": {
        "name": "xueliang.zhong",
        "email": "xueliang.zhong@linaro.org",
        "time": "Thu May 25 16:50:39 2017 +0100"
      },
      "committer": {
        "name": "xueliang.zhong",
        "email": "xueliang.zhong@linaro.org",
        "time": "Fri Jun 02 10:36:27 2017 +0100"
      },
      "message": "Fix build failure in scheduler_arm with ART_USE_OLD_ARM_BACKEND\u003d1\n\nTest: m ART_USE_VIXL_ARM_BACKEND\u003dtrue test-art-host\nTest: m ART_USE_VIXL_ARM_BACKEND\u003dtrue test-art-target\n\nChange-Id: Id6019ec26a9e9ffe5c0ca7eb2535f094ea009763\n"
    },
    {
      "commit": "513061a792b22c417c938d31c19581390709561c",
      "tree": "80b4fdce03711170626aa5640d07b07de4a326a1",
      "parents": [
        "38c4ae5f4c5a033b7a7441032f39ea58f5772d4c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 01 09:17:34 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 01 12:59:13 2017 -0700"
      },
      "message": "ART: Clean up thread.h and thread_list.h\n\nRemove dependency on stack.h and gc_root.h. Remove unused object\ncallbacks include. Factor out ManagedStack into its own set of files.\nFix up users of transitive includes.\n\nTest: m test-art-host\nChange-Id: I01286c43d8c7710948c161b1348faabb05922e59\n"
    },
    {
      "commit": "82b0740f03b1a6acab4558214d3edc362e27e238",
      "tree": "c19ec7ad047fbbef0c0f4dcd46905604b75841b5",
      "parents": [
        "8144b1ebea42feaa798419eaf53a6bbbf37822a9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Mar 01 19:02:04 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 01 20:37:10 2017 +0100"
      },
      "message": "Use IntrusiveForwardList\u003c\u003e for Env-/UsePosition.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nChange-Id: I2b720e2ed8f96303cf80e9daa6d5278bf0c3da2f\n"
    },
    {
      "commit": "38c4ae5f4c5a033b7a7441032f39ea58f5772d4c",
      "tree": "dc7d4952b83542a32d0bdd555b4dde5d572fc019",
      "parents": [
        "d853fe46164d2a7a4853be08dbc96e50054c8a88",
        "08556886a16ff2bb9fc3f184ac699de21c0369cd"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Jun 01 17:03:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 01 17:03:11 2017 +0000"
      },
      "message": "Merge \"Handle gracefully profiles with invalid classes or methods\""
    },
    {
      "commit": "d853fe46164d2a7a4853be08dbc96e50054c8a88",
      "tree": "2fae5d6ee2be43265cc1a35d597e8e36433d220e",
      "parents": [
        "c174ceef1861648b6390818c051cbcef7fa56e24",
        "f044c229e12f1d49b7024ab5d7353b2d83335501"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 01 16:41:39 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 01 16:41:41 2017 +0000"
      },
      "message": "Merge \"Add access flag for previously warm methods\""
    },
    {
      "commit": "9fa69d0620bdc28c691fce4b31a0b4c9ad906d13",
      "tree": "8a4cfb1382c302463c8ace2af78c497955bc3bf6",
      "parents": [
        "bfd844fe8601da3ea4ee6297c43fd3bf91e583ca",
        "f0446e9c785027b89a63f625b38f07c919bc6748"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 01 15:26:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 01 15:26:32 2017 +0000"
      },
      "message": "Merge \"ART: Misc header cleanups\""
    },
    {
      "commit": "aa97938605f5deb2286241c398865316774433a4",
      "tree": "fca60f1ded63a6f646d888a152de52b47a6cd8ec",
      "parents": [
        "130de851ab04d6bec35045e776bd61dfb1369941",
        "d49012909625c3bf87bf51138fe79315ce1b1bdc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 01 15:16:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 01 15:16:37 2017 +0000"
      },
      "message": "Merge \"ART: Clean up heap headers\""
    },
    {
      "commit": "08556886a16ff2bb9fc3f184ac699de21c0369cd",
      "tree": "c90ddce83ac98252ced0a4181b0c4b1e0e34c1f8",
      "parents": [
        "854461a4cd5e4a38debe3616e12b52fe7f160782"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri May 26 16:40:45 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Jun 01 06:54:11 2017 -0700"
      },
      "message": "Handle gracefully profiles with invalid classes or methods\n\nBug: 38410980\nTest: m test-art-host-run-test-707\nChange-Id: I8c1b0a00c113c0faf0cc5d141e67e4183322520f\n"
    },
    {
      "commit": "f044c229e12f1d49b7024ab5d7353b2d83335501",
      "tree": "010bc946819a5190b19fbf55f50bef75ef789991",
      "parents": [
        "854461a4cd5e4a38debe3616e12b52fe7f160782"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 31 15:27:54 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 31 20:46:50 2017 -0700"
      },
      "message": "Add access flag for previously warm methods\n\nWe want to know if the method was warm instead of just having a non\nzero counter. This is required if we want to not compile all of the\nstartup methods, but still compile warm methods.\n\nTest: test-art-host ART_TEST_JIT\u003dtrue\n\nBug: 62200509\n\nChange-Id: I6e04866f39f970b04b47342b7af5ed474e1f4172\n"
    },
    {
      "commit": "854461a4cd5e4a38debe3616e12b52fe7f160782",
      "tree": "55a7399b859787403f1e032b611a889a99b3a7de",
      "parents": [
        "85b82e35d810a21257fec9d850d95f8abc900670",
        "762ef842d78b6f8a76f2b119504f075728540077"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 31 21:07:28 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 31 21:07:30 2017 +0000"
      },
      "message": "Merge \"Fixed Literal String intern mismatch.\""
    },
    {
      "commit": "762ef842d78b6f8a76f2b119504f075728540077",
      "tree": "bb87b31ca2aaeb839838f0bae894366aaf3459a2",
      "parents": [
        "a559fa1b0d6c276dde2cdc707de1acd4950f7190"
      ],
      "author": {
        "name": "Chang Xing",
        "email": "chxing@google.com",
        "time": "Thu May 25 18:34:12 2017 -0700"
      },
      "committer": {
        "name": "Chang Xing",
        "email": "chxing@google.com",
        "time": "Wed May 31 11:59:34 2017 -0700"
      },
      "message": "Fixed Literal String intern mismatch.\n\nLiteral Strings in app images are interned into local intern tables\nwhich causes mismatch with the runtime intern table, especially when\na string is loaded from app images twice. Now when .art is loaded, a\nvisitor go through all classes and their fields to intern every string\nliteral found again.\n\nTest case 596 is updated to test the string intern functioanlity.\n\nTest on devices Nexus 5X, fixing strings takes 5.4 ms on GoogleMap\nduring startup.\n\nBug: 62224799\n\nTest: test-art-host -j64\n\nChange-Id: I2e1d44a79db1ae5f9aec80f228128201d1d838d8\n"
    },
    {
      "commit": "d49012909625c3bf87bf51138fe79315ce1b1bdc",
      "tree": "349ef2cdcb7255d042244046601bd0fd5eb3a092",
      "parents": [
        "726e1793d3f54470705e5b84e7860074e029b0ed"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 30 18:41:34 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 30 20:44:33 2017 -0700"
      },
      "message": "ART: Clean up heap headers\n\nUse more forward declarations for accounting structures and spaces.\nFactor out structs to reduce header surface. Remove heap include where\nunnecessary. Fix up transitive users. Move some debug-only code out\nof line.\n\nTest: m test-art-host\nChange-Id: I16db4aaa803f39e155ce6e1b0778b7e393dcbb17\n"
    },
    {
      "commit": "726e1793d3f54470705e5b84e7860074e029b0ed",
      "tree": "858cbf9048dff655b878a8f17d8640bbd22c757b",
      "parents": [
        "b28f07bf1058f9138322d9391d914c5763ce53a1",
        "2af99028f508071d5cd056e4ea42e988e0b83e79"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 31 00:58:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 31 00:58:07 2017 +0000"
      },
      "message": "Merge changes I282b25a3,I297f0ad4,I052ac9f7\n\n* changes:\n  ART: More header cleanup - class_linker.h\n  ART: More header cleanup - runtime.h\n  ART: More header cleanup - jni_internal.h\n"
    },
    {
      "commit": "f0446e9c785027b89a63f625b38f07c919bc6748",
      "tree": "3b7ac17426b17a61729a300b2fe87a03d03454cc",
      "parents": [
        "2af99028f508071d5cd056e4ea42e988e0b83e79"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 16 13:51:57 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 30 16:26:39 2017 -0700"
      },
      "message": "ART: Misc header cleanups\n\nMove/remove arena allocator includes.\n\nTest: mma art\nChange-Id: If998569d96c791fc3d4aa93ca95672a4d4b5782c\n"
    },
    {
      "commit": "d482e73fe26cb9161511a80e3db39e08b9808ab6",
      "tree": "0b8c874f24c211e4e3d87083f8017580aa23ff63",
      "parents": [
        "a14100ccf51cc63a5c472188d1e2d337627e49eb"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 24 17:59:09 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 30 16:26:35 2017 -0700"
      },
      "message": "ART: More header cleanup - runtime.h\n\nRemove unnecessary runtime.h includes. Refactor other headers\n(move to forward declarations) to make this possible.\n\nTest: mmma art\nChange-Id: I297f0ad444ba92169edd16d8c7cbe95bb6dbb800\n"
    },
    {
      "commit": "8ea4eec9139da904979792a0660e992c3f6318d4",
      "tree": "4ab4cadb0fba2a1489b5491f4dec263cb6b1568c",
      "parents": [
        "deae7db5864fa50c5a1cd6c232a17aeb986b36e1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 30 13:53:03 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 30 14:15:50 2017 -0700"
      },
      "message": "ART: Mark some functions as always-inline\n\nThese functions should be marked correctly to avoid ODR violations.\n\nBug: 32619234\nTest: m\nChange-Id: Ifbdc349b7bee3fa356b175be438d04c6c4eae01f\n"
    },
    {
      "commit": "deae7db5864fa50c5a1cd6c232a17aeb986b36e1",
      "tree": "cdedad3d0f921e4f82fa7b65d55820455b7ac0ea",
      "parents": [
        "8d01c3708c4becb186979ed9377aed0fc2954d06"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 30 09:56:41 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 30 14:15:50 2017 -0700"
      },
      "message": "ART: Add missing namespace comments\n\nAdd closing namespace comments.\n\nBug: 32619234\nTest: m\nChange-Id: I1f50e09dcd1038c4b540b87e5c19e319c1f592e4\n"
    },
    {
      "commit": "19680d3655433e98582983ed0a6d44d6b4822951",
      "tree": "15113506e75b1480c5c1d3cfdf9df4480f30eae8",
      "parents": [
        "0a5ace58e973da278049f837bf2cdbaf7b44849c"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Thu May 11 10:38:36 2017 +0200"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Mon May 29 17:57:39 2017 +0200"
      },
      "message": "MIPS64: ART Vectorizer\n\nMIPS64 implementation which uses MSA extension. Also extended all\nrelevant checker tests to test MIPS64 implementation.\n\nTest: booted MIPS64R6 in QEMU\nTest: ./testrunner.py --target --optimizing -j1 in QEMU\n\nChange-Id: I8b8a2f601076bca1925e21213db8ed1d41d79b52\n"
    },
    {
      "commit": "6079dca3058e58bb9e12a60a10324a5218a99274",
      "tree": "19e3a8ccf7a8ac831c27658e0470c4f83debef74",
      "parents": [
        "0a5ace58e973da278049f837bf2cdbaf7b44849c"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Sun May 28 19:10:28 2017 -0700"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Sun May 28 20:17:39 2017 -0700"
      },
      "message": "MIPS32R2: Fix MethodLoadKind::kBootImageLinkTimePcRelative\n\nThis makes MIPS32 boot again.\n\nThe issue was introduced in commit\n6597946d29be9108e2cc51223553d3db9290a3d9:\nStatic invokes in slow paths would sometimes get\nHMipsComputeBaseMethodAddress from the stack into the\nsame register where the art method pointer would later\nbe loaded (A0) with the former being overwritten in the\nprocess of loading the latter.\n\nTest: booted MIPS32R2 in QEMU\n\nChange-Id: Ib584cf66795574175650f42b191c797fb3b3965f\n"
    },
    {
      "commit": "dbddc22f5dc2d1ff4d4783fbd66c27812f4980d1",
      "tree": "2a0a8efa1c2630e57ab48ab2de171f2847ff282f",
      "parents": [
        "a559fa1b0d6c276dde2cdc707de1acd4950f7190"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 24 12:04:13 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 25 16:59:44 2017 -0700"
      },
      "message": "Refactor profiles to use TypeReference instead of ClassReference\n\nRefactor type reference into runtime and use it for profiles.\nClassReference was just duplicated code since it wasn\u0027t even using\nthe class def indexes.\n\nTest: test-art-host\n\nBug: 62040831\nChange-Id: Ia92f21c0e85c00321f52c97bb7a90158d882849b\n"
    },
    {
      "commit": "a559fa1b0d6c276dde2cdc707de1acd4950f7190",
      "tree": "8314a003ff09cee50acd15929c1edbb8a448eef8",
      "parents": [
        "673253e1628ca9483ea121571bb9a96f90a1c944",
        "e6f87cc95e5351f3872a4c50e18915a282578ff8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 25 23:57:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 25 23:57:32 2017 +0000"
      },
      "message": "Merge \"Fix compiler crash due to inline caches and improve docs\""
    },
    {
      "commit": "673253e1628ca9483ea121571bb9a96f90a1c944",
      "tree": "6e2851c54f8c4df926d114022db1b0c1d57d94b7",
      "parents": [
        "6dd5019cccf7016e5b1d86defb2807759c2a6e46",
        "e71d6878449907b07add9f7a634a0e836911b0d1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 25 23:54:18 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 25 23:54:20 2017 +0000"
      },
      "message": "Merge \"Fully support static encoded fields.\""
    },
    {
      "commit": "e6f87cc95e5351f3872a4c50e18915a282578ff8",
      "tree": "94af0c8fb8c8926f2bf3fe20d8c3ad6d7dcc4efb",
      "parents": [
        "798ba16bda747d74a27b7a748d3bb5deb2ccbf68"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed May 24 17:41:05 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu May 25 15:09:31 2017 -0700"
      },
      "message": "Fix compiler crash due to inline caches and improve docs\n\nFix a potential crash when extracting the inline caches from the method.\nThe way we copied the inline cache into a new map was not correct. In\nProfileCompilationInfo::GetMethod() we reused the same profile arena\nfor allocation which is not thread safe. When compiling with multiple\nthreads the profile arena could become corrupted due to races.\n\nAddress all the comments from the late reviews on the CL which migrates\nthe profiles to arena storage.\n\nTest: m test-art-host\n      compile with speed-profile apps on device\nBug: 37711886\nBug: 62062532\nChange-Id: I61af5175bc68b2c7dba77afb3cdff221989cc387\n"
    },
    {
      "commit": "6dd5019cccf7016e5b1d86defb2807759c2a6e46",
      "tree": "20ee76d34e8154c9f374b749c23f57bc2ecbdc48",
      "parents": [
        "8bdf4e0d2094b7c9a9a1ffc1a58dbdff4cbe7126",
        "af44e6c5ca0169bc19c6263288a7d889b37db549"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 25 18:09:22 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 25 18:09:24 2017 +0000"
      },
      "message": "Merge \"Do not deopt when using AOT inline caches\""
    },
    {
      "commit": "e71d6878449907b07add9f7a634a0e836911b0d1",
      "tree": "2448cd1d18830070ea412edb709b49e2b46141b9",
      "parents": [
        "ed00ddb614d68559931d831cb74d3ba8f01599c9"
      ],
      "author": {
        "name": "Chang Xing",
        "email": "chxing@google.com",
        "time": "Fri May 05 16:12:40 2017 -0700"
      },
      "committer": {
        "name": "Chang Xing",
        "email": "chxing@google.com",
        "time": "Thu May 25 10:51:11 2017 -0700"
      },
      "message": "Fully support static encoded fields.\n\nIntialization runs under one single thread. Class Status stored at Oat\nClasses are set to uninitialized (maybe verified) when that class contains\nstatic encoded fields.\n\nResolve all types mentioned in classes before initializing under\ntransaction mode, since ResolveType doesn\u0027t support transaction.\n\nTest: make test-art-host\nChange-Id: I6c9df8a2cdd43043837eb3b438ed7a89ecdaf64d\n"
    },
    {
      "commit": "af44e6c5ca0169bc19c6263288a7d889b37db549",
      "tree": "acdb4dab1e1ef19bfa941abae3305210d9421531",
      "parents": [
        "a39fd980000d10ee0b3a49555cc8bcbbfacde943"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue May 23 14:24:55 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed May 24 16:06:04 2017 -0700"
      },
      "message": "Do not deopt when using AOT inline caches\n\nGenerating a deopt does not ensure that we will actually capture the new\ntypes; and the danger is that we could be stuck in a loop with \"forever\"\ndeoptimizations. For example, if the method never becomes hot again, the\ninline cache will not be updated and the AOT code will keep\ndeoptimizing.\n\nThis is a compromise because we will most likely never update the inline\ncache (unless there\u0027s another reason to deopt). So we might be stuck\nwith a sub-optimal inline cache. As a TODO, we could be smarter when\ncapturing inline caches to mitigate this. (e.g. by having different\nthresholds for new and old methods).\n\nDelete test 644 which was testing a regression involving deopts which is\nno longer applicable.\n\nBug: 38412648\nTest: m test-art-host\nChange-Id: Ib84559e84f07ec976feeb3a3120fa486d5bee3bf\n"
    },
    {
      "commit": "ce38efef23c7a328efb105152bec41ee6ffa02ee",
      "tree": "67047bdec34c38261b09f506bdce4760d788c6c9",
      "parents": [
        "0abc6bbde21e7b9d9104e8698946814649e51261",
        "fd522533bf8cea5a8334f233922c39536b1a3d29"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 24 16:59:43 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 24 16:59:46 2017 +0000"
      },
      "message": "Merge \"ARM: Specify if some branches go to far targets\""
    },
    {
      "commit": "0abc6bbde21e7b9d9104e8698946814649e51261",
      "tree": "7434ce7aea5781576d143f12a8f092f5fbf1f19a",
      "parents": [
        "ec89dfa25ae9e718730d775022aef505f7363d3a",
        "304c8a5dfe92d5677e9561270b19313d3e450c59"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed May 24 15:56:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 24 15:56:37 2017 +0000"
      },
      "message": "Merge \"Support for narrow operands in \"dangerous\" operations.\""
    }
  ],
  "next": "304c8a5dfe92d5677e9561270b19313d3e450c59"
}
