)]}'
{
  "log": [
    {
      "commit": "6bb7f1b60f4b6b2214457d19d66d2b7b50685feb",
      "tree": "980f8d69174155e71469e4c5163e2dcf4d2c6fbe",
      "parents": [
        "63f41f9ff6ce6b68b93feafcbed0f75e5c439594"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 03 10:52:49 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 03 12:55:11 2016 +0000"
      },
      "message": "Integrate VerifierDeps in compiler driver.\n\nIf a VerifierDeps is given, try fast verify. Otherwise create\na new VerifierDeps and do the full verification.\n\ntest: test-art-host, verifier_deps_test\nbug: 30937355\nChange-Id: Ifb030d7b5232c95872164f601057a56ab96038e1\n"
    },
    {
      "commit": "d62515891b15e73bc8eebb55cc09cb4dec4fcf21",
      "tree": "20c485231c93fa83384312e428202d8140dfa09d",
      "parents": [
        "77a0e4541a29c26dba21ed8c1ed1c29ef8d0ce4c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 31 11:12:30 2016 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Nov 02 12:55:10 2016 -0700"
      },
      "message": "Add ClassExt mirror.\n\nWe add the ClassExt type to hold values in Class that are not always\nneeded without making the Class type larger. For the initial change we\nmove the verifyError field into this type. It is expected to grow as\ntime goes on.\n\nTest: mma test-art-host\n\nChange-Id: I1d97df2e1267203841ad47b2effcb66dd76ac12a\n"
    },
    {
      "commit": "77a0e4541a29c26dba21ed8c1ed1c29ef8d0ce4c",
      "tree": "b5d34c3e68a931ae3ee735718c3ba0296643f9a5",
      "parents": [
        "c65310326ea87008776bd64ed3bb530d8da644c3",
        "7d8d8ff0727a7aa9d11c738f13a7e06d3c4c3d68"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 02 14:31:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 02 14:31:28 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"ART: Generalize FindClassInPathClassLoader\"\"\""
    },
    {
      "commit": "7d8d8ff0727a7aa9d11c738f13a7e06d3c4c3d68",
      "tree": "0f3f131d2d3438d06ecdfc05137ebfcc1ff6f1f3",
      "parents": [
        "af3572bc21cf66f970090c852b976095bb028083"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 02 12:38:05 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 02 12:38:05 2016 +0000"
      },
      "message": "Revert \"Revert \"ART: Generalize FindClassInPathClassLoader\"\"\n\nBug: 32510706\n\nChange is not responsible for the flakiness after all.\n\nThis reverts commit af3572bc21cf66f970090c852b976095bb028083.\n\nChange-Id: I399049c217deeac6a5c3f9d678a46bdb84386e3f\n"
    },
    {
      "commit": "3d74bf45706429f0cbfce0c1e7d213416c5ecf50",
      "tree": "d8fb8fdf9b0d95332b9436926dffd3a00728bcc6",
      "parents": [
        "bcc17bd8bb1e6375e5f39c9ec3df84c7e6b9600e"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Nov 02 11:12:28 2016 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Nov 02 11:12:28 2016 +0000"
      },
      "message": "Revert accidental change introduced in 000e188570.\n\nTest: make test-art-host\nBug: 30550796\nChange-Id: I1f4c7e4c2f6778b28d52bc3be419810d21d9378e\n"
    },
    {
      "commit": "0fe4df18f61c7a764bc1c5eea50b19d6b1ff9b1c",
      "tree": "33ed192981a10b21c00618c99863577d0717ac37",
      "parents": [
        "9f54896e96a363a5b1ddb2f1b34b58ad4f32ac10",
        "af3572bc21cf66f970090c852b976095bb028083"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 02 09:50:13 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 02 09:50:13 2016 +0000"
      },
      "message": "Merge \"Revert \"ART: Generalize FindClassInPathClassLoader\"\""
    },
    {
      "commit": "af3572bc21cf66f970090c852b976095bb028083",
      "tree": "597b436db28186864524d5208628082e52a5ff52",
      "parents": [
        "fd1ae75a03b0b17fdbbb0097e856f494edf12312"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 02 09:49:25 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 02 09:49:25 2016 +0000"
      },
      "message": "Revert \"ART: Generalize FindClassInPathClassLoader\"\n\nBug: 32510706\n\nThis reverts commit fd1ae75a03b0b17fdbbb0097e856f494edf12312.\n\nChange-Id: Ie247477eea44a6a241d90864bf5dca29897ff4b8\n"
    },
    {
      "commit": "9f54896e96a363a5b1ddb2f1b34b58ad4f32ac10",
      "tree": "5ea316acc6fd641f9b9a70a0e7f83deb3fcd3c9b",
      "parents": [
        "dd7c25e5af5b88a1bc58ed7de076037e593b176d",
        "94bee022594187158e6fb2050d5198f973375336"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Nov 02 09:32:17 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 02 09:32:17 2016 +0000"
      },
      "message": "Merge \"MethodHandles: Track libcore change cc4ded.\""
    },
    {
      "commit": "dd7c25e5af5b88a1bc58ed7de076037e593b176d",
      "tree": "e96ccdf507164d12f5ca785b3b88bc793276fffc",
      "parents": [
        "12fc3df93a5cee8025b0207aac487752f6754357",
        "8904b6f0e496ab389551e960426069c9deff4101"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 02 09:06:42 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 02 09:06:43 2016 +0000"
      },
      "message": "Merge \"Add VerifierDeps::Verify.\""
    },
    {
      "commit": "b53342ac75b78c98db9da0a7c08d8d673347223e",
      "tree": "8a8a7d16bce20159068989edc77f0a98bc22f091",
      "parents": [
        "8cefb64725f43977c64f7a45483699dce8b7eb8d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 01 19:57:00 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 01 19:57:00 2016 -0700"
      },
      "message": "Fix heap poisoning build\n\nRemove extra %.\n\nBug: 32577579\n\nTest: mm\nChange-Id: I22a144da68c2b79ef38cd3f4522e040721517260\n"
    },
    {
      "commit": "8cefb64725f43977c64f7a45483699dce8b7eb8d",
      "tree": "56900580eb5f8bdc45fca206a1dd1d6d2ff29146",
      "parents": [
        "3a8360f0bcbe1547063678e572cc6fe8a55a0ca0",
        "6b4c28734f138a991b34e3292bfe64e729bd081c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 02 02:54:11 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 02 02:54:11 2016 +0000"
      },
      "message": "Merge \"Fix read barriers in VisitDexCachePairs\""
    },
    {
      "commit": "3a8360f0bcbe1547063678e572cc6fe8a55a0ca0",
      "tree": "954d949d440fe18e3a58d82bbfeaaeb99ae121f8",
      "parents": [
        "3dbf5c44fb20337e61c6d1e22c372e4b614f1ff3",
        "2ecfd270adb29861b493de51cfb8670e276e0c5e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 02 00:55:28 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 02 00:55:28 2016 +0000"
      },
      "message": "Merge \"Add interface fast path to art_quick_check_cast for X86_64\""
    },
    {
      "commit": "6b4c28734f138a991b34e3292bfe64e729bd081c",
      "tree": "e6664949ddd2a2c37dc2259ab6f9fb0dde93ee9e",
      "parents": [
        "19dfeb0e725bca7fd85b4a8a96ce9f3d30408aa3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 01 14:45:26 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 01 16:53:13 2016 -0700"
      },
      "message": "Fix read barriers in VisitDexCachePairs\n\nIt was ignoring kReadBarrierOption and marking through the read\nbarrier.\n\nBug: 12687968\n\nTest: test-art-host CC\nChange-Id: I5506acb5efb4b46be115ac899640522683898b47\n"
    },
    {
      "commit": "3dbf5c44fb20337e61c6d1e22c372e4b614f1ff3",
      "tree": "e6fb12f83007220e840ff7e1ec051c70f437b319",
      "parents": [
        "9695b0b83af0b34e4ecf0df18b5edb97509656ab",
        "ba8df69bf84803f868107833ce9afe1144b7dfec"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 01 22:54:32 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 01 22:54:33 2016 +0000"
      },
      "message": "Merge \"ART: Rename heap support file\""
    },
    {
      "commit": "2ecfd270adb29861b493de51cfb8670e276e0c5e",
      "tree": "6aa5d0062a59f43b2c188fe0b1f11d56aedc588a",
      "parents": [
        "19dfeb0e725bca7fd85b4a8a96ce9f3d30408aa3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 01 10:10:05 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 01 15:49:51 2016 -0700"
      },
      "message": "Add interface fast path to art_quick_check_cast for X86_64\n\nX86_64 CC ritzperf results from perf:\nart_quick_check_cast: 0.44% -\u003e 0.76%\nartIsAssignableFromCode: 1.78% -\u003e 0.11%\n\nAdded stub test.\n\nBug: 32577579\n\nTest: test-art-host\n\nChange-Id: I5ed5675c4674fac8eed8826eb50527f4876e5f07\n"
    },
    {
      "commit": "fedec90ec52a05167d7f4e7a8aee630750ab1955",
      "tree": "9f5a47f1516ca7a5be47c9f521be7077e2d32963",
      "parents": [
        "facda394dcf5c4f60a118f1e1f0d50198387a2d8",
        "fd1ae75a03b0b17fdbbb0097e856f494edf12312"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 01 20:36:15 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 01 20:36:16 2016 +0000"
      },
      "message": "Merge changes I7d79aa90,Ie051e7d4\n\n* changes:\n  ART: Generalize FindClassInPathClassLoader\n  ART: Move pathList well-known-field to actual class\n"
    },
    {
      "commit": "ba8df69bf84803f868107833ce9afe1144b7dfec",
      "tree": "8787d920b414fdc5885f71a14c5690813b3cf02d",
      "parents": [
        "195ea635e60f930a0df9acb91b1efc828e165633"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 01 10:30:44 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 01 10:58:52 2016 -0700"
      },
      "message": "ART: Rename heap support file\n\nDifferentiate it from the runtime naming.\n\nBug: 32516268\nTest: m test-art-host\nChange-Id: I19a09933ada0f312930255a22f306527ce3b89db\n"
    },
    {
      "commit": "195ea635e60f930a0df9acb91b1efc828e165633",
      "tree": "ecec2be064cf72f3e780fe86066a47f9e7136b8a",
      "parents": [
        "56cc9511b0ed68648113a22617ed092ad2de37ef",
        "40f2f31f25dbf3c9392e99cdd4084964d38e8018"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 01 17:46:07 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 01 17:46:07 2016 +0000"
      },
      "message": "Merge changes Ica4f766c,Iaa97520d\n\n* changes:\n  ART: Blacklist test 913 for target\n  ART: Add forced garbage collection\n"
    },
    {
      "commit": "8904b6f0e496ab389551e960426069c9deff4101",
      "tree": "5e1cb0d05990a5ca43e80ce70bf73e60658208ef",
      "parents": [
        "56cc9511b0ed68648113a22617ed092ad2de37ef"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 28 19:50:34 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 01 17:23:57 2016 +0000"
      },
      "message": "Add VerifierDeps::Verify.\n\nMethod verifies that the recorded dependencies still hold.\n\ntest: verifier_deps_test.cc\nbug: 30937355\nChange-Id: I137f77739355141e46994b4cb6043dbbc9353637\n"
    },
    {
      "commit": "fd1ae75a03b0b17fdbbb0097e856f494edf12312",
      "tree": "0f3f131d2d3438d06ecdfc05137ebfcc1ff6f1f3",
      "parents": [
        "46aba36a1c982567d7e80a62b0cff9c0935e7455"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 28 15:34:26 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 01 08:23:27 2016 -0700"
      },
      "message": "ART: Generalize FindClassInPathClassLoader\n\nAlso accept DexClassLoader. Do a fast check for subclasses of\nBaseDexClassLoader that are in the boot classpath.\n\nBug: 32510706\nTest: m test-art-host\nChange-Id: I7d79aa90e0241e7717c5d146d1123f41746e4ffa\n"
    },
    {
      "commit": "46aba36a1c982567d7e80a62b0cff9c0935e7455",
      "tree": "597b436db28186864524d5208628082e52a5ff52",
      "parents": [
        "bda454e9a09018cde1ea2ee10f0fdd5bf2ad756b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 28 14:33:28 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 01 08:23:27 2016 -0700"
      },
      "message": "ART: Move pathList well-known-field to actual class\n\nUse the actual declaring class, BaseDexClassLoader.\n\nTest: m test-art-host\nChange-Id: Ie051e7d45dd73f6adc3c90bc8acc523f204dfab5\n"
    },
    {
      "commit": "e70dd560154ea38af87ce8b783ab6e382eb49d4b",
      "tree": "04b48b84f1c0efa59de9622182a6ebe671cf69b6",
      "parents": [
        "bda454e9a09018cde1ea2ee10f0fdd5bf2ad756b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Oct 30 21:03:35 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 01 13:27:57 2016 +0000"
      },
      "message": "Dump VerifierDeps in oatdump.\n\nbug:30937355\ntest: oatdump_test\nChange-Id: I344726a20f21a6c6986047c21278c753b9e24575\n"
    },
    {
      "commit": "94bee022594187158e6fb2050d5198f973375336",
      "tree": "d38d958f197e318ae512117ffd097746191d35ea",
      "parents": [
        "bda454e9a09018cde1ea2ee10f0fdd5bf2ad756b"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Nov 01 10:57:15 2016 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Nov 01 12:51:04 2016 +0000"
      },
      "message": "MethodHandles: Track libcore change cc4ded.\n\nTrack increase in vtable size of java.lang.Class, and add additional\ntests for the method that resulted in the increase as well as its\ncaller.\n\nBug: 30550796\nTest: make test-art-host\nChange-Id: I0ea6cbf8840d45b74f3a50e4c9df2af5397d41e3\n"
    },
    {
      "commit": "bda454e9a09018cde1ea2ee10f0fdd5bf2ad756b",
      "tree": "58f1e3aaa737365b4994323b6c46897f78d4b14f",
      "parents": [
        "b2aaf1d63f94852960796603d6872c11eafb789f",
        "d01f60cbed4ba360b84f1310d2e0d422d6a16534"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 01 09:11:45 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 01 09:11:46 2016 +0000"
      },
      "message": "Merge \"Add a VerifierDeps::Dump method.\""
    },
    {
      "commit": "ca6a71943230cd91061cfaa2bbd8f2a776a673d9",
      "tree": "e8abfa1165b6131114de6590a99496a91e64c114",
      "parents": [
        "9be86bb445c3d218af0a48ee30827e89bb71a21b",
        "3e0dce0ff7e28f756ec4b8a08259517e5fb3776d"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Nov 01 08:59:19 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 01 08:59:19 2016 +0000"
      },
      "message": "Merge \"MethodHandles: Better detail message for WrongMethodTypeExceptions\""
    },
    {
      "commit": "8da6d03176651594b821cd3531894c372ca640d5",
      "tree": "a27252375bf41d47c7f3183cb021c65b6dbd3132",
      "parents": [
        "54b20eb52f7d8688032fb3bd6112e8db9772c4a7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 31 19:31:03 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 31 19:32:35 2016 -0700"
      },
      "message": "ART: Add forced garbage collection\n\nAdd ForceGarbageCollection support to the agent interface.\n\nAdd a test.\n\nTest: m test-art-host-run-test-913-heaps\nBug: 32516268\nChange-Id: Iaa97520d1b9e4b0adf088ccdf9712193c485b7c5\n"
    },
    {
      "commit": "9be86bb445c3d218af0a48ee30827e89bb71a21b",
      "tree": "0ff9269332e9c20abeb30bd3e10eb58139b2ec07",
      "parents": [
        "54b20eb52f7d8688032fb3bd6112e8db9772c4a7",
        "9e868098b4a5d666570e3924518978d7abd3542e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 01 01:30:33 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 01 01:30:34 2016 +0000"
      },
      "message": "Merge \"Move intern table to ObjPtr\""
    },
    {
      "commit": "9e868098b4a5d666570e3924518978d7abd3542e",
      "tree": "f4e4ee5bb96e3ba00838fd0bfff96eabe636abcb",
      "parents": [
        "b0b2080b4cea8365052d1be973e927f8ee85f609"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 31 14:58:04 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 31 16:40:39 2016 -0700"
      },
      "message": "Move intern table to ObjPtr\n\nAlso moved StringLog to use a GcRoot.\n\nAlso removed read barriers from lookup to prevent making weak strings\nstrongly live more often than necessary.\n\nBug: 31113334\n\nTest: clean-oat-host \u0026\u0026 test-art-host CC baker\n\nChange-Id: I05586e125d5dfed8d184890468fd398c79f32619\n"
    },
    {
      "commit": "54b20eb52f7d8688032fb3bd6112e8db9772c4a7",
      "tree": "921b63fde1b5ea65aff20a514058e41bf642908e",
      "parents": [
        "b0b2080b4cea8365052d1be973e927f8ee85f609",
        "c8ba4600016ea15e0730191d15b2c10f62de2861"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 31 23:25:50 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 31 23:25:50 2016 +0000"
      },
      "message": "Merge changes I9afd9f88,I1cf94699\n\n* changes:\n  ART: Blacklist test 912 for target\n  ART: Add GetClassSignature\n"
    },
    {
      "commit": "e492ae3e59849ee205c22cd15d3c4df2c4bc2d4c",
      "tree": "c4fccd9c18d645dd29213e62f3659250f8540aa8",
      "parents": [
        "e7b46e22c7f4f6f503501b3b2ad99113289d142b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 28 19:34:57 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 31 14:38:17 2016 -0700"
      },
      "message": "ART: Add GetClassSignature\n\nAdd support to retrieve the signature of a JNI class.\n\nAdd a test.\n\nBug: 31684578\nTest: m test-art-host-run-test-912-classes\nChange-Id: I1cf946996f9089cb5d41e93b4f1064193e9d6350\n"
    },
    {
      "commit": "b0b2080b4cea8365052d1be973e927f8ee85f609",
      "tree": "77973ba5cde1f6da70dd5e2332d45dcaf310c913",
      "parents": [
        "e7b46e22c7f4f6f503501b3b2ad99113289d142b",
        "36bcd4f3f56adf889d488b3fd0fdc7e38e519675"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 31 21:36:19 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 31 21:36:19 2016 +0000"
      },
      "message": "Merge changes Ib44df099,I8508f96f\n\n* changes:\n  ART: Add GetMethodModifiers\n  ART: Add GetMethodDeclaringClass\n"
    },
    {
      "commit": "3e0dce0ff7e28f756ec4b8a08259517e5fb3776d",
      "tree": "f27c7249d4319a174f31b95081f6670b6aa8446e",
      "parents": [
        "b24b0268b0f26af9d66ab0f163690d2b2164902b"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 31 13:55:55 2016 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 31 14:10:53 2016 +0000"
      },
      "message": "MethodHandles: Better detail message for WrongMethodTypeExceptions\n\nWe now include the type of the callee and the callsite.\n\nThis change also fixes a call to ThrowWrongMethodTypeException that\npassed arguments in the wrong order.\n\nTest: make test-art-host\n\nChange-Id: I3ced2e331cb49b616a8374f5a604dafa37330059\n"
    },
    {
      "commit": "6fcc5e8e0fb4298c83286ae5a5bcd0d06180f356",
      "tree": "57be97c726d69537350536413e4154733ed8aafa",
      "parents": [
        "bb04c9b9baa620d2664851f58f693e8aec0c0bc0"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 31 11:50:54 2016 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 31 11:50:54 2016 +0000"
      },
      "message": "Interpreter: fix build.\n\nDue to unfortunate commit timing.\n\nTest: make build-art-host\nChange-Id: Ie523399309b20836ab9f7a8a8224c5cb41bc79fc\n"
    },
    {
      "commit": "bb04c9b9baa620d2664851f58f693e8aec0c0bc0",
      "tree": "7fe7db598e203f73ce0930a62ca23309d2e0daef",
      "parents": [
        "be92d691dd044dfc94a1c8e8793056776d55e826",
        "3d617ac3d87f7fa98793406818e54b057bd701a1"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Oct 31 11:42:13 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 31 11:42:14 2016 +0000"
      },
      "message": "Merge \"Getter/Setter support for invoke-polymorphic of invokeExact().\""
    },
    {
      "commit": "be92d691dd044dfc94a1c8e8793056776d55e826",
      "tree": "bd2c441f4a50ef52ba2c54977d80042504a982b9",
      "parents": [
        "b9b8cab87a275fad382fefbddd18daf495a58772",
        "000e1885701c8fdad07a784e3771881fa9be1d8a"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 31 10:25:57 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 31 10:25:58 2016 +0000"
      },
      "message": "Merge \"method_handles: Complete support for emulated stack frames.\""
    },
    {
      "commit": "3d617ac3d87f7fa98793406818e54b057bd701a1",
      "tree": "5230ceedfaf2928da0404fd71b64fa7f08439f21",
      "parents": [
        "b5cc1d1321e36d38cd48ae079438a8758b82edc1"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Oct 19 14:00:46 2016 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Oct 31 09:16:19 2016 +0000"
      },
      "message": "Getter/Setter support for invoke-polymorphic of invokeExact().\n\nTest: make test-art-host\nBug: 30550796\n\nChange-Id: I427a6e0afba88b223655ad1ba30843aaf255182b\n"
    },
    {
      "commit": "d01f60cbed4ba360b84f1310d2e0d422d6a16534",
      "tree": "d9511ce632d9ae32a0447a9bfd50c1cb8821fcbf",
      "parents": [
        "b9b8cab87a275fad382fefbddd18daf495a58772"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 28 14:45:48 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Oct 29 22:09:28 2016 +0100"
      },
      "message": "Add a VerifierDeps::Dump method.\n\nAlso, fix the Encode/Decode logic around dex file order:\niterating over a std::map doesn\u0027t guarantee insertion order.\n\ntest: verifier_deps_test\nbug: 30937355\n\nChange-Id: Id3efd703b3c8ca21ab49c2600c612c132fb021cd\n"
    },
    {
      "commit": "36bcd4f3f56adf889d488b3fd0fdc7e38e519675",
      "tree": "b29f6c8284fdc2cad7d4f090929e854e221ea8d4",
      "parents": [
        "368a2088fe24738cfc534c21141c881cf5ff4238"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 28 18:07:18 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 28 18:07:18 2016 -0700"
      },
      "message": "ART: Add GetMethodModifiers\n\nSupport GetMethodModifiers to retrieve the modifiers of a JNI\nmethod.\n\nExtend test 910.\n\nBug: 31684812\nTest: m test-art-host-run-test-910-methods\nChange-Id: Ib44df099bc056c557e526d5fa267df48ac2fd86c\n"
    },
    {
      "commit": "368a2088fe24738cfc534c21141c881cf5ff4238",
      "tree": "80ba8b6a56587e3f2d57bb2c0ba5813ee7429ab1",
      "parents": [
        "2f4d68a41f44549e428b40bbe9d59f366cebce32"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 28 17:33:13 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 28 17:33:13 2016 -0700"
      },
      "message": "ART: Add GetMethodDeclaringClass\n\nSupport GetMethodDeclaringClass to retrieve the declaring class\nof a JNI method.\n\nExtend test 910. Also cover proxies.\n\nBug: 31684812\nTest: m test-art-host-run-test-910-methods\nChange-Id: I8508f96f88692e540ef53f693ff85590b7553f19\n"
    },
    {
      "commit": "b5eb94a7536e5d050b9d3b1e4e09033bcf2aa554",
      "tree": "ee99d1bfa959dc94640ebed38df4fe3023728cb5",
      "parents": [
        "e9f67125f9a9c54b226c7daa95ebd0c5b31e8510"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 27 19:23:09 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 28 15:08:42 2016 -0700"
      },
      "message": "ART: Add GetStackTrace support\n\nAdd support for getting a stack trace.\n\nBug: 31684812\nTest: m test-art-host\nChange-Id: Ifa5818ebca38caafb09616ffd7df30186eb8a06f\n"
    },
    {
      "commit": "e9f67125f9a9c54b226c7daa95ebd0c5b31e8510",
      "tree": "fd87b64461854249721ad08a76f95ee3aef0b8e6",
      "parents": [
        "19dfeb0e725bca7fd85b4a8a96ce9f3d30408aa3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 27 19:21:23 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 28 15:08:37 2016 -0700"
      },
      "message": "ART: Add synchronous checkpoint\n\nAdd a thread function that will run the given checkpoint function\non the thread and wait for its completion.\n\nBug: 31684812\nTest: m test-art-host\nChange-Id: Icbb9f3a6b0bbf31e62be0508714ee172456bea29\n"
    },
    {
      "commit": "3c252f07cefccd506a7146d976aa5193396e5a4e",
      "tree": "8a198e8c2563a2b8fcd3813ec6ad95260c734b5e",
      "parents": [
        "81fbc57f45b3c4d98036b637630ab7c0420f4cea"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 27 18:25:17 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 28 12:08:17 2016 -0700"
      },
      "message": "ART: Add method name support to TI\n\nAdd support for GetMethodName.\n\nBug: 31684812\nTest: m test-art-host\nChange-Id: I55e7b6dac7e7193c3d9979ebb289b0e2849ad030\n"
    },
    {
      "commit": "0a85576a71adb9af631c9b9f5e48f21888313c14",
      "tree": "31c7db15c43096ca7118b528f17aa73eef92ce63",
      "parents": [
        "54f07b502f7ac216e00beccee67781a3b72ae00f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 26 13:43:14 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 28 10:15:42 2016 -0700"
      },
      "message": "ART: Clean up Thread\n\nMake some functions private. Move some test-only functionality to\nthe test using it.\n\nTest: m test-art-host\nChange-Id: Ic84c8bcb150f991c6fc264c2d490363a3bd3e1f4\n"
    },
    {
      "commit": "000e1885701c8fdad07a784e3771881fa9be1d8a",
      "tree": "77d11180fb1d93903fa6c6cd58383d91a82affc5",
      "parents": [
        "b5cc1d1321e36d38cd48ae079438a8758b82edc1"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 24 17:14:25 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Oct 28 14:11:45 2016 +0100"
      },
      "message": "method_handles: Complete support for emulated stack frames.\n\nMost of this change is a refactor that templatizes the code\nthat performs argument conversions. This allows us to copy arguments\nbetween two shadow frames, or an emulated stack frame and a shadow\nframe.\n\nTest: make test-art-host\nBug: 30550796\n\nChange-Id: I23e65735a2dbd28f3c7b7d1ccf9762e77e0cf1f1\n"
    },
    {
      "commit": "56ee489d6e90aa255a91d268c0822fb3553c7f4e",
      "tree": "e57fb4583c8691fd9771bf1523b7439ba64f9766",
      "parents": [
        "68e4f6b7db83241e0081787f9cdb4fa1465db313"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Oct 28 10:57:41 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Oct 28 11:50:41 2016 +0000"
      },
      "message": "method_verifier_test: Allow soft verifier failures for java/lang/invoke.*\n\nClasses in this package might use experimental opcodes.\n\nBug: 32496585\nBug: 30550796\nTest: make test-art-host\nChange-Id: Ibf1ea78b090fff065b792f00afa143182ef195d4\n"
    },
    {
      "commit": "68e4f6b7db83241e0081787f9cdb4fa1465db313",
      "tree": "7e3fa108fe2884094a893abc5b587f4d2e11992a",
      "parents": [
        "c369f6b0cd132ab5bba3f127b162f128dd7d2599",
        "269cb43d6df76b52a42c1c7a9436c92bd0dcdad6"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Oct 28 11:49:26 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 28 11:49:26 2016 +0000"
      },
      "message": "Merge \"class_linker: Change allocation of MethodType dex_cache entries.\""
    },
    {
      "commit": "269cb43d6df76b52a42c1c7a9436c92bd0dcdad6",
      "tree": "6fb3dec2763ffdacdf1b31e4ed04c3f0c6cc5f81",
      "parents": [
        "d6435da102851e155acd12adc420e7df3db47903"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Oct 28 10:19:54 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Oct 28 11:48:49 2016 +0000"
      },
      "message": "class_linker: Change allocation of MethodType dex_cache entries.\n\nWe allocate them regardless of the value of the runtime flag to\navoid needing changes to the compiler etc. The memory hit can be\nmitigated in production systems that don\u0027t use MethodHandles by\nsetting kDexCacheMethodTypeCacheSize to 0.\n\nAlso, add DCHECKS in the interpreter to make sure the runtime\nnever executes an invoke-polymorphic instruction when method handles\nare disabled.\n\nTest: make test-art-host\nBug: 30550796\nChange-Id: Id4b2065d99dc13625a51037b7d1a9f0ac5ff6121\n"
    },
    {
      "commit": "c369f6b0cd132ab5bba3f127b162f128dd7d2599",
      "tree": "691b4ae4ca4da162d403d047095a82c18b5607bd",
      "parents": [
        "d6435da102851e155acd12adc420e7df3db47903",
        "a1aa3b1f40e496d6f8b3b305a4f956ddf2e425fc"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Oct 28 10:09:33 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 28 10:09:34 2016 +0000"
      },
      "message": "Merge \"Add support for Baker read barriers in UnsafeCASObject intrinsics.\""
    },
    {
      "commit": "5a8292618f25634b51eb97fdd0377de3d02d9489",
      "tree": "34051b90ab54035f31bfdb58f40857b6809fecc4",
      "parents": [
        "a5079100bfd8742eb762a0a7b4e7cb2ff5f2d089",
        "41ba35dbf0cf4610588716dcb331ff558c48f1ae"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 27 21:02:22 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 27 21:02:23 2016 +0000"
      },
      "message": "Merge \"ART: Add missing PrettyCause\""
    },
    {
      "commit": "a0a5fd64b341161eb277293161a9033427cdc028",
      "tree": "bdf33283d5c1b91aed5146595cd6785eef7405f3",
      "parents": [
        "384cb6674b967a9c58da9ad70fd6f98caa1d8691",
        "5e6046b8311f2a4d25bf1c9755b73bd5c96577ad"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 27 20:29:26 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 27 20:29:27 2016 +0000"
      },
      "message": "Merge \"ART: Add function to retrieve all tagged objects\""
    },
    {
      "commit": "41ba35dbf0cf4610588716dcb331ff558c48f1ae",
      "tree": "f83d3158eb1903a66dee1545ea268eeb8ce24b9b",
      "parents": [
        "384cb6674b967a9c58da9ad70fd6f98caa1d8691"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 27 11:50:18 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 27 11:50:18 2016 -0700"
      },
      "message": "ART: Add missing PrettyCause\n\nAdd missing name. Refactor so that build breaks next time anyone\nforgets adding this.\n\nBug: 31385027\nTest: m test-art-host\nChange-Id: I7f5a510b56829aa39e8ca6bcff11c3e9eee95000\n"
    },
    {
      "commit": "384cb6674b967a9c58da9ad70fd6f98caa1d8691",
      "tree": "b75a3309609ebbcd0d9d8d8b4297db82e80e988a",
      "parents": [
        "a908348b4388854dab0b655b55dbeac1ecec2949",
        "2c45bc9137c29f886e69923535aff31a74d90829"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 27 15:44:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 27 15:44:55 2016 +0000"
      },
      "message": "Merge \"Remove H[Reverse]PostOrderIterator and HInsertionOrderIterator.\""
    },
    {
      "commit": "a908348b4388854dab0b655b55dbeac1ecec2949",
      "tree": "8dec4746af6964d7fe2d93295586de6992c32982",
      "parents": [
        "1e330c26ff520b6b12ab8ae0c1321a11291bb85d",
        "7f019717cc9632c15cba6e993fc0c3d32e487075"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Oct 27 15:24:06 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 27 15:24:07 2016 +0000"
      },
      "message": "Merge \"Remove some unneeded header includes\""
    },
    {
      "commit": "2c45bc9137c29f886e69923535aff31a74d90829",
      "tree": "90c7762c2dcb1105bf5907d6a1d068f172ea6155",
      "parents": [
        "168c58ce18b139d313cbc6131e3bb43539952c55"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 25 16:54:12 2016 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 27 14:30:29 2016 +0100"
      },
      "message": "Remove H[Reverse]PostOrderIterator and HInsertionOrderIterator.\n\nUse range-based loops instead, introducing helper functions\nReverseRange() for iteration in reverse order in containers.\nWhen the contents of the underlying container change inside\nthe loop, use an index-based loop that better exposes the\ncontainer data modifications, compared to the old iterator\ninterface that\u0027s hiding it which may lead to subtle bugs.\n\nTest: m test-art-host\nChange-Id: I2a4e6c508b854c37a697fc4b1e8423a8c92c5ea0\n"
    },
    {
      "commit": "a314773a624f9f51391be91bda3472bbdbe0050e",
      "tree": "11cd3182265c3426b00a34acc5c36961b351408f",
      "parents": [
        "e22305b8a093a892a10029e905064776fd2082c5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 26 22:57:02 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 26 23:18:55 2016 -0700"
      },
      "message": "Add handle wrapper for interpreter iget/iput quick\n\nJDWP has thread suspension in instrumentation listeners. The fix is\nto use handle wrappers here. This change fixes JDWP tests.\n\nBug: 31113334\n\nTest: art/tools/run-jdwp-tests.sh \u0027--mode\u003dhost\u0027 \u0027--variant\u003dX64\u0027 --debug\n\nChange-Id: Ic7dcb1201ec44946e8002547b2f7f5645b4dea48\n"
    },
    {
      "commit": "e22305b8a093a892a10029e905064776fd2082c5",
      "tree": "45a0dba3b890d376c4cc2570101b46b2c45de1ee",
      "parents": [
        "061148025e3f6d1eb2e3c50a7756ff5fa2071ea2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 26 21:04:58 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 26 21:06:14 2016 -0700"
      },
      "message": "Add handle wrapper for DoCallCommon\n\nPrevents potential moving GC bugs from thread suspension caused\nby GetTypeItem. Fixes build-art.\n\nBug: 31113334\n\nTest: clean-oat-host \u0026\u0026 build-art \u0026\u0026 test-art-host\n\nChange-Id: I9ef18b1d1dab61cc86a7468d535972eba51763f5\n"
    },
    {
      "commit": "061148025e3f6d1eb2e3c50a7756ff5fa2071ea2",
      "tree": "0da2265b1114f62551aea88f676f639ad1a8bee4",
      "parents": [
        "e0dc90d9860964844ac8d863fe81d5b77c43f0e7",
        "ef41db7a3f322a1feb305fdb457410c4cea94d00"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 27 01:07:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 27 01:07:05 2016 +0000"
      },
      "message": "Merge \"Move interpreter to ObjPtr\""
    },
    {
      "commit": "5a81e84013eeb4ba143747b044ed9ab4e5a33ab5",
      "tree": "f27628d7b53ceea899c6e5d723124b30f96df747",
      "parents": [
        "1458e0c09fe0a3b9fa5fd7beb9b6077d1fc46b1d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 26 16:46:46 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 26 16:46:46 2016 -0700"
      },
      "message": "Fix bad auto merge conflict resolution in CC\n\nWe should not be clearing the region space since:\nhttps://android-review.googlesource.com/#/c/294708/\n\nBug: 12687968\n\nTest: test-art-host CC baker\nChange-Id: I78050c61c8cdcc0b777d3324ba3f7ded80b2cf52\n"
    },
    {
      "commit": "7f019717cc9632c15cba6e993fc0c3d32e487075",
      "tree": "78f70767190c3f4c22cf717c8627055445281c0d",
      "parents": [
        "a70a2e18ee0beaecb2c17a6340ce81821db36f5d"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Oct 26 16:09:13 2016 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Oct 26 16:09:13 2016 -0700"
      },
      "message": "Remove some unneeded header includes\n\nBug: none\nTest: Builds still work\nChange-Id: I6c83326cc12aa0e7825312b238f5e0ae694ccffc\n"
    },
    {
      "commit": "ef41db7a3f322a1feb305fdb457410c4cea94d00",
      "tree": "c03152c091ef62ab70f5be0a2fe3a965b189132c",
      "parents": [
        "1458e0c09fe0a3b9fa5fd7beb9b6077d1fc46b1d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 25 15:08:01 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 26 15:25:40 2016 -0700"
      },
      "message": "Move interpreter to ObjPtr\n\nMoved most of interpreter, interpreter_common,\ninterpreter_switch_impl, and some of mterp to ObjPtr.\n\nBug: 31113334\n\nTest: test-art-host ART_TEST_INTERPRETER\u003dtrue\nTest: art/tools/run-libcore-tests.sh \u0027--mode\u003dhost\u0027 \u0027--variant\u003dX32\u0027 --debug\n\nChange-Id: I0935d18287e1332205c17c5a018aa167788ab897\n"
    },
    {
      "commit": "1458e0c09fe0a3b9fa5fd7beb9b6077d1fc46b1d",
      "tree": "810cdfb04eb8ba7104203fd83ad8232f6f1099a0",
      "parents": [
        "97b0cfaf63cc3276d6d5a05c177c9f968764ef3b",
        "4af14174ee8cc2c443c92e263bba59cfe8e41a85"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Oct 26 21:27:59 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 26 21:27:59 2016 +0000"
      },
      "message": "Merge \"Avoid unnecessarily clearing/resetting region_space_ for each GC.\""
    },
    {
      "commit": "97b0cfaf63cc3276d6d5a05c177c9f968764ef3b",
      "tree": "fdc15ce4bff186d770d3d6ef083a7d3bfdb563ae",
      "parents": [
        "3a2faaa430c9c6a8f973ab140443f82b784a0c1d",
        "0fc1c9a34d169cfe46b91ecef044908a2011a494"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 26 19:29:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 26 19:29:14 2016 +0000"
      },
      "message": "Merge \"Fix build on XCode 8 w/OSX 10.12 SDK\""
    },
    {
      "commit": "a307a76312e8f6a9fd72657285c7878f04518c8d",
      "tree": "9ba0fc0f0dfbb3f3d772ecaa9048068654f68071",
      "parents": [
        "874462f08107c42a873b4ff0e8ee6b3309072569",
        "8447e6d4b7c5cc05883a95489b57026d42e8cdcc"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Oct 26 18:27:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 26 18:27:38 2016 +0000"
      },
      "message": "Merge \"Always call into native loader when loading a native library\""
    },
    {
      "commit": "0440adef0032ce3bb1ce808b4e58ac5174287114",
      "tree": "b0756953a487f0a3bcf641b5485fcc65c7581192",
      "parents": [
        "f9450a9e71554a010ac33ff53fbacdb029ca95d5",
        "0415b4e2169272f94f4aba9f3d56ec8105831f8b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 26 17:30:26 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 26 17:30:26 2016 +0000"
      },
      "message": "Merge \"ART: Change InstructionSetFeatures to return unique_ptr\""
    },
    {
      "commit": "0fc1c9a34d169cfe46b91ecef044908a2011a494",
      "tree": "7aadb40a2f5851ff64d492786e0ab094aad2982c",
      "parents": [
        "f877c165de3868a28fcfeb36e742efb02f39b854"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Oct 26 10:13:15 2016 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Oct 26 10:13:15 2016 -0700"
      },
      "message": "Fix build on XCode 8 w/OSX 10.12 SDK\n\nCLOCK_REALTIME (along with clock_gettime and friends) are now defined,\nso the build fails with a redefinition error.\n\nTest: m checkbuild (w/XCode 8 on 10.11 with 10.12 SDK)\nChange-Id: Ic8a5cc872ded1766597fda5f098d0e044cd063ee\n"
    },
    {
      "commit": "0415b4e2169272f94f4aba9f3d56ec8105831f8b",
      "tree": "7caf8fce823d3b3ebe00cca06ce3f874786cae55",
      "parents": [
        "75dccb7238714358fca9e5e993e4daabe24af085"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 06 15:17:07 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 26 08:44:55 2016 -0700"
      },
      "message": "ART: Change InstructionSetFeatures to return unique_ptr\n\nThis makes clear the ownership of the object.\n\nTest: m test-art-host\nChange-Id: I55fa734f04bc3046d370f4dcf98ce6b17c59e234\n"
    },
    {
      "commit": "eb242cd311e5e93dd85042321a63d55e690873d4",
      "tree": "1c27a9759441e87a950d04c7d46b7d6f4039f958",
      "parents": [
        "168c58ce18b139d313cbc6131e3bb43539952c55",
        "0802518a6a5af8182131eb3fe66bf58dd77f9fe2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 26 14:24:43 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 26 14:24:43 2016 +0000"
      },
      "message": "Merge \"Save the non-verified classes in the VerifierDeps.\""
    },
    {
      "commit": "a1aa3b1f40e496d6f8b3b305a4f956ddf2e425fc",
      "tree": "efe3dd581dbe9fb33e615d1608f0571ec3984208",
      "parents": [
        "188edb3a3ec36ad5fc42373b1e1bed3a85b4f112"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 26 13:03:38 2016 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 26 13:03:38 2016 +0100"
      },
      "message": "Add support for Baker read barriers in UnsafeCASObject intrinsics.\n\nPrior to doing the compare-and-swap operation, ensure the\nexpected reference stored in the holding object\u0027s field is\nin the to-space by loading it, emitting a read barrier and\nupdating that field with a strong compare-and-set operation\nwith relaxed memory synchronization ordering (if needed).\n\nTest: ART host and target tests and Nexus 5X boot test with Baker read barriers.\nBug: 29516905\nBug: 12687968\nChange-Id: I480f6a9b59547f11d0a04777406b9bfeb905bfd2\n"
    },
    {
      "commit": "0802518a6a5af8182131eb3fe66bf58dd77f9fe2",
      "tree": "94b84da33a0ef542f6c4c3888e786dc8762ff1b2",
      "parents": [
        "f30b1582c20079a1266f1fdcac621d4df2d7ce79"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 25 17:20:18 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 26 12:41:10 2016 +0100"
      },
      "message": "Save the non-verified classes in the VerifierDeps.\n\nWe will need that information when taking an OTA to make sure\nthe same set of classes needs to be verified at runtime.\n\nCurrently, the vdex file will contain a list of unverified\nclasses. We could alternatively encode a bit vector of the size\nof the type_id array, but the few experiments I did show that\nthe bit vector is actually larger. We can refine this later.\n\nbug: 30937355\ntest: m test-art-host\ntest: verifier_deps_test.cc\n\nChange-Id: I2670e4fd2e54ee7a148246baa705fda3a56617ff\n"
    },
    {
      "commit": "168c58ce18b139d313cbc6131e3bb43539952c55",
      "tree": "0ed7bb6f4dee1a00feb0e5aac3e1910fb03f0a81",
      "parents": [
        "458036fe7a0bb8ca7d8ccd9803237fad8b84e873",
        "b3ac45b55a09741a951b3c93769d708970d23250"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 26 10:44:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 26 10:44:23 2016 +0000"
      },
      "message": "Merge \"Reduce number of physical pages used for DexCache\u0027s arrays\""
    },
    {
      "commit": "458036fe7a0bb8ca7d8ccd9803237fad8b84e873",
      "tree": "eb36401cabb8a47aafa532c4c9aac381a275739c",
      "parents": [
        "1da4508b9a1225966ffc369529f8672f9e5d587f",
        "c3b7f1a34667386a2e55f59db795082a9e2408fd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 26 10:35:53 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 26 10:35:54 2016 +0000"
      },
      "message": "Merge \"Interpreter: Add support for method handle transforms [Part 1].\""
    },
    {
      "commit": "1da4508b9a1225966ffc369529f8672f9e5d587f",
      "tree": "821d37ff21f43a54f066bc1877db6a6203f0471b",
      "parents": [
        "d1d24926aca468c1f6053cc020b8b95412ec157b",
        "a5c61bf479453e7e195888afb4e62a9872d6be7c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 26 08:59:38 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 26 08:59:38 2016 +0000"
      },
      "message": "Merge \"Fall back to true anonymous mmap if out of file descriptors.\""
    },
    {
      "commit": "c3b7f1a34667386a2e55f59db795082a9e2408fd",
      "tree": "6a454999907c9813d1d3c8e1ae4d3d50545fd4d2",
      "parents": [
        "75dccb7238714358fca9e5e993e4daabe24af085"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Oct 19 11:05:04 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Oct 26 09:53:40 2016 +0100"
      },
      "message": "Interpreter: Add support for method handle transforms [Part 1].\n\nMethod handle transformations are implemented in Java by\nsubclasses of java.lang.invoke.Transformers.Transformer. Transformer\nextends MethodHandle and provides a transformer method defined like so:\n\npublic static class TransformerImpl extends Transformer {\n    @Override\n    public void transform(EmulatedStackFrame emulatedStackFrame) throws Throwable {\n    }\n}\n\nAn EmulatedStackFrame is synthesized by the runtime based on the\ncaller stack frame and arguments specified by the instruction. It will\ncontain all input arguments to the method their associated types. It\nwill also exactly match the method type specified by the target handle\n(i.e, argument coversions are performed by the runtime).\n\nThe transformer method operates on supplied EmulatedStackFrame\nand other instance state to synthesize the transformation. In some\ncases, these transformations will end up calling other signature\npolymorphic methods. In those cases, the transformer can construct\nan EmulatedStackFrame and issue the invoke passing that through as\nthe single input argument. For e.g,\n\n  EmulatedStackFrame sf \u003d EmulatedStackFrame.newInstance();\n  sf.pushArgument(\"foo\", String.class);\n  sf.pushIntArgument(42);\n\n  // The callsite type for this polymorphic invoke is\n  // (Ldalvik/system/EmulatedStackFrame)V;\n  delegate.invoke(sf);\n\nThe runtime will treat such polymorphic invokes specially and unmarshal\nthis EmulatedStackFrame on to the callee stack frame based on the type\nand number of arguments contained in the EmulatedStackFrame and the\ndeclared type of the target method handle.\n\nIn this change :\n\nAdds the basic plumbing for transformer invokes. In particular, the code\nfor marshaling and unmarshaling emulated stack frames isn\u0027t implemented\nand will be added in a follow up method. This plumbing is sufficient to\nimplement a test case of a method handle transform that doesn\u0027t need any\ninput arguments, so is trivially implementable without proper\nEmulatedStackFrame support.\n\nbug: 30550796\nTest: make test-art-host\nChange-Id: Iafa29accaef26d0a33f8b83713bed5d929df547e\n"
    },
    {
      "commit": "d1d24926aca468c1f6053cc020b8b95412ec157b",
      "tree": "f3b5ed328a6abe127093ddac632816a6e774d079",
      "parents": [
        "75dccb7238714358fca9e5e993e4daabe24af085",
        "dea2552fa220b944acb2c40fa07b8ef6095b38c5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 26 08:46:20 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 26 08:46:20 2016 +0000"
      },
      "message": "Merge \"Remove unused std::ostringstream variable.\""
    },
    {
      "commit": "75dccb7238714358fca9e5e993e4daabe24af085",
      "tree": "f46591a920fcd8fda21ab93eb5f25e6dbae1fa2b",
      "parents": [
        "c33daa3739bbb7288f231a034f3ff80c5df2dd5a",
        "34ee6842a283afe107f0c1df941393f955323b52"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 26 00:21:33 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 26 00:21:35 2016 +0000"
      },
      "message": "Merge \"ART: Refactor class-linker methods\""
    },
    {
      "commit": "5e6046b8311f2a4d25bf1c9755b73bd5c96577ad",
      "tree": "6a6121647fb3e634b38561686c93ba81e45e09b8",
      "parents": [
        "e2923d98070a162c8a87c44e7b19aef2f20239f2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 25 12:05:53 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 25 17:18:56 2016 -0700"
      },
      "message": "ART: Add function to retrieve all tagged objects\n\nAdd functionality to retrieve all tagged objects. Add an allocator\nthat uses Allocate and Deallocate to optimize.\n\nAmend test 903.\n\nBug: 31385027\nTest: m test-art-host\nChange-Id: Ibce79ddea33da0bb1354c41852e1d8cb63fff958\n"
    },
    {
      "commit": "c33daa3739bbb7288f231a034f3ff80c5df2dd5a",
      "tree": "848c46ed18fcd491c2ffbbb6b430de5091a7237a",
      "parents": [
        "1cf518c744cb52f51a8bf5905c01c64ab7101ba5",
        "94a520243c11957f8bbe3aff40dc94b310a8b2b1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 25 21:38:53 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 25 21:38:54 2016 +0000"
      },
      "message": "Merge \"ART: Initialize field in IndirectReferenceTable\""
    },
    {
      "commit": "1cf518c744cb52f51a8bf5905c01c64ab7101ba5",
      "tree": "bd90b96ea46a0b8dbe248b4d433c862df69ac49a",
      "parents": [
        "f35843dc6a83b50bf09c540e2c49b2953367fe3c",
        "208aaf0b4815b9675d5b0c6e88b1aafad49be18d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 25 21:28:53 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 25 21:28:53 2016 +0000"
      },
      "message": "Merge \"Fix race with LOS Begin() and End()\""
    },
    {
      "commit": "eb84221ffc00357be6d69e2e461c7a45ee96334a",
      "tree": "00e6a0884a62dfb448e4d617699fe511307db74f",
      "parents": [
        "19c5e5f3e92db92e4a51b354743cbb0edd8e0f48"
      ],
      "author": {
        "name": "Leonard Mosescu",
        "email": "mosescu@google.com",
        "time": "Thu Oct 06 17:26:36 2016 -0700"
      },
      "committer": {
        "name": "Leonard Mosescu",
        "email": "mosescu@google.com",
        "time": "Tue Oct 25 19:46:58 2016 +0000"
      },
      "message": "Enable agent attaching during live phase\n\nThis is the ART part, the plumbing from VMDebug_attachAgent() to\nactually loading the agent into the runtime.\n\nTest: m test-art-host\n\nBug: 31682382\n\nChange-Id: I3ccc67aa050c1f78278882128983686ed44ddec2\n"
    },
    {
      "commit": "19c5e5f3e92db92e4a51b354743cbb0edd8e0f48",
      "tree": "3cb5a88d0184b2eaa03a783d5816e592ea7cde88",
      "parents": [
        "e2923d98070a162c8a87c44e7b19aef2f20239f2",
        "ef54d8dccb7ad7b573fe44b3ffadd2120c84309d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 25 19:03:11 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 25 19:03:11 2016 +0000"
      },
      "message": "Merge \"Revert \"ART: Temporarily use global references for GetLoadedClasses\"\""
    },
    {
      "commit": "94a520243c11957f8bbe3aff40dc94b310a8b2b1",
      "tree": "817bf89c24a4d871e9d4e37a260cd0ff6814f0e1",
      "parents": [
        "e2923d98070a162c8a87c44e7b19aef2f20239f2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 25 12:01:48 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 25 12:01:48 2016 -0700"
      },
      "message": "ART: Initialize field in IndirectReferenceTable\n\nInitialize last known previous segment state.\n\nBug: 32125344\nTest: m test-art-host\nTest: m valgrind-test-art-host\nChange-Id: I894f467a9f1dae8de55c1e113f0b00a127b13f33\n"
    },
    {
      "commit": "4af14174ee8cc2c443c92e263bba59cfe8e41a85",
      "tree": "a657e042cd359930cc0881bfcb7698549aa5ddca",
      "parents": [
        "c0ada4a0911758b69e55bd5b3246ed1d35e2d4be"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Oct 25 11:55:10 2016 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Oct 25 11:56:23 2016 -0700"
      },
      "message": "Avoid unnecessarily clearing/resetting region_space_ for each GC.\n\nBug: 12687968\nTest: test-art-host with CC.\nChange-Id: Idf8e6753ba9de23866e15634a093b47ae6a5c239\n"
    },
    {
      "commit": "208aaf0b4815b9675d5b0c6e88b1aafad49be18d",
      "tree": "33f26788ebb0a4fd62bb28c2df7e2f6841043f9c",
      "parents": [
        "e2923d98070a162c8a87c44e7b19aef2f20239f2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 25 10:45:08 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 25 11:30:42 2016 -0700"
      },
      "message": "Fix race with LOS Begin() and End()\n\nThere was a race for the first large object allocation that cause\ncallers of Begin() and End() to see a null End() and non-null\nBegin(). The fix is to hold the lock and get both Begin() and End().\n\nBug: 32387879\n\nTest: test-art-host CC\n\nChange-Id: I6173bf3a55d3ba017ffa5b5e9f566025c65b7555\n"
    },
    {
      "commit": "34ee6842a283afe107f0c1df941393f955323b52",
      "tree": "63614db22d589a42f843f1b96e2332e8c89d4860",
      "parents": [
        "5b6fbd02f03fd41829c7dd4bfce97a62346be854"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Dec 02 15:43:52 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 25 11:18:05 2016 -0700"
      },
      "message": "ART: Refactor class-linker methods\n\nHide the LookupClass with hash version. Clients should not have to\nknow about that performance detail.\n\nHide FindClassInPathClassLoader. This is an implementation detail.\n\nTest: m test-art-host\nChange-Id: I2378c6fed8d7d1fb1ead8e042b4cf07228adf25c\n"
    },
    {
      "commit": "e2923d98070a162c8a87c44e7b19aef2f20239f2",
      "tree": "a781ed5452a38a6011278b672867705e12ac632d",
      "parents": [
        "f877c165de3868a28fcfeb36e742efb02f39b854",
        "6e6078ab06e16bb4032b363316360f3b76685e30"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 25 17:36:53 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 25 17:36:54 2016 +0000"
      },
      "message": "Merge \"Clear (madvise) card table for CC\""
    },
    {
      "commit": "ef54d8dccb7ad7b573fe44b3ffadd2120c84309d",
      "tree": "f1c200f370e01ad0ea18c37482ede44c7456ff61",
      "parents": [
        "5b6fbd02f03fd41829c7dd4bfce97a62346be854"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 25 09:55:53 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 25 09:55:58 2016 -0700"
      },
      "message": "Revert \"ART: Temporarily use global references for GetLoadedClasses\"\n\nThis reverts commit d2d0353de9e5c10f2a4a9ff2102d2b777c134a37.\n\nThe IndirectReferenceTable now allows resizing for local references.\n\nBug: 31684578\nBug: 32125344\nTest: m test-art-host\nChange-Id: I47dab19eb7ae66fc7d55d202a13a87f508c35e03\n"
    },
    {
      "commit": "b3ac45b55a09741a951b3c93769d708970d23250",
      "tree": "0d5df4025274f1b146a6a077eb21c2c0671e37c6",
      "parents": [
        "5b6fbd02f03fd41829c7dd4bfce97a62346be854"
      ],
      "author": {
        "name": "Artem Udovichenko",
        "email": "artem.u@samsung.com",
        "time": "Fri Sep 09 14:02:25 2016 +0300"
      },
      "committer": {
        "name": "Artem Udovichenko",
        "email": "artem.u@samsung.com",
        "time": "Tue Oct 25 18:34:12 2016 +0300"
      },
      "message": "Reduce number of physical pages used for DexCache\u0027s arrays\n\nThis commit reduces the amount of physical pages allocated for the .bss\nsection of an application\u0027s oat file.\nMany of elements in the application\u0027s DexCache arrays are empty.\nBut during coping content of the DexCaches arrays from\nthe app\u0027s art file into the .bss section all pages become dirty.\nThe commit fixes that by copying non null elements only. So pages\nin the .bss section that contains zeroes remains untouched.\nThis approach allows to save 209Kb of memory after one minute of\nGMaps use.\nThis number is the difference between the size of .bss section and\nthe Rss value from the /proc/\u003cpid\u003e/smaps file.\n\nTest: run test-art-host\n\nChange-Id: I3d7bed0805b95b5f344303581274ca8e8e69940e\n"
    },
    {
      "commit": "5b6fbd02f03fd41829c7dd4bfce97a62346be854",
      "tree": "bc1c72e0ac46d4e1c630e11fdf6ee8ba668cdf77",
      "parents": [
        "3e653ff5d455a79b5fc8e272c622dd472fafd422",
        "9d7ef62b854289632791a83223c1a5a5b3c8fc64"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 25 15:18:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 25 15:18:14 2016 +0000"
      },
      "message": "Merge changes Iae3a933e,I08ff5d6e\n\n* changes:\n  ART: Make IndirectReferenceTable resizable\n  ART: Change IndirectReferenceTable\n"
    },
    {
      "commit": "3e653ff5d455a79b5fc8e272c622dd472fafd422",
      "tree": "b62fbbd6587ffcdf3d41c93ce7ae729b58c98b52",
      "parents": [
        "ac2efad1446b484b2b401c903159baae40d32021",
        "dc061d038e4e48fe2a967fd4a9c200d112df5698"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 25 15:16:31 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 25 15:16:31 2016 +0000"
      },
      "message": "Merge \"ART: Clean up IndirectReferenceTable\""
    },
    {
      "commit": "ac2efad1446b484b2b401c903159baae40d32021",
      "tree": "390012299745166f9f2912f438dead37195e2154",
      "parents": [
        "413293ebfbce7787afcc12a07c6d4a4d86f8e794",
        "6dd14884e3fa58450f6c9ed572ccb136362d43e8"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 25 14:51:57 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 25 14:51:57 2016 +0000"
      },
      "message": "Merge \"Clean up app image .bss dex cache arrays fixup.\""
    },
    {
      "commit": "83f66990723f416632db57360b645a8176577c25",
      "tree": "c31cb327e76ff1bdde78e801cecb1e5dd627b7fa",
      "parents": [
        "11e7f99419ff1d63d70bcaa9c3e1c4bfa8e725b3",
        "c9a6fa54e092bcd1507c795b1381e7bd1df0ed2e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 25 14:07:31 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 25 14:07:31 2016 +0000"
      },
      "message": "Merge \"Clear OOME from DexCache allocation when another thread succeeded.\""
    },
    {
      "commit": "11e7f99419ff1d63d70bcaa9c3e1c4bfa8e725b3",
      "tree": "7c9c20ae718ec95cdf3ea899fc80cffdc995d0e4",
      "parents": [
        "468d555e301d286c07b223e3edc7e6ed57de6f27",
        "1bc4b178590fa204265363a0207f1388e8bd6d15"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 25 12:32:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 25 12:32:28 2016 +0000"
      },
      "message": "Merge \"Revert \"Disable kBssEntry LoadString sharpening.\"\""
    },
    {
      "commit": "6dd14884e3fa58450f6c9ed572ccb136362d43e8",
      "tree": "abf31ba2acd13b6c655d01e10563dbb8cd0aaec9",
      "parents": [
        "468d555e301d286c07b223e3edc7e6ed57de6f27"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 25 11:51:35 2016 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 25 13:27:16 2016 +0100"
      },
      "message": "Clean up app image .bss dex cache arrays fixup.\n\nDo not store type and method array forwarding address\nin old arrays. They are available from the DexCache.\n\nTest: m test-art-host\nChange-Id: Id019bfd343f5fc687b75594991151cf5eded71a9\n"
    },
    {
      "commit": "c9a6fa54e092bcd1507c795b1381e7bd1df0ed2e",
      "tree": "579ab6e2ef7e9cd290bb179f8dd00eaf8e43d057",
      "parents": [
        "468d555e301d286c07b223e3edc7e6ed57de6f27"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 25 13:04:00 2016 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 25 13:24:24 2016 +0100"
      },
      "message": "Clear OOME from DexCache allocation when another thread succeeded.\n\nTest: m test-art-host\nChange-Id: I358f69de446474641fab7ca6a9eadf15c9900b87\n"
    },
    {
      "commit": "468d555e301d286c07b223e3edc7e6ed57de6f27",
      "tree": "eab8db18523356c56e8b7bb30070a11532a51bef",
      "parents": [
        "f30b1582c20079a1266f1fdcac621d4df2d7ce79",
        "da24650d142883ea9962eaedd479547bfe44bbf4"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Oct 25 11:36:16 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 25 11:36:17 2016 +0000"
      },
      "message": "Merge \"method_handles: Minor refactor of PerformArgumentConversions.\""
    },
    {
      "commit": "1bc4b178590fa204265363a0207f1388e8bd6d15",
      "tree": "791fd12e3fac0c9c4ec260233d471d8a97cca5ca",
      "parents": [
        "3667e26de4856cccf24bcbab54ad3349a05267c0"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 24 16:53:39 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 25 10:01:08 2016 +0100"
      },
      "message": "Revert \"Disable kBssEntry LoadString sharpening.\"\n\nFix .bss GC root walking by registering the oat file\nwith the class loader\u0027s class table.\n\nAlso fix potentially outdated ObjPtr\u003c\u003e use in debug build.\n\nThis reverts commit b55fdbb30b3bc4e334c241153b98c0a6ea4a4a2b.\n\nTest: m test-art-host\nBug: 32124939\nChange-Id: I0b7e3b93cb53c7b22408aa10a04eaf5582c69ee8\n"
    },
    {
      "commit": "dea2552fa220b944acb2c40fa07b8ef6095b38c5",
      "tree": "66a2234d552d7cd2c4efade2aa55f74394e27d26",
      "parents": [
        "3667e26de4856cccf24bcbab54ad3349a05267c0"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Oct 25 08:52:31 2016 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Oct 25 08:52:31 2016 +0100"
      },
      "message": "Remove unused std::ostringstream variable.\n\nTest: m build-art-host\nChange-Id: I44b6aab9192c2b1d01cc35bcfd029e3cf52e0d2d\n"
    },
    {
      "commit": "a5c61bf479453e7e195888afb4e62a9872d6be7c",
      "tree": "b517151377a1293612b9d2d2a04e696ad1036743",
      "parents": [
        "3667e26de4856cccf24bcbab54ad3349a05267c0"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Oct 24 15:54:44 2016 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Oct 25 08:37:31 2016 +0100"
      },
      "message": "Fall back to true anonymous mmap if out of file descriptors.\n\nMemMap::MapAnonymous needs a file descriptor to create an ashmem\nregion to label otherwise anonymous mmaps for debugging purposes. If\nthe process has no file descriptors available, fall back to\ntraditional anonymous mmap rather than failing.\n\nTest: m test-art-host, m test-art-target\nBug: 32013594\nBug: 32302133\nChange-Id: I6b2c770fc031eb8d429407f3a0e7408c52cb1985\n"
    },
    {
      "commit": "f30b1582c20079a1266f1fdcac621d4df2d7ce79",
      "tree": "5aba5f3a8b662d2a797bc99dc107cfec1c05b03f",
      "parents": [
        "3209925b7c0e173741885e63f747af16dac78469",
        "4acefd33064d37b41ca55c3c9355345a20e5f9c2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 25 07:27:07 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 25 07:27:07 2016 +0000"
      },
      "message": "Merge \"Encode quickening info in .vdex.\""
    },
    {
      "commit": "9d7ef62b854289632791a83223c1a5a5b3c8fc64",
      "tree": "10739d99e2b868c11da9b255dde64de7e002250d",
      "parents": [
        "e03662b71bbb4d262af0840bf90ce4fc84750b43"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 24 19:35:19 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 24 19:35:19 2016 -0700"
      },
      "message": "ART: Make IndirectReferenceTable resizable\n\nAllow backing table to be resized. This can be used for the local\nreference table, where synchronization is not an issue.\n\nBug: 32125344\nTest: m test-art-host\nChange-Id: Iae3a933e330026231b17fdde44bcdd99c235dff1\n"
    }
  ],
  "next": "6e6078ab06e16bb4032b363316360f3b76685e30"
}
