)]}'
{
  "log": [
    {
      "commit": "629afaba488c5cfdd3ee9ba5b2df24af9de6f2a7",
      "tree": "e662cc005b69023ce4233ad4a5e11e3560438fce",
      "parents": [
        "810ef3768021b5fc7b47e663e037e49c46f8c916"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 19 14:56:43 2016 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 07 11:45:18 2016 -0800"
      },
      "message": "runtime: Add CAS and fences to sun.misc.Unsafe\n\nBug: 26264765\nChange-Id: I68b482e5f9a0a26419af5e58a8d67c8c8a8e01a9\n"
    },
    {
      "commit": "9bab082adb251327b806d537d6710c16b9897de9",
      "tree": "bb7deb63cfea2672cbdea4a882a001d91982dcd9",
      "parents": [
        "19a133b2e26770b900119aaac25e3e73bd287e3f",
        "942dc298d7af3e60fe40c69b4b416ef144e5c723"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Mar 03 17:05:15 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 03 17:05:16 2016 +0000"
      },
      "message": "Merge \"Simplify LoadNativeLibrary()\""
    },
    {
      "commit": "cc3839c15555a2751e13980638fc40e4d3da633e",
      "tree": "4068f602067f7a7f2a3ef5d0655c2aa4ee81e1a4",
      "parents": [
        "c3bcf40e905c53ec857ec40a9ae45f4c86738929"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 29 16:23:48 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 29 16:46:12 2016 +0000"
      },
      "message": "Improve documentation about StringFactory.newStringFromChars.\n\nMake it clear that the native method requires its third\nargument to be non-null, and therefore that the intrinsics\ndo not need a null check for it.\n\nBug: 27378573\nChange-Id: Id2f78ceb0f7674f1066bc3f216b738358ca25542\n"
    },
    {
      "commit": "bc4d218ce2ceef0c4f308d4ff42f7ec1ec43c40e",
      "tree": "a583db9be377183508653607a724dcb8742f4ca2",
      "parents": [
        "01c30e8dbc45bdc5d922cef6e5a404be7bed0e8c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 22 10:03:12 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Feb 26 15:43:14 2016 -0800"
      },
      "message": "ART: Add unstarted-runtime functions\n\nAdd more functions to allow compile-time initialization of\ncode.\n\nBug: 27248115\n\n(cherry picked from commit 0866f4ed6338faa4a193b7e819fc7cd72bd7b0ae)\n\nChange-Id: Iaf8d92deb73547ccd31c0d6dde68da3bc14c3985\n"
    },
    {
      "commit": "942dc298d7af3e60fe40c69b4b416ef144e5c723",
      "tree": "3bfac9efaea9dcf73fbd2aed93f72db7bf7fa1b3",
      "parents": [
        "48a13431f09ff9bbdcd1ee991da6a04e694c5134"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Feb 24 13:33:33 2016 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Feb 26 11:41:11 2016 -0800"
      },
      "message": "Simplify LoadNativeLibrary()\n\nWith ApplicationLoaders.getClassLoader() ensuring\nlinker-namespace initialization there is no longer\nneed for LoadNativeLibrary() and callers to pass\nalong namespace-specific information to art.\n\nThis change removes unnecessary parameters of such\ncalls.\n\nBug: http://b/27189432\nBug: http://b/22548808\nChange-Id: I341d35a2d5195e634678b352f4361f8712984b69\n(cherry picked from commit c286a7fcd8a446c086127bf03fd07f904e017336)\n"
    },
    {
      "commit": "dd5e5e975e1965c3e4568143e8e1c7b65b319f58",
      "tree": "92f56fa2f743d50fc7078117cf28cbdacf2937d8",
      "parents": [
        "88f4bc504c1be353e95e9d215d68c7d58eb0717f"
      ],
      "author": {
        "name": "Tamas Berghammer",
        "email": "tberghammer@google.com",
        "time": "Fri Feb 12 16:29:00 2016 +0000"
      },
      "committer": {
        "name": "Tamas Berghammer",
        "email": "tberghammer@google.com",
        "time": "Mon Feb 15 18:32:27 2016 +0000"
      },
      "message": "Revert \"Revert \"Make it possible to enable native debugging through debug flags\"\"\n\nThis reverts commit 3a98aae1b9b20bc78dc5e05d2e60cb1d0072db02.\n\n* Add support for a new debug flag disabling the optimizations in\n  the compiler and enable the generation of some additional debug\n  info (--native-debuggable).\n* Ignore the content of the oat files if force JIT is enabled so\n  the runtime ignores the AOT-ed code what doesn\u0027t contain any\n  debug info.\n\nTime measurements on a Nexus 5 with running:\nam start -n com.facebook.katana/com.facebook.katana.LoginActivity -W\n\nBefore change:             | AVG | DEV\n--------------------------------------\nThisTime:  549 492 512 511 | 516 | 24\nTotalTime: 549 492 512 511 | 516 | 24\nWaitTime:  662 511 528 526 | 557 | 71\n\nAfter change:              | AVG | DEV\n--------------------------------------\nThisTime:  530 467 503 544 | 511 | 34\nTotalTime: 530 467 503 544 | 511 | 34\nWaitTime:  551 497 536 583 | 541 | 36\n\nBased on the numbers the speed impact of the change is less then the\naccuracy of the measurement and it is also negligible.\n\nThe minor speed improvement displayed in the measurements are just\nthe cause of the variance of the measurement and not caused by this\nchange.\n\nChange-Id: Ibf7294bfd14f8632a0fdeb27a5b90bfe5037d085\n"
    },
    {
      "commit": "e4ddacdb1f0798e084b9ce2de7acac797f2c0a75",
      "tree": "338a1fdf31f24f43f3c5c83ad5a22e789f7ead9f",
      "parents": [
        "9fab717bb67e6d141ca7a6d6c33adbf5b9d3dba7",
        "64fdc804f6b4d8a6f7d86bd9672e3bb1cde7056f"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 08 21:54:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 08 21:54:56 2016 +0000"
      },
      "message": "Merge \"Default methods should not be found by getDeclaredMethod\""
    },
    {
      "commit": "3a98aae1b9b20bc78dc5e05d2e60cb1d0072db02",
      "tree": "541d9f2eeeeb4d1b7f3e56846542d826d0f6be59",
      "parents": [
        "c94a61f06ffc13288c67891048128c987b29bf33"
      ],
      "author": {
        "name": "Tamas Berghammer",
        "email": "tberghammer@google.com",
        "time": "Mon Feb 08 20:21:54 2016 +0000"
      },
      "committer": {
        "name": "Tamas Berghammer",
        "email": "tberghammer@google.com",
        "time": "Mon Feb 08 20:21:54 2016 +0000"
      },
      "message": "Revert \"Make it possible to enable native debugging through debug flags\"\n\nThe change causes issues in test-art-target-gtest-jni_internal_test32\n\nThis reverts commit c94a61f06ffc13288c67891048128c987b29bf33.\n\nChange-Id: Iecfe3c6874d7b0dd59f10156fe2eb743ab7221dc\n"
    },
    {
      "commit": "64fdc804f6b4d8a6f7d86bd9672e3bb1cde7056f",
      "tree": "4cb67ba411e3845054347745657bdc06ca8472ab",
      "parents": [
        "27ec302da670ffddaf1278b5b7155b7742aa37fd"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 08 10:30:04 2016 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 08 10:34:36 2016 -0800"
      },
      "message": "Default methods should not be found by getDeclaredMethod\n\nWe were incorrectly returning default methods from getDeclaredMethod\ncalls on an implementing class that uses the default implementation.\n\nBug: 27060609\n\nChange-Id: I2e07023a11585e5f7cd92c4c0e1263f54aea1f5f\n"
    },
    {
      "commit": "c94a61f06ffc13288c67891048128c987b29bf33",
      "tree": "83ed6106d14b211281c9ba2a677aed97ebc7657b",
      "parents": [
        "ac6a195ec8e1b5a7a6bd3d0c53d8997ff7a5e2cc"
      ],
      "author": {
        "name": "Tamas Berghammer",
        "email": "tberghammer@google.com",
        "time": "Fri Feb 05 18:09:08 2016 +0000"
      },
      "committer": {
        "name": "Tamas Berghammer",
        "email": "tberghammer@google.com",
        "time": "Mon Feb 08 10:53:01 2016 +0000"
      },
      "message": "Make it possible to enable native debugging through debug flags\n\n* Add support for a new debug flag disabling the optimizations in\n  the compiler and enable the generation of some additional debug\n  info (--native-debuggable).\n* Ignore the content of the oat files if force JIT is enabled so\n  the runtime ignores the AOT-ed code what doesn\u0027t contain any\n  debug info.\n\nTime measurements on a Nexus 5 with running:\nam start -n com.facebook.katana/com.facebook.katana.LoginActivity -W\n\nBefore change:             | AVG | DEV\n--------------------------------------\nThisTime:  549 492 512 511 | 516 | 24\nTotalTime: 549 492 512 511 | 516 | 24\nWaitTime:  662 511 528 526 | 557 | 71\n\nAfter change:              | AVG | DEV\n--------------------------------------\nThisTime:  530 467 503 544 | 511 | 34\nTotalTime: 530 467 503 544 | 511 | 34\nWaitTime:  551 497 536 583 | 541 | 36\n\nBased on the numbers the speed impact of the change is less then the\naccuracy of the measurement and it is also negligible.\n\nThe minor speed improvement displayed in the measurements are just\nthe cause of the variance of the measurement and not caused by this\nchange.\n\nChange-Id: Ia9022cbc1bbfcc072314b6c95f63a4bf8060c36c\n"
    },
    {
      "commit": "df187e4cc8b1b2dc6cb0043eb91d1dfd72cb490b",
      "tree": "a2fbb7ec726c57311238eae04a395936b8709cbd",
      "parents": [
        "9f95ba750583735cff1f2921b8014099dd801734"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Feb 01 11:43:26 2016 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Feb 02 10:56:01 2016 -0800"
      },
      "message": "Revert \"Revert \"reflection: Add new 1.8 AnnotatedElement methods and tests\"\"\n\nThis reverts commit 28a2a186537db9fc5a8492e36d9603b48854c04f.\n\nRuntest failure has been fixed in I28c3707e38c1f69ea9d3660f68136f688122ac4e\n\nChange-Id: I1749dc89b790d44b5e40bc8b20aa62885bda792b\n"
    },
    {
      "commit": "0dd8c399e6a3b4f46ce1ba1388507bf0ef93d5ff",
      "tree": "ef750f3956a930c2d2505fffb947b426ef0b4470",
      "parents": [
        "6f2c459c97fad172991d05f96cb6036050c2db97"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 01 13:22:18 2016 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 01 13:47:07 2016 +0000"
      },
      "message": "Track libcore change aa517a356a38b8cd6764667e1edd735aaf5978e9.\n\nChange-Id: I32a995eb62e3268c20fa5c2ac8dc2bf190c6fb7a\n"
    },
    {
      "commit": "28a2a186537db9fc5a8492e36d9603b48854c04f",
      "tree": "31fc65e44fac0d24b53c61df322624fe381a75d8",
      "parents": [
        "c167ee9b65f05f7c6f007d587fd1655388edaee9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 29 10:25:01 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 29 10:25:01 2016 +0000"
      },
      "message": "Revert \"reflection: Add new 1.8 AnnotatedElement methods and tests\"\n\nBreaks interpreter access checks:\n\n+Exception in thread \"main\" java.lang.InternalError: java.lang.IllegalAccessError: Method \u0027void java.lang.reflect.Proxy.doNewInstanceCheck()\u0027 is inaccessible to class \u0027$Proxy0\u0027 (declaration of \u0027$Proxy0\u0027 appears in generated class)\n\n\nThis reverts commit c167ee9b65f05f7c6f007d587fd1655388edaee9.\n\nChange-Id: I6c9429cb6f298e89a2da22f7ded0728251321446\n"
    },
    {
      "commit": "c167ee9b65f05f7c6f007d587fd1655388edaee9",
      "tree": "57e846f6aaad969020972f55a082e3e22884592e",
      "parents": [
        "2aaf58e90c9229610b2a16644e9866b6741ce9ca"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jan 14 16:05:47 2016 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jan 27 13:14:10 2016 -0800"
      },
      "message": "reflection: Add new 1.8 AnnotatedElement methods and tests\n\nAlso:\n* Bump the size of the Class vtable size since 3 new virtuals were\nadded to java.lang.Class\n* Refactor Method#isDefault test into a separate file within 048 test.\n\nChange-Id: I8420a4d208bb60874a9cf996766313c7d5058c45\n"
    },
    {
      "commit": "05d241565f36df825cf56a4f1b61bfb7e4dcb056",
      "tree": "4b74483b1c26640c6ca150fbf4d070c7a3a518f0",
      "parents": [
        "f032f3afe513093c508434b17ff1921a114c4424"
      ],
      "author": {
        "name": "Siva Chandra",
        "email": "sivachandra@google.com",
        "time": "Tue Jan 05 17:43:17 2016 -0800"
      },
      "committer": {
        "name": "Tamas Berghammer",
        "email": "tberghammer@google.com",
        "time": "Wed Jan 27 15:09:41 2016 +0000"
      },
      "message": "Add option to never interpret.\n\nChange-Id: Ib6d6170fa60c77c2e6a8844964f14fa0de4c9e7b\n"
    },
    {
      "commit": "a9d82fe8bc6960b565245b920e99107a824ca515",
      "tree": "a6ced4b8bca71232d20d91ff344c7531948b7be3",
      "parents": [
        "1af0204dddc1d99dc17a13eca135c1b57023c1c3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jan 25 20:06:11 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jan 26 12:24:02 2016 -0800"
      },
      "message": "Use mutator lock to guard adding and removing heap spaces\n\nToo hard to add a new lock since dlmalloc ArtMoreCore requires\nlooping through the spaces while holding the allocator lock.\n\nBug: 22858531\nChange-Id: Ieac2136da02c766b6795cd604a58798bee37ef2a\n"
    },
    {
      "commit": "fbc31087932a65e036a153afab3049dc5298656a",
      "tree": "c728b9039a71db3be9cae888ad5e1afc31f34a13",
      "parents": [
        "c7f4e3a5aeaa23342b4e03b0d751f60ac5c5815c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Jan 24 11:59:56 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jan 25 14:22:15 2016 -0800"
      },
      "message": "Revert \"Revert \"Load app images\"\"\n\nThis reverts commit 1bc977cf2f8199311a97f2ba9431a184540e3e9c.\n\nBug: 22858531\n\nChange-Id: Ide00bf3a73a02cba3bb364177204ad1b13f70295\n"
    },
    {
      "commit": "1bc977cf2f8199311a97f2ba9431a184540e3e9c",
      "tree": "580a02752d8e447f6dce7cce01386c7e2a9a87f4",
      "parents": [
        "f7fd970244f143b1abb956e29794c446e4d57f46"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Jan 23 14:15:49 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Jan 23 14:15:49 2016 +0000"
      },
      "message": "Revert \"Load app images\"\n\nFails when a method is duplicated (see test 097-duplicate-method)\n\nBug: 22858531\n\nThis reverts commit f7fd970244f143b1abb956e29794c446e4d57f46.\n\nChange-Id: Ib30ae5be00cc568e799290be6b3c8f29cbbe4c20\n"
    },
    {
      "commit": "f7fd970244f143b1abb956e29794c446e4d57f46",
      "tree": "aac1f57ac70747957f609bb46305dfeca87645a1",
      "parents": [
        "95005291d8ebdd1d2ac58ffc5181fef4fbbf2383"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 09 11:16:49 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jan 22 15:01:55 2016 -0800"
      },
      "message": "Load app images\n\nSupport in-place patching of the app image based on boot image\nlocation and app oat location. Only loads for art run test so far\nsince we do not automatically generate app images for app installs.\n\nN5 maps launch time (~200 runs):\nBefore: 930ms\nAfter: 878.18ms\nAfter + image class table: 864.57ms\n\nTODO:\nOatdump support.\nStore class loaders as class roots in image.\n\nBug: 22858531\n\nChange-Id: I9cbc645645e62ea2ed1ad8e139e91af7d88514c1\n"
    },
    {
      "commit": "0e7fa6b06e37e7c95509cd234571f469bf5821c2",
      "tree": "887228f1be1a8837d059af5fc83c27a75b281dd9",
      "parents": [
        "d6ff932575b99d51e3c37e77d696160acbf53e21"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 13 15:28:58 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 13 15:42:35 2016 +0000"
      },
      "message": "Also print to error stream.\n\nSo we can test between all kinds of configuration (for example\nhost no-dex2oat removes all error logs).\n\nChange-Id: I5936fdd963e3805c49258ee6ed50d8def23d1aca\n"
    },
    {
      "commit": "ae6f23c83e1c8dcfbc4f74186ea1a37f1044414b",
      "tree": "efefa95c7279dbe605fbe32202a373f3db6d96cb",
      "parents": [
        "16f66da0fe69530668de5fb12423f237603d7a14",
        "7ea4c09989b37351e6c17a10d35934812053a746"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 11 12:01:16 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 11 12:01:16 2016 +0000"
      },
      "message": "Merge \"Emit an error message when looking for String#offset.\""
    },
    {
      "commit": "7ea4c09989b37351e6c17a10d35934812053a746",
      "tree": "2ccc1f223830e30e4c2ca27310764957125476f2",
      "parents": [
        "a90d8bc3a3772877f4490d0509d53053069e5b55"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 07 10:55:14 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 07 12:08:22 2016 +0000"
      },
      "message": "Emit an error message when looking for String#offset.\n\nDebugging two different apps relying on it and swallowing\nthe getDeclaredField exception took too much of my lifetime.\nAdding a LOG(ERROR) can help diagnose quicker.\n\nAlso remove unused method getDeclaredFieldInternal.\n\nChange-Id: I0923556a4fdbad2b06c1811ed741d23dbd4aa0a0\n"
    },
    {
      "commit": "7ede3dd40e2f7da3e3073cc355312021c31820b3",
      "tree": "8ecf4374076c710a128bd47d3fa48e60a1a253e8",
      "parents": [
        "a90d8bc3a3772877f4490d0509d53053069e5b55",
        "5e2b971e468ca73a8e10a120730b3b6f17fad408"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Jan 07 11:45:11 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 07 11:45:11 2016 +0000"
      },
      "message": "Merge \"Assume the profile file was created before saving.\""
    },
    {
      "commit": "5e2b971e468ca73a8e10a120730b3b6f17fad408",
      "tree": "5168766339acfd7c61852ca38595fe3459b2eb81",
      "parents": [
        "b7371a5517f78f61759f7e6124f2d957d974d9cd"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Dec 18 14:10:00 2015 +0200"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Jan 04 19:01:13 2016 +0000"
      },
      "message": "Assume the profile file was created before saving.\n\nbug: 26080105\nChange-Id: I9969a4abd8533614922076551fcbae2cdf695525\n"
    },
    {
      "commit": "ac9e66e4a8ed9c5fa8864f4556322c5040be2ed6",
      "tree": "abbefb73307d3c87893a32176474439de244a460",
      "parents": [
        "4bb356123b13ec5f41ea80158766df676ae08679"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Dec 17 11:18:27 2015 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Dec 31 14:15:18 2015 -0800"
      },
      "message": "Revert \"Temporary disable linker-namespaces\"\n\nThis reverts commit 9aefb12cc91eb459d87392700f1199ee07580cd6.\n\nChange-Id: Iac567c03699d65f97c380c2f32ef5a2a56d44721\n"
    },
    {
      "commit": "7f65b4669c52976cd5713dae47b901707ed77110",
      "tree": "b1c6399751c98babd3839bd4d5ff4a1f6a5c274c",
      "parents": [
        "b7f644b3ef0b23350d83f10612b80e27112f2478",
        "da6e49016dc37704f45b13217a8c6f8e726ab8e1"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Dec 24 02:43:58 2015 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 24 02:43:58 2015 -0800"
      },
      "message": "Merge \"Save profile information in a separate thread.\" am: 58b2329de7\nam: da6e49016d\n\n* commit \u0027da6e49016dc37704f45b13217a8c6f8e726ab8e1\u0027:\n  Save profile information in a separate thread.\n"
    },
    {
      "commit": "58b2329de74a73d2f0a7ed001e50cc39df33d9da",
      "tree": "7c8b322acd0a0c0b0d7fd6467df8ff68cf7844fa",
      "parents": [
        "875773770ae34c623153aac3941828a9e3831f14",
        "4d77b6a511659f26fdc711e23825ffa6e7feed7a"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Dec 24 10:38:45 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 24 10:38:45 2015 +0000"
      },
      "message": "Merge \"Save profile information in a separate thread.\""
    },
    {
      "commit": "4d77b6a511659f26fdc711e23825ffa6e7feed7a",
      "tree": "7ac013467a20fcdf64cb6cf4c79a8ff67dc7690a",
      "parents": [
        "66f55237679db90cb0a0a265043a787932b466f8"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Dec 01 18:38:09 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Dec 24 12:02:12 2015 +0200"
      },
      "message": "Save profile information in a separate thread.\n\nPreviously we would save the profiling information only when the app\nwas sent to background. This missed on an important number of updates\non the jit code cache and it didn\u0027t work for background processes.\n\nBug: 26080105\n\nChange-Id: I84075629870e69b3ed372f00f4806af1e9391e0f\n"
    },
    {
      "commit": "18d209582e0bb1caed97102a86b416173f5aad42",
      "tree": "5c79afefe9f895a6b752d98d92127a6c0884f846",
      "parents": [
        "424446ba807186a374e1789296d651ddfe6f214c"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Dec 22 14:56:59 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Dec 22 19:17:45 2015 +0000"
      },
      "message": "Override notice file for OpenJdk based modules.\n\nChange-Id: Iff63708c83c2a18b82f0de6aa884e1388ed8b32b\n"
    },
    {
      "commit": "d5a3e2c99f784c6ebe8d99032a0988edf6afa586",
      "tree": "722dd4f7777de3d9f2ec5cf854d37dda1b115997",
      "parents": [
        "5ae964f43ccee7b770d34f95b22b3421cbeb0e29",
        "ae66db49535fcddc2b1d24fe7c8324317071dfe9"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Dec 21 23:35:01 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 21 23:35:01 2015 +0000"
      },
      "message": "Merge \"Treat thread state kWaitingWeakGcRootRead as kJavaRunnable.\" am: 1201804d18\nam: ae66db4953\n\n* commit \u0027ae66db49535fcddc2b1d24fe7c8324317071dfe9\u0027:\n  Treat thread state kWaitingWeakGcRootRead as kJavaRunnable.\n"
    },
    {
      "commit": "1201804d1813d7db0accead9721d67c40b3de564",
      "tree": "38e9cb34b3090278c9e7c3803d97299f3f24a659",
      "parents": [
        "10e2607281ae3d6c5fa814b9986bac5f8b47d325",
        "2ddc6bf88a1c49ebc78bf35b46d486078fe9051a"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Dec 21 23:25:23 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 21 23:25:23 2015 +0000"
      },
      "message": "Merge \"Treat thread state kWaitingWeakGcRootRead as kJavaRunnable.\""
    },
    {
      "commit": "aa944b9d4d447d2746f13327084a19daebf83ee4",
      "tree": "086244a8f5758a736e21d59ac41eea931eb94119",
      "parents": [
        "d255fe5c11ff0fa13a2ca9f73c7c43a290dc370e",
        "d5bbadf44032510b1ce12d9e5f2adad9234cf6b9"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Dec 21 23:10:49 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 21 23:10:49 2015 +0000"
      },
      "message": "Merge \"Use shared namespaces for bundled apps\""
    },
    {
      "commit": "2ddc6bf88a1c49ebc78bf35b46d486078fe9051a",
      "tree": "68254097a6ef2094fdd424ababad2a4241e86c05",
      "parents": [
        "045d37ae20ae9481f6c967ab5db4240991ff151f"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Dec 21 14:06:23 2015 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Dec 21 14:06:23 2015 -0800"
      },
      "message": "Treat thread state kWaitingWeakGcRootRead as kJavaRunnable.\n\nLike kSuspended, kWaitingWeakGcRootRead means temporarily waiting for\nGC\u0027s purpose rather than the thread is waiting on a monitor.\n\nThis may fix some jsr166 test failures.\n\nBug: 25883050\nBug: 12687968\n\nChange-Id: Ib53e18c0fb2ff95aa0491b1531201e583288684e\n"
    },
    {
      "commit": "6b1a50b561d3f1a282871f30e85e74433e2984af",
      "tree": "e592e69ddea871126d566fcaf5b3309a5c2e8643",
      "parents": [
        "28ee8dbece62bf1ed9a7dfd3c581fd5860ed8867",
        "8a5e8d0118de17210316100e740d0417239256e9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Dec 21 12:15:39 2015 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 21 12:15:39 2015 -0800"
      },
      "message": "Merge \"Rename NullHandle to ScopedNullHandle\" am: 76b90e37df\nam: 8a5e8d0118\n\n* commit \u00278a5e8d0118de17210316100e740d0417239256e9\u0027:\n  Rename NullHandle to ScopedNullHandle\n"
    },
    {
      "commit": "9865bde5d822f56c4732214c2005dfcaa41f94cf",
      "tree": "cd2eae058f4f4f13b5a82ff557b7eaaf13a1ecfb",
      "parents": [
        "115a02b737dd5f4d485b2f6c359e02988df66b83"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Dec 21 09:58:16 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Dec 21 09:58:16 2015 -0800"
      },
      "message": "Rename NullHandle to ScopedNullHandle\n\nThis makes it clearer that is invalid to do things like:\nHandle\u003cT\u003e h \u003d ScopedNullHandle\u003cT\u003e();\n\nBug: 26233305\nChange-Id: I6d8f54eae01ec2e901cb7043afa853ea77db79fe\n"
    },
    {
      "commit": "28ee8dbece62bf1ed9a7dfd3c581fd5860ed8867",
      "tree": "1cfd6b4c67eb6c276d5aa22abda9306ee2d4f985",
      "parents": [
        "d5aeb13585f682f9090b76eb9d5878bec801f9af"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Sun Dec 20 20:32:01 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Dec 21 16:58:01 2015 +0000"
      },
      "message": "Update header for OpenjdkJvm.cc.\n\nChange-Id: I19d25531fe71d0511ee3887a2ffd5697a8a00249\n"
    },
    {
      "commit": "d5aeb13585f682f9090b76eb9d5878bec801f9af",
      "tree": "ae17e7b970d6b6a87db8b0e3bc57ea56e88898da",
      "parents": [
        "aa0fab302b762c776ecda4a5dd80625ccd64bde3",
        "d264bab81efdc40500b41620d65a8b3930854719"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Dec 21 09:50:04 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 21 09:50:04 2015 +0000"
      },
      "message": "Merge \"Pass down to the runtime the application code paths.\" am: 115a02b737\nam: d264bab81e\n\n* commit \u0027d264bab81efdc40500b41620d65a8b3930854719\u0027:\n  Pass down to the runtime the application code paths.\n"
    },
    {
      "commit": "115a02b737dd5f4d485b2f6c359e02988df66b83",
      "tree": "92326bbe40b2541aac8096312d25791a329f7c28",
      "parents": [
        "2f125e3c7ab02cbbbcede533dc53a454a439be13",
        "66f55237679db90cb0a0a265043a787932b466f8"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Dec 21 09:43:09 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 21 09:43:09 2015 +0000"
      },
      "message": "Merge \"Pass down to the runtime the application code paths.\""
    },
    {
      "commit": "d5bbadf44032510b1ce12d9e5f2adad9234cf6b9",
      "tree": "d47fc3cbe11567db0e539eaa818b07e569eeed0a",
      "parents": [
        "2f125e3c7ab02cbbbcede533dc53a454a439be13"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Dec 15 14:08:18 2015 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Sat Dec 19 23:38:06 2015 -0800"
      },
      "message": "Use shared namespaces for bundled apps\n\nShared namespaces clone the list of loaded native\nlibraries from the caller namespace. This allows\nclassloaders for bundled apps to share already loaded\nlibraries with default namespace.\n\nBug: http://b/26165097\nBug: http://b/22548808\nChange-Id: Ia90b603a0ca97194618b82fb191d6790a4b1f281\n(cherry picked from commit 986f650d8b552e8b7dbebef1f50f015e7850edfc)\n"
    },
    {
      "commit": "df0de0459ccd661c1c79aec3035dc64d4997ad3d",
      "tree": "49d42ae2892f44b9b8cac6f163fbbaf042874b05",
      "parents": [
        "ae1dec9318a4b2a873954a26ac8bf9d210d3a577",
        "986f650d8b552e8b7dbebef1f50f015e7850edfc"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Sat Dec 19 00:49:07 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Dec 19 00:49:07 2015 +0000"
      },
      "message": "Merge \"Use shared namespaces for bundled apps\""
    },
    {
      "commit": "9c5572957bf357897f0969d002132fc647bfa649",
      "tree": "84e853d076d2a7449e0eba1710b2a4b3d0872fda",
      "parents": [
        "90f5250d4ba7bcf6066edb022f8325df66d686f3",
        "9f784b26a13101222c5e5927cafd7f500d3cff67"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 17 15:48:01 2015 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 17 15:48:01 2015 -0800"
      },
      "message": "resolve merge conflicts of 9f784b26a1 to master.\n\nChange-Id: I9ebcb6e3d51be922e08e5f867fb8dcaf5cb9788d\n"
    },
    {
      "commit": "db92e153c2c29b7f0b59e5f6cc9d0abbdcdce635",
      "tree": "97f354242e9e9c233a0ce7382c85f5811ff39112",
      "parents": [
        "3f185f84f4fe3f00e045c45c19811b4621458a6c",
        "e667c7622e20b9644c4b2e46e35ba147428ed62c"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Dec 17 23:38:23 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 17 23:38:23 2015 +0000"
      },
      "message": "Merge \"Fix (non-intrinsic) UnsafeCASObject for the read barrier config.\" am: fb9f4ad455\nam: e667c7622e\n\n* commit \u0027e667c7622e20b9644c4b2e46e35ba147428ed62c\u0027:\n  Fix (non-intrinsic) UnsafeCASObject for the read barrier config.\n"
    },
    {
      "commit": "986f650d8b552e8b7dbebef1f50f015e7850edfc",
      "tree": "0862ac202e46c1fa434d025f344d7fc0b749bd35",
      "parents": [
        "6280ef88a9231d2a14f2b0bbe6d39770c994787d"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Dec 15 14:08:18 2015 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Dec 17 11:33:06 2015 -0800"
      },
      "message": "Use shared namespaces for bundled apps\n\nShared namespaces clone the list of loaded native\nlibraries from the caller namespace. This allows\nclassloaders for bundled apps to share already loaded\nlibraries with default namespace.\n\nBug: http://b/26165097\nBug: http://b/22548808\nChange-Id: Ia90b603a0ca97194618b82fb191d6790a4b1f281\n"
    },
    {
      "commit": "ec178ee58447ba23e5954eb824265e9b30f95009",
      "tree": "a53ddba8fcc76291687b4ef26bf8892427c4b729",
      "parents": [
        "14c4e90f67e71430dade7d4f20920e6352be386e",
        "e64300b8488716056775ecbfa2915dd1b4ce7e08"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 17 18:33:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 17 18:33:57 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Combine direct_methods_ and virtual_methods_ fields of mirror::Class\"\"\""
    },
    {
      "commit": "6280ef88a9231d2a14f2b0bbe6d39770c994787d",
      "tree": "9035286aafa8eaeb12316cf8849e137836317e74",
      "parents": [
        "333a943d67e890ef90f4c706ceafa717c65b0ba0"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Dec 17 12:34:57 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Dec 17 12:34:57 2015 +0000"
      },
      "message": "Fix typo in LOG_TAG.\n\nChange-Id: I9d87af857bc2206d70bb9ec7bc3efc8f82c01899\n"
    },
    {
      "commit": "66f55237679db90cb0a0a265043a787932b466f8",
      "tree": "50784132be869b47562e8ce41ea318d79c6cf6ab",
      "parents": [
        "fb9f4ad455eced3a07bef1d4772ab1fe34ec133b"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Dec 08 15:09:10 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Dec 17 12:38:27 2015 +0200"
      },
      "message": "Pass down to the runtime the application code paths.\n\nWhen registering the app with the runtime the framework needs to pass\ndown the list of application code paths. This will be used by JIT to\nknow what profile info to persist.\n\nThis fixes the reliance on OatFileManager::GetPrimaryOatFile which may\nproduce inconsistent results based on external factors (i.e. class path\norder or failing to compile the first dex file from the class path)\n\nBug: 26080105\nChange-Id: Iadcebd2684fcd48569e8f76ef21bd4d117fedc05\n"
    },
    {
      "commit": "fb9f4ad455eced3a07bef1d4772ab1fe34ec133b",
      "tree": "e93979f3c2edc7ce3c2a70cedba2fb0b62223ab3",
      "parents": [
        "d16bb3f0dc17d77db7022150d0710fcbb8b6fd9d",
        "cc78f3f87b0b8c6b0fb759e698840898940d4865"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Dec 17 08:08:12 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 17 08:08:12 2015 +0000"
      },
      "message": "Merge \"Fix (non-intrinsic) UnsafeCASObject for the read barrier config.\""
    },
    {
      "commit": "e64300b8488716056775ecbfa2915dd1b4ce7e08",
      "tree": "be23a7086c1e369527dda5450a9868f2d29c5669",
      "parents": [
        "bc90a0538e56f98b8e138cb622e6b9d834244ad9"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 15 15:02:47 2015 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 16 14:16:31 2015 -0800"
      },
      "message": "Revert \"Revert \"Combine direct_methods_ and virtual_methods_ fields of mirror::Class\"\"\n\nThis reverts commit ae358c1d5cef227b44d6f4971b79e1ab91aa26eb.\n\nBug: 24618811\n\nChange-Id: I8becf9bae3258450b90cfef5e79589db7c535a4d\n"
    },
    {
      "commit": "cc78f3f87b0b8c6b0fb759e698840898940d4865",
      "tree": "a32c3976753da46d5368a1863c1b9072b75d5cfd",
      "parents": [
        "277da370dd517af0d6a27bef3b86d5f259feda62"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Dec 11 15:51:04 2015 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Dec 16 11:54:42 2015 -0800"
      },
      "message": "Fix (non-intrinsic) UnsafeCASObject for the read barrier config.\n\nMake sure the field contains a to-space reference before attempting the\nCAS with a special read barrier to avoid an incorrect CAS failure.\n\nThis is only about the non-intrinsic UnsafeCASObject.\n\nThis seems to fix some jsr166 test failures.\n\nAlso, remove the unused template parameter kMaybeDuringStartup.\n\nBug: 25883050\nBug: 12687968\n\nChange-Id: Ia6f0d882fa3d90c42f14968672d547babcdf6309\n"
    },
    {
      "commit": "bc90a0538e56f98b8e138cb622e6b9d834244ad9",
      "tree": "fd85833863a13ce4abc7baaea1d2059c2419ad1e",
      "parents": [
        "0bbc1727c446ee5f4cc3c28e68127164ef379594",
        "ae358c1d5cef227b44d6f4971b79e1ab91aa26eb"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 15 22:17:21 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 15 22:17:21 2015 +0000"
      },
      "message": "Merge \"Revert \"Combine direct_methods_ and virtual_methods_ fields of mirror::Class\"\""
    },
    {
      "commit": "533d63aa028949e393320ad2ffec0ba6e6a8f627",
      "tree": "05038200d2277f69aa7de0165bb8d0243b6fc2ac",
      "parents": [
        "f64ddd3acdfa37d8e03d827e3c98e27ffd627179",
        "2efb0aa57da168944f99a2d13aed2a426cfa76e7"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 15 22:16:25 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 15 22:16:25 2015 +0000"
      },
      "message": "Merge \"Revert \"Combine direct_methods_ and virtual_methods_ fields of mirror::Class\"\""
    },
    {
      "commit": "2efb0aa57da168944f99a2d13aed2a426cfa76e7",
      "tree": "5ca742f9a2a89f9c3c588f6f1863ab55bbdb5c5c",
      "parents": [
        "9539150b85142c18e9e8c2264b5b6100942667c3"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 15 22:15:34 2015 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 15 22:15:34 2015 +0000"
      },
      "message": "Revert \"Combine direct_methods_ and virtual_methods_ fields of mirror::Class\"\n\nThis reverts commit 9539150b85142c18e9e8c2264b5b6100942667c3.\n\nChange-Id: I596876cd643ec0ad524a56621efb6b89e8886230\n"
    },
    {
      "commit": "ae358c1d5cef227b44d6f4971b79e1ab91aa26eb",
      "tree": "95c22194af5ea38a4fa5fc8bbe07ba60b6d0a021",
      "parents": [
        "6286a97bea0f584342803a215550038852b24776"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 15 22:15:26 2015 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 15 22:15:26 2015 +0000"
      },
      "message": "Revert \"Combine direct_methods_ and virtual_methods_ fields of mirror::Class\"\n\nThis reverts commit 6286a97bea0f584342803a215550038852b24776.\n\nChange-Id: I5b00f6d1350e9c587acd4b185367dc815ea707de\n"
    },
    {
      "commit": "e6f84a505e074da4ce14df1f067ed68a8fdcabb3",
      "tree": "db5e2dbb4d9c61aeff6d7565789fe67a97f4957c",
      "parents": [
        "b3ea82b37b14842dde81de0833e515f97f31a76c",
        "9539150b85142c18e9e8c2264b5b6100942667c3"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 15 18:53:58 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 15 18:53:58 2015 +0000"
      },
      "message": "Merge \"Combine direct_methods_ and virtual_methods_ fields of mirror::Class\""
    },
    {
      "commit": "7d5a577c1f256a7703361afb071dcd4ecc7d275f",
      "tree": "d5d151bf0502af93fe8826f368807ab1df7734aa",
      "parents": [
        "ad94d64719c2a82cdd312b318b8e50d80e2956c5",
        "6286a97bea0f584342803a215550038852b24776"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 15 18:11:08 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 15 18:11:08 2015 +0000"
      },
      "message": "Merge \"Combine direct_methods_ and virtual_methods_ fields of mirror::Class\""
    },
    {
      "commit": "9539150b85142c18e9e8c2264b5b6100942667c3",
      "tree": "733f2af56f94cbac19ac29f62d85850df2fd7b7d",
      "parents": [
        "1997d7cef12ac9906c23b59fdaa9f7f68344b98d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 03 17:38:56 2015 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Dec 14 14:54:01 2015 -0800"
      },
      "message": "Combine direct_methods_ and virtual_methods_ fields of mirror::Class\n\nManual cherry-pick of 6286a97 to master\n\nThis makes several parts of the overall runtime simpler and reduces\nthe size of a class object by 32-bits.\n\nBug: 24618811\n\nChange-Id: I36129b52189e26898ea56fa2b7b45652e06af236\n"
    },
    {
      "commit": "6286a97bea0f584342803a215550038852b24776",
      "tree": "3571735bdc691bf30e33abb65a95ada8c71a18b7",
      "parents": [
        "377cb3ba2e1cfe51967e5292268a9aae71ceca8c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 03 17:38:56 2015 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Dec 14 14:27:32 2015 -0800"
      },
      "message": "Combine direct_methods_ and virtual_methods_ fields of mirror::Class\n\nThis makes several parts of the overall runtime simpler and reduces\nthe size of a class object by 32-bits.\n\nBug: 24618811\n\nChange-Id: I36129b52189e26898ea56fa2b7b45652e06af236\n"
    },
    {
      "commit": "1f54026d329693841810439f062de0dcf7ef4a5c",
      "tree": "6cae0e5d6a0acc225f1cc583f3688c597f7e9ac5",
      "parents": [
        "ace41c0aab81f817fe37788d9d5cdf295324e9a4",
        "861e58d1c5eeac5bfa97765c93f20649f916bde8"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Dec 14 13:37:54 2015 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 14 13:37:54 2015 -0800"
      },
      "message": "Merge \"Temporary disable linker-namespaces\" am: a8be6ae6fc\nam: 861e58d1c5\n\n* commit \u0027861e58d1c5eeac5bfa97765c93f20649f916bde8\u0027:\n  Temporary disable linker-namespaces\n"
    },
    {
      "commit": "7f57579b473749ce9bb13fd4ca25ec0adbdf0ca0",
      "tree": "510362d679009c6f4067c2375636e1a191cb3434",
      "parents": [
        "377cb3ba2e1cfe51967e5292268a9aae71ceca8c"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Dec 14 09:57:56 2015 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Dec 14 09:59:31 2015 -0800"
      },
      "message": "Temporary disable linker-namespaces\n\nBug: http://b/26178910\nBug: http://b/26165097\nChange-Id: I858c70dc72ec164ea7a79ad625ddda91367dae06\n"
    },
    {
      "commit": "f6082992319d3d71ff64411fb3083e4da8dd60cc",
      "tree": "9fa329833faac3acfa80123ce60e63c56e604452",
      "parents": [
        "155579d1a3ea50d4cec91d90c1d37c3c4f84452d",
        "d66c8621610dc18d324132c8e5b081520f719777"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 14 13:04:04 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 14 13:04:04 2015 +0000"
      },
      "message": "Merge \"Special case system_server to not create the JIT code cache.\""
    },
    {
      "commit": "3e381723658e8a0bce24071b53f57bf22af76a1e",
      "tree": "68d0a601981507b38a1fbcfde6e20c8247c0bbb7",
      "parents": [
        "44409d33e05cd2f73d69e0a98daa5c9e2fe38089"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Nov 23 17:40:11 2015 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Dec 11 13:28:00 2015 -0800"
      },
      "message": "Port isolated namespace changes over to OpenJdkJvm.cc\n\nBug: http://b/22548808\nChange-Id: I6f11102e828ee5ef4b5107590c598fd0db787fe1\n"
    },
    {
      "commit": "44409d33e05cd2f73d69e0a98daa5c9e2fe38089",
      "tree": "19876c9e094f163fe9cc8549e64e6ebb92453c39",
      "parents": [
        "900805d75bdc63f3f6d612a6076a5c49673ab35d"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Nov 11 14:18:55 2015 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Dec 11 13:28:00 2015 -0800"
      },
      "message": "Use isolated namespaces for app native libs\n\nLinker namespaces provide necessary level\nof isolation for application native libraries.\n\nThe native libraries will no longer be able to\nmistakenly depend on platform private libraries\nlike /system/lib/libssl.so\n\nThis change creates one namespace for each instance\nof class-loader and uses it when loading native libraries.\n\nFor backwards compatibility with older apps we keep\nusing default namespace and LD_LIBRARY_PATH if target\nsdk version is \u003c\u003d 23. (currently set to 0 for testing)\n\nBug: http://b/22548808\nChange-Id: I64e97af7450fbf7e3740ccddda96bb2f7c52e03b\n(cherry picked from commit f5a3099c509cf9b8a4ce9c3073a4db47e14a23bc)\n"
    },
    {
      "commit": "d66c8621610dc18d324132c8e5b081520f719777",
      "tree": "c2de3aeaa995e57b5d45ea9646ac9be5f6ac6529",
      "parents": [
        "70cdba196cef4cfd7955f331a892f6dbe8cd073e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 11 14:59:16 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 11 15:00:16 2015 +0000"
      },
      "message": "Special case system_server to not create the JIT code cache.\n\nChange-Id: I34485c709b0c70b8d9c34bebcf399781aebaf11b\n"
    },
    {
      "commit": "f5a3099c509cf9b8a4ce9c3073a4db47e14a23bc",
      "tree": "5f07f3ea531240643f4f637c9d3abbad6feafa52",
      "parents": [
        "748047de833061466e230baf374480a147568f73"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Nov 11 14:18:55 2015 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Dec 10 17:25:14 2015 -0800"
      },
      "message": "Use isolated namespaces for app native libs\n\nLinker namespaces provide necessary level\nof isolation for application native libraries.\n\nThe native libraries will no longer be able to\nmistakenly depend on platform private libraries\nlike /system/lib/libssl.so\n\nThis change creates one namespace for each instance\nof class-loader and uses it when loading native libraries.\n\nFor backwards compatibility with older apps we keep\nusing default namespace and LD_LIBRARY_PATH if target\nsdk version is \u003c\u003d 23. (currently set to 0 for testing)\n\nBug: http://b/22548808\nChange-Id: I64e97af7450fbf7e3740ccddda96bb2f7c52e03b\n"
    },
    {
      "commit": "4b6c01b2cebd08762f8880b4ca2dab07942b9e0e",
      "tree": "9f920b7fda2843fe0571df7f263f8eb5191975e6",
      "parents": [
        "cc3b18a0366bbf508c38fa32ea9dc84ae582d171",
        "829d8f4435623e8995b7e6fe0bfde23cd6893458"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Nov 25 16:37:41 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 25 16:37:41 2015 +0000"
      },
      "message": "Merge \"Save jit profiling info to file.\" am: e8bc4ec44a am: 449f62e059\nam: 829d8f4435\n\n* commit \u0027829d8f4435623e8995b7e6fe0bfde23cd6893458\u0027:\n  Save jit profiling info to file.\n"
    },
    {
      "commit": "31f2c155975c5794d481df03eb0947cb48d2c6b5",
      "tree": "b0ed3a2235fc115f73060ab4b51bda31e3ada596",
      "parents": [
        "22c20ef131812a6e7ff01f8c57ffe1eb0942fc39"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Oct 23 17:56:15 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Nov 24 19:31:16 2015 +0000"
      },
      "message": "Save jit profiling info to file.\n\nCurrently saves only the hot method references and omits the inline\ncache.\n\nChange-Id: I79e91f855f6b52dc19a9a86662604f2eee16613c\n"
    },
    {
      "commit": "a7a4759946d9f11c88dc108b2b6a9518ce9c1e18",
      "tree": "f5522eb632ff53b4c285ff76a3966d37a995777a",
      "parents": [
        "099ab4d06857ccbe642d98ba25df1eb02aee99c7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 24 09:17:30 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 24 10:54:16 2015 +0000"
      },
      "message": "Revert \"lambda: Add support for invoke-interface for boxed innate lambdas\"\n\n955-lambda is flaky\n\nBug: 24618608\nBug: 25107649\n\nThis reverts commit 457e874459ae638145cab6d572e34d48480e39d2.\n\n(cherry picked from commit 3a0909248e04b22c3981cbf617bc2502ed5b6380)\n\nChange-Id: I24884344d21d7a4262e53e3f5dba57032687ddb7\n"
    },
    {
      "commit": "3a0909248e04b22c3981cbf617bc2502ed5b6380",
      "tree": "b0b7013ea78b10f23fae75ef145e53a696ff797c",
      "parents": [
        "457e874459ae638145cab6d572e34d48480e39d2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 24 09:17:30 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 24 09:17:30 2015 +0000"
      },
      "message": "Revert \"lambda: Add support for invoke-interface for boxed innate lambdas\"\n\n955-lambda is flaky\n\nBug: 24618608\nBug: 25107649\n\nThis reverts commit 457e874459ae638145cab6d572e34d48480e39d2.\n\nChange-Id: I24884344d21d7a4262e53e3f5dba57032687ddb7\n"
    },
    {
      "commit": "3ddd593cbeac6fc0e310e604d56fb732476b1699",
      "tree": "01743b3775d2b18d3be50d550886d46852e2952e",
      "parents": [
        "b8bce05ec116183bb72768039a0899a772439025"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Mon Nov 23 16:08:03 2015 +0000"
      },
      "committer": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Mon Nov 23 16:53:59 2015 +0000"
      },
      "message": "Further fix for class deduction for ctor access checks\n\nPrevious fix went one frame to far, to get Constructor.newInstance\ncaller we need to look 2 frames in the past.\n\nBug: 25713446\nBug: 25753241\nBug: 24764403\n\nChange-Id: Ieb9c144f1ef4df569302793243457f4623977b35\n"
    },
    {
      "commit": "121b25e246b7012cfd895f205855c6102da48305",
      "tree": "8d7e4dae58b59e9a554db03a06c800f3caf5b6b9",
      "parents": [
        "31f7afcd651ca5836892d1c24010933fa40c29e4",
        "13ca74fed068a6a49221b5213ce0b1bebeda3ed6"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Fri Nov 20 11:24:33 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Sat Nov 21 16:28:15 2015 +0000"
      },
      "message": "Merge mnc-dr-enso-dev into goog/master\n\nBug: 25758743\nChange-Id: I19d433934f01856e7b5a7392a58b759c3ac386e7\n"
    },
    {
      "commit": "457e874459ae638145cab6d572e34d48480e39d2",
      "tree": "b192c4698c4889ae90db6abe2652199802213fe6",
      "parents": [
        "3944f7175dcf60316ba58a42698ccf23c65ac57c"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Oct 22 17:37:50 2015 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Nov 20 16:33:06 2015 -0800"
      },
      "message": "lambda: Add support for invoke-interface for boxed innate lambdas\n\nLambda closures created with the \u0027create-lambda\u0027 instruction\n(termed \"innate lambdas\") can be turned into an object with \u0027box-lambda\u0027.\n\nThis CL enables support for those kinds of lambdas to work with\n\u0027invoke-interface\u0027 by generating a proxy class for the lambda.\n\nNote: MIPS32/64 support not included.\n\nBug: 24618608\nBug: 25107649\nChange-Id: Ic8f1bb66ebeaed4097e758a50becf1cff6ccaefb\n"
    },
    {
      "commit": "689a700d1c8a7c9e7ce74e6a2b45dae94c79cb7c",
      "tree": "b4ad3f6f77554a146656c5b575ffd5bd60613441",
      "parents": [
        "039404cb8d6b994e6fc247d287a0efa45c7362d4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 20 10:29:42 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 20 10:35:18 2015 -0800"
      },
      "message": "Pass DexPathList.Element array to openDexFileNative\n\nApp images will use this to check for conflicts. It is required to\npass down since the class loader won\u0027t have the element array until\nafter all of the elements in the dex path list are loaded.\n\nBug: 22858531\nChange-Id: I4f3d85b5e0ad542298fc8458bafe6504c263dc41\n"
    },
    {
      "commit": "e0915821252b68e363d0ecfff07606e9d274f5fa",
      "tree": "5592db1ce5ebb097e8a0c4e44a7c6f74a8eefc32",
      "parents": [
        "bcfce6a67ff71f225b08525e8ec8c482efe9eaf6"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Nov 18 13:00:18 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Nov 18 15:43:42 2015 +0000"
      },
      "message": "Fix caller class deduction for constructor access checks.\n\nnative method newInstance0 is called from Constructor.newInstance\nto the caller frame is a level deeper. Fixes 042-new-instance.\n\nbug: 25713446\nbug: 25753241\n\nChange-Id: I1db5bd4bdcc0081f17a9d7e901e542e0e5964206\n"
    },
    {
      "commit": "ba69a51724d33444064443e456ce78b71db2fd16",
      "tree": "a7e1b95026fb455077a4faeffebb76c4ff8d0d7e",
      "parents": [
        "f5dd91e0461b5bb0f401a51dee39f92d52b375e7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 17 13:50:21 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 18 10:50:47 2015 +0000"
      },
      "message": "Fix bogus DCHECK and rename DidForkFromZygote.\n\nThe method can also be called for non-zygote forked processes.\n\n(cherry picked from commit 9d157e48e0abc48f08fd98e4c5e918d029c1b84c)\n\nChange-Id: Id4f57b77c1a7f802f80e066afcf30afecc198bfc\n"
    },
    {
      "commit": "787ae8eb018d46b4b464e3a7c8de37d9262deb61",
      "tree": "afcc49dca1996bddf9d63640cc0b208ca8ca2bf5",
      "parents": [
        "a04f57badca0a9211d45eb7bde44c1d1e8f159ff"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 05 11:32:24 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 18 10:11:50 2015 +0000"
      },
      "message": "Remove DEBUG_JIT from Zygote flags.\n\nThe flag is being obsolete by the move to JIT.\n\n(cherry picked from commit 0f042e04efba887557e40f981bd9c41b121c4652)\n\nChange-Id: I32c3183e791690964c00fab02a6ee7bbacf6b665\n"
    },
    {
      "commit": "68d8ff4bc1b83c87e9dac0ac0394d1381369e223",
      "tree": "9c9323e8b5e46478a28504d0719ec817bbf42220",
      "parents": [
        "ff633e2b6473ce9c410ff4b7811b114ec887bbad"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Nov 16 12:31:28 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Nov 16 12:40:47 2015 +0000"
      },
      "message": "Move arrayCopy / identityHashCode from OpenJdkJvm to System.\n\nThese functions are only ever called as the JNI implementation of\nSystem.arrayCopy (and never directly from native code) so it\u0027s\ncleaner to keep them as part of System\u0027s native implementation.\n\nMoreover, this change fixes issues in debug mode where taking the\naddress of a function in a different shared library (potentially\ncompiled with different compilation flags) generates incorrect\ncode.\n\nChange-Id: I0da147b9917eb1bb418d3f253fb2bfad46e53e0c\n"
    },
    {
      "commit": "3610abea2fe09f519e20fa4212f116d9167b5d51",
      "tree": "823dd1d0e0f72f773500288e038b362c432de4b6",
      "parents": [
        "dd4cbcc924c8ba2a578914a4a366996693bdcd74",
        "f83e733618066e3c672c9a7ee872a3bba8202e7f"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Nov 16 11:04:13 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 16 11:04:13 2015 +0000"
      },
      "message": "Merge \"Move the trace file out of the profiles folder.\""
    },
    {
      "commit": "56e03f6540420644a9e84f99f6ccacb3f107e971",
      "tree": "f3ad0fc04c8e62c028d8c2e07171e8c2254ba9ae",
      "parents": [
        "bc36a0f4d8194f9e3e79dde3b7d01098894535ee"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Nov 13 11:31:49 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Nov 16 10:22:38 2015 +0000"
      },
      "message": "Remove implementation of Unsafe_getAddress.\n\nChange-Id: I68fa1a02a47ac5bf7e5880ccb154d460747938f7\n"
    },
    {
      "commit": "04302dbb106d590ff72c0dfecda23d85b6565059",
      "tree": "2fe66e258de36bcebc913d48e04468b7c639578f",
      "parents": [
        "0e06a0989f4fc53e0d281a5a2cb5b5a17feaea0c"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Nov 11 23:45:34 2015 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Nov 13 15:21:29 2015 -0800"
      },
      "message": "Fix class unloading with the CC collector.\n\nAvoid unnecessarily decoding dex cache and class loader weak roots,\nwhich would trigger read barriers.\n\nRe-enable 141-class-unload with the CC collector.\n\nBug: 12687968\nBug: 24468364\nChange-Id: Ib4c19f25000873cab0e06047040442d135285745\n"
    },
    {
      "commit": "b190d945459253c329062dab2440671828275767",
      "tree": "83130dcf8177578489aafca94a9aca1348a83b29",
      "parents": [
        "cff81076cbb4bbe3841942f14326f4401fa3c8df"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 12 10:00:58 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 12 10:59:23 2015 -0800"
      },
      "message": "Add class loader argument to openDexFileNative\n\nBug: 22858531\nChange-Id: I315919d91822db0c73cf16b21d660d5870d5746f\n"
    },
    {
      "commit": "dcf1b59d6f834cce110028e20a00187091c0138a",
      "tree": "18409c2b1ea6b79520b75365e21a50eddf7380d1",
      "parents": [
        "925ef34f956cfbc6dfe78cd7d0b82e64d17c261f"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Mon Oct 12 16:34:14 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Nov 12 11:52:47 2015 +0000"
      },
      "message": "Fix Constructor#serializationCopy\n\nAdded new Constructor#newInstanceFromSerialization\nmethod that\u0027s used to implement #newInstance on\nConstructor instances created by the #serializationCopy.\n\n+ Restored ArtField::GetOffset missing DCHECK and\nfixed debug build use of GetOffset to GetOffsetDuringLinking\nin the class_linker.cc.\n\nBug: 24764403\nChange-Id: I74bdf6a850bf9770ec51bf9a4421541d505de8ad\n"
    },
    {
      "commit": "b7802898318f9b7d7e12ac24a225727d9e5909c2",
      "tree": "cb422a09dba964c07b0a47de652f5ffd8bdfc47d",
      "parents": [
        "6c0ea2799f7dc8b8763c07a6e94c23590f6b54b5"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Oct 01 12:34:52 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Nov 12 11:52:47 2015 +0000"
      },
      "message": "Remove bogus reference to HAVE_POSIX_CLOCKS.\n\nThis is no longer defined, and we can assume that POSIX clocks\nare available.\n\nbug: 24556944\n\nChange-Id: I14081aafa29f0fe2f9409307bbfef7d521c02f63\n"
    },
    {
      "commit": "6c0ea2799f7dc8b8763c07a6e94c23590f6b54b5",
      "tree": "ab1e56576d21bef2a91b7daf59f8ae33594c0b75",
      "parents": [
        "d1ef4362bf799f9f5d50e5edef8433664b503051"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Wed Sep 23 08:48:00 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Nov 12 11:52:46 2015 +0000"
      },
      "message": "Sprinkle attribute unused / noreturn wherever necessary.\n\nChange-Id: I32b646edc2617aa7c2f5e3b1fa39d1fcc1f2ab39\n"
    },
    {
      "commit": "d1ef4362bf799f9f5d50e5edef8433664b503051",
      "tree": "59aaa140925efa790f787d5e1caf6d0cafd6ae15",
      "parents": [
        "e4cf5892c2a244034900d49499c071b255571bba",
        "f32e8327da5dd33abe18662fbca5e584cd047816"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Nov 12 11:49:06 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Nov 12 11:52:42 2015 +0000"
      },
      "message": "Merge lmp changes into mnc.\n\nMost merge conflicts are due to changes in the string representation.\nThey have been resolved in favour of \"mnc-dev\" since we\u0027ve changed\nthe string representation there. Other changes relate to the\nfact that there are now two jars in libcore (core-oj and core-libart).\n\nChange-Id: I1fcc6e5f8dab8d1954dcddca0493563e7677d433\n"
    },
    {
      "commit": "f32e8327da5dd33abe18662fbca5e584cd047816",
      "tree": "795726fab7ea9cbd8460721b9fe67728d8f1784b",
      "parents": [
        "c20327a10a63634bd537c43f6ac272e12cb42152"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Wed Oct 07 10:49:18 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Nov 12 10:15:59 2015 +0000"
      },
      "message": "Add Android System#arraycopy fast specializations.\n\nRe-added System#arraycopy specializations that are\nreally fast for small arrays. They were introduced\noriginally in b/7103825.\n\nChange-Id: Ie8c995852810ad555fe73743d4d40ec45d8d6bbe\n"
    },
    {
      "commit": "f83e733618066e3c672c9a7ee872a3bba8202e7f",
      "tree": "24d8185498b808a0bc21eba235e6bbac7a69362b",
      "parents": [
        "5c7c8248e48857f3a7c98a02d93c6971834d7241"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Nov 04 16:16:47 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Nov 11 18:14:04 2015 +0000"
      },
      "message": "Move the trace file out of the profiles folder.\n\n/dalvik-cache/profiles/ is going away. Create the trace file under\n/data/misc/trace.\n\nThis enable tracing without forcing SElinux into permissive mode.\n\nBug: 24698874\nBug: 25612377\nChange-Id: I78d09ef629bebe635c3baabaf88f01996d3333e5\n"
    },
    {
      "commit": "a0cf5a663f19f0392187d349f1832d85f90ab805",
      "tree": "d570b953382bf1e82e343e5a89265d82a867dd4b",
      "parents": [
        "b02d9b7329909cbf741b16faf81616a992a1bd2b"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Sep 07 11:41:37 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Nov 11 15:16:57 2015 +0000"
      },
      "message": "Fix cpplint issues.\n\nChange-Id: I03399f92ce36a69539ee4e0509a884ea0a639ad4\n"
    },
    {
      "commit": "b02d9b7329909cbf741b16faf81616a992a1bd2b",
      "tree": "0ae81302ac7641566bb3100b508454880874df79",
      "parents": [
        "36379fdf339a85cd89d12506d97ecdf582041b16"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Thu Aug 20 15:46:16 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Nov 11 15:16:57 2015 +0000"
      },
      "message": "Add missing JVM_IsNaN function.\n\nChange-Id: If8d41db8c48b94446d079ba10f9c12ab463e5fea\n"
    },
    {
      "commit": "36379fdf339a85cd89d12506d97ecdf582041b16",
      "tree": "ec2965cd72bc6be111e9c71b0001dae3764b24a9",
      "parents": [
        "efea1fc8d8739e58c8b8e70a3b97f2bc9182a59c"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Aug 13 17:33:24 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Nov 11 15:16:57 2015 +0000"
      },
      "message": "Remove signal handling stubs.\n\nNo longer in use.\n\nChange-Id: I5af42541d7fee84f9d10f116645d0632c1e6148f\n"
    },
    {
      "commit": "5c4042222fef6bca942a229a464b233d5ca89a84",
      "tree": "01fd5e81cb2b37d20322a844d54e9c0bc0659d7d",
      "parents": [
        "3c183cec1fb337ed0247ba500c6949063072f565"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Tue Aug 04 13:19:12 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Nov 11 15:16:56 2015 +0000"
      },
      "message": "Fix sun.misc.Unsafe#(get|set)(Float|Double)\n\nUnsafe was suffering from implicity cast from\ndouble/float to int32_t/int64_t in unsafe setters and\ngetters. Fixes few tests.\n\nChange-Id: Ia3ad1b71bc6fd1a0d9fc8e15fdec44497cd73ff5\n"
    },
    {
      "commit": "903ac2791d303e4827aea0c0afaeefe0dc65c621",
      "tree": "4c43dd2e4cf91c38839a96a9e5139b7bc349efc8",
      "parents": [
        "67d39adad3261f3932defef6b2d1d30b470d1be0"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Thu Jul 23 09:30:35 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Nov 09 11:06:45 2015 +0000"
      },
      "message": "Use offset in sun.misc.Unsafe#copyMemoryTo/FromArray\n\nChange-Id: I4b6a89d1949b687d91712c236b31636fe0cde122\n"
    },
    {
      "commit": "67d39adad3261f3932defef6b2d1d30b470d1be0",
      "tree": "e4a01f32fca7aa1608639e12f2fdcd9580e3d114",
      "parents": [
        "5abc6f913bc77aa3b9c05ad07905d4c1c28b2661"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Fri Jul 03 13:54:00 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Nov 09 11:06:45 2015 +0000"
      },
      "message": "Implement JVM_FindLibraryEntry\n\nChange-Id: Ib0a0f877212ecee3b7ca9f14acb199bd7e47ff19\n"
    },
    {
      "commit": "5abc6f913bc77aa3b9c05ad07905d4c1c28b2661",
      "tree": "d0b90304fa8774cc49ecf64e197ff24261d64a55",
      "parents": [
        "84dcb99f3192f6513bdf997fb2a8b956a4f9d834"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Tue Jun 30 11:05:37 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Nov 09 11:06:45 2015 +0000"
      },
      "message": "Add Object::Get/SetField methods for 8 and 16 bit fields.\n\nFor simplicity new methods lack support for transactions.\nThose new netods are used to implement sun.misc.Unsafe.get/set\nmethods for 8/16 bit wide primitives. Those methods are used\nby the java primitive serialization/deserialization methods.\n\nChange-Id: Iaa133b32beac996642f691e1611536f5fd11a260\n"
    },
    {
      "commit": "3ef5f487db4742f0253bb5eb5c53bbdbe4ce2600",
      "tree": "9f07feb1ef9244f774fbad2183850cbe415bbeff",
      "parents": [
        "8e73ea4796c832271cd578727b5834f7a10bc693"
      ],
      "author": {
        "name": "Piotr Jastrzebski",
        "email": "haaawk@google.com",
        "time": "Thu May 07 09:41:00 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Nov 09 10:39:16 2015 +0000"
      },
      "message": "Add an implementation of Constructor.newInstance0.\n\nChange-Id: Id3e67e24fc1da54f52b6d4af2cead71b3d84db7e\n"
    },
    {
      "commit": "8e73ea4796c832271cd578727b5834f7a10bc693",
      "tree": "cac0802dfc430a616fa76ccc8744e353d5627808",
      "parents": [
        "c16a50f4837d6204c0cf6c71129492cb4b86784d"
      ],
      "author": {
        "name": "Piotr Jastrzebski",
        "email": "haaawk@google.com",
        "time": "Thu May 07 09:41:00 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Nov 09 10:35:59 2015 +0000"
      },
      "message": "Implement some more of sun.misc.Unsafe.\n\nChange-Id: If005462fb188472c0177fb95b3045d78536042f9\n"
    },
    {
      "commit": "d7fcf6e23cbfcb87f566dc2ac7092e0021662784",
      "tree": "1a4a3e45eab2b4855f08dd6abc2eb1a0010bcd43",
      "parents": [
        "44095a15349445e87942a728a825bd32ea11be1d"
      ],
      "author": {
        "name": "Piotr Jastrzebski",
        "email": "haaawk@google.com",
        "time": "Tue May 05 12:54:00 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Nov 09 10:32:54 2015 +0000"
      },
      "message": "Unsafe: Add native implementations for new methods.\n\nChange-Id: I9324deffa068d9e5d9e581363cec6c7fae969537\n"
    },
    {
      "commit": "df0b17a474306198b7b0320311496e42d707a00e",
      "tree": "3c8207321f421f2044b0ebd99dc9847c1a2eefb6",
      "parents": [
        "62ce6561cb2d6b4df07c851f4bcbf8ac19ef2e4b"
      ],
      "author": {
        "name": "Piotr Jastrzebski",
        "email": "haaawk@google.com",
        "time": "Fri Apr 24 09:18:00 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Nov 09 10:31:28 2015 +0000"
      },
      "message": "Add an ART implementation of jvm.h\n\nChange-Id: Icce4ec04f614979fbe07ebd2e96399116b5d2afa\n"
    },
    {
      "commit": "35831e8bfa1c0944d4c978d99c4c5b9577945170",
      "tree": "a347ecaf4265a1713c86d528392e162d5edfaebc",
      "parents": [
        "171b12e8060f63cf900ffc43d6db35125f6b8c83"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 11 11:59:18 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 27 15:13:37 2015 +0000"
      },
      "message": "Reduce memory used by CompiledMethods.\n\nUse LengthPrefixedArray\u003c\u003es instead of SwapVector\u003c\u003es to store\nCompiledMethod data and get rid of the unnecessary members\nof CompiledMethod to reduce dex2oat memory usage. Refactor\nthe deduplication from CompilerDriver to a new class.\n\nUse HashSet\u003c\u003e instead of std::set\u003c\u003e for the DedupeSet\u003c\u003e to\nfurther decrease the memory usage and improve performance.\n\nThis reduces the dex2oat memory usage when compiling boot\nimage on Nexus 5 (with Optimizing, -j1) by ~6.75MiB (5%).\nThis also reduces the compile time by ~2.2% (~1.6% dex2oat\ntime; with Optimizing, without -j).\n\nChange-Id: I974f1f5e58350de2bf487a2bca3907fa05fb80ea\n"
    },
    {
      "commit": "00310e0bb4ee541b99f0b687dbf5f706db2aabca",
      "tree": "bbb0bc2f829ed2ce145ca142c85da6181e2cd527",
      "parents": [
        "3ae313d9bc64eaa0c791452dd972654eae979496"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Oct 17 12:46:42 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 19 12:30:45 2015 -0700"
      },
      "message": "Keep dex files live in class table\n\nThe DexFile.loadClass API allows callers to load classes using a\ndex file without having that dex file owned by the specified class\nloader. We now add the dex file to the class table to make sure it\nstays live until the class loader is unreachable.\n\nFixes interpreter gcstress test 087 with 64 bit.\n\nBug: 22720414\nChange-Id: Ia4341149f45b6293312f8b275c7a68cea179f718\n"
    },
    {
      "commit": "4f55fd25111217e37001958b7069fe03292ff1a4",
      "tree": "bbf5555232c04d9dde9ad4198124247a6a767d2a",
      "parents": [
        "bc6cb93b2607e584fccdfe4e05ae74aa94e9e463",
        "d57d454a11ac6f49eaa397ec14d6231e3a2727b7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 15 15:52:53 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 15 15:52:53 2015 +0000"
      },
      "message": "Merge \"Allocate dex cache arrays in their class loader\u0027s linear alloc\""
    }
  ],
  "next": "d57d454a11ac6f49eaa397ec14d6231e3a2727b7"
}
