)]}'
{
  "log": [
    {
      "commit": "185d134a3b43ab7529053e965917e0fa74bceba4",
      "tree": "5d3d0cee3aa4c64fc5f36fd5f648e53f6df984ae",
      "parents": [
        "7233c7e752c0d26387d143ee74420e9cd1f09390"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Aug 11 10:48:03 2016 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Aug 11 13:55:03 2016 -0700"
      },
      "message": "Add basic runtime-plugins support.\n\nThis allows one to pass shared-libraries on the command line that the\nruntime will load as plugins. They have access to runtime code and can\ninstall hooks to add functionality. Currently the only hook they can\ntouch is JavaVMExt::AddEnvironmentHook to register a callback for\nGetEnv(). More hooks might be added in the future.\n\nTest: ./test/run-test 900\nChange-Id: I852b4daf5a3fa71e9888722bc07794632c0e5010\n"
    },
    {
      "commit": "7233c7e752c0d26387d143ee74420e9cd1f09390",
      "tree": "680b4c1fc3fddbe6004156e5e02770223f3f8587",
      "parents": [
        "f2b1529b0988a1722b718fee6911e0030e95c9b6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 28 10:07:45 2016 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Aug 11 13:48:13 2016 -0700"
      },
      "message": "Create a basic agent loading framework.\n\nCurrently we only allow agents to be loaded at runtime startup, though\nthis is expected to change soon.\n\nTest: ./test/run-test --host 900\nChange-Id: Id648eaed4bbbe6fdef41d64922d023a4db0bfa54\n"
    },
    {
      "commit": "c218427ab96e521e0c4e9a3ffeb87e6c57eea0a5",
      "tree": "af38070b0fad716033c005a673a4ae0f7ccd27cc",
      "parents": [
        "45b17187699a938af2cf67fe11848951f2501087",
        "14832efeb92334c562ebedef34e920d30e3cee69"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Aug 10 10:20:49 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 10 10:20:50 2016 +0000"
      },
      "message": "Merge \"Revert experimental lambda feature.\""
    },
    {
      "commit": "14832efeb92334c562ebedef34e920d30e3cee69",
      "tree": "57d10c24966a46ae1c01861ee579ac6000326c45",
      "parents": [
        "c984725d0035e1925371757c38fed339b409e525"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Aug 05 11:44:32 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Aug 09 13:47:49 2016 +0100"
      },
      "message": "Revert experimental lambda feature.\n\nThis is a revert of the following changes :\n\n30c475a2046951a81769c2db0b2dad66cd71e189.\nlambda: Minor capture-variable/liberate-variable clean-up after post-merge reviews.\n\n6918bf13eb855b3aa8ccdddda2d27ae8c60cec56.\nlambda: Experimental support for capture-variable and liberate-variable\n\nfc1ccd740b7c8e96dfac675cfc580122cd1b40a6.\nlambda: Infrastructure to support capture/liberate-variable dex opcodes\n\ne2facc5b18cd756a8b5500fb3d90da69c9ee0fb7.\nruntime: Add lambda box/unbox object equality\n\n2ee54e249ad21c74f29a161e248bebe7d22fddf1.\nruntime: Partially implement box-lambda and unbox-lambda experimental opcodes\n\n158f35c98e2ec0d40d2c032b8cdce5fb60944a7f.\ninterpreter: Add experimental lambda opcodes for invoke/create-lambda\n\na3bb72036f5454e410467f7151dc89f725ae1151.\nAdded format 25x to dexdump(2).\n\nPlus surrounding cleanups.\n\nTest: make test-art\nChange-Id: Ic6f999ad17385ef933f763641049cf721510b202\n"
    },
    {
      "commit": "5dd44d0da7999ab62f09a1bf03345280811736d4",
      "tree": "18dc0029caf5791b0bf831dcc6e38f623fe14eb4",
      "parents": [
        "20b975cc5c5a1f4e6f0a8e525b5d2e63abc413df"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 02 17:20:03 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 04 18:19:02 2016 -0700"
      },
      "message": "ART: Factor out native stack dumping\n\nMove DumpNativeStack and DumpKernelStack into a new file to keep\nconcerns separated. Clean up the file.\n\nIn preparation for modifications to how we use addr2line.\n\nBug: 30351473\nTest: m test-art-host\nTest: manual host testing with a test that times out\nChange-Id: I02d5645952fe94fd8e73bcf0522721547f6cef66\n"
    },
    {
      "commit": "542451cc546779f5c67840e105c51205a1b0a8fd",
      "tree": "11e09bb5abaee12dddffefbe7e425291076dfa7a",
      "parents": [
        "85c4a4b8c9eabfe16e4e49f9b4aa78c1bf4be023"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 26 09:02:02 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 01 18:54:48 2016 -0700"
      },
      "message": "ART: Convert pointer size to enum\n\nMove away from size_t to dedicated enum (class).\n\nBug: 30373134\nBug: 30419309\nTest: m test-art-host\nChange-Id: Id453c330f1065012e7d4f9fc24ac477cc9bb9269\n"
    },
    {
      "commit": "56fe25895e91d34a0a017429468829a20bdd5ae4",
      "tree": "b000aa1b4a54360db45436a9df872b034e36d79f",
      "parents": [
        "dc4f4d42aa1712a7ac2e4c24c0aebe58b71ae2c0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 14 13:30:03 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 20 18:05:30 2016 -0700"
      },
      "message": "Add a way to measure read barrier slow paths\n\nIf enabled, this option counts number of slow paths, measures the\ntotal slow path time per GC and records the info into a histogram.\nAlso added support for systrace to see which threads are performing\nslow paths.\n\nAdded runtime option -Xgc:measure to enable. The info is dumped\nfor SIGQUIT.\n\nTest: Volantis boot with CC, test-art-host with CC, run EEAC with CC\nand -Xgc:measure\n\nBug: 30162165\n\nChange-Id: I3c2bdb4156065249c45695f13c77c0579bc8e57a\n"
    },
    {
      "commit": "138dbff9246c89ac9fbe0b086b54fdab3f4451fb",
      "tree": "07afe983b3892505d4a5bdd3b3bdd5fe126e76c7",
      "parents": [
        "be84b59e802d9176a9b60b040e0be6bda54e958a"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jun 28 19:36:58 2016 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jun 29 14:31:30 2016 +0100"
      },
      "message": "Clean up profiler options\n\n- remove obsolete options\n- using ProfileSaverOptions instead of hard-coded values in the profile\nsaver\n\nBug: 24698874\nChange-Id: I4ff535d29a644d1bd5509844f89615b70a723749\nTest: cmdline_parser_test, gtest and run-tests pass.\n"
    },
    {
      "commit": "be84b59e802d9176a9b60b040e0be6bda54e958a",
      "tree": "9a4fd41bef42a5487581244f74c4c41f6abd2730",
      "parents": [
        "9822f6b81f7e8cb31d6ff8a1b60fe15fa9d439a8"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Jun 23 17:09:13 2016 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jun 28 14:01:25 2016 +0100"
      },
      "message": "Remove the old obsolete profiler\n\nBug: 24698874\nTest: all the existing run-tests pass.\nChange-Id: I56d25c75541275512a64ae5708569461b875df9c\n"
    },
    {
      "commit": "37d6a3bbf5826abb73f872ed0bc4c6ae9553e274",
      "tree": "0fbe5fda78e251597f909f654014f2c25efa62e5",
      "parents": [
        "739dc72773c5dee583a1d322f91b5abd61f9889d"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Jun 21 18:30:10 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Jun 22 15:39:07 2016 -0700"
      },
      "message": "Support the -i flag in the new dexdump.\n\nRationale:\nThe old dexdump supported the -i feature (ignore checksum failures).\nThis CL adds the same functionality to the new dexdump. Note that\nthis feature is, for example, useful to inspect DEX files that are\nextracted from images (with quickened instructions), since the\nchecksum is not always valid in those cases.\n\nBUG\u003d29548017\n\nChange-Id: I6017b2f3d789f450560b568297f43c62bf9453b1\n"
    },
    {
      "commit": "f711f2cf3c28dfe865e36f17419a16f06a0ebb5a",
      "tree": "3657d68b2a2fb67f4919cb97ca279cf9310224e9",
      "parents": [
        "bbfa42aa4c4b5cbc2ed2d8bdea6ff76da615a8aa"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon May 23 12:29:39 2016 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu May 26 13:24:54 2016 -0700"
      },
      "message": "Partial fragment deoptimization\n\nWe used to do either single frame deoptimization, or full fragment\ndeoptimization which deoptimizes all the frames in a fragment.\nThis change allows some methods to be not deoptimizeable, likely due\nto some kind of optimization. So we need another deoptimization mode\nthat unwinds partial fragment. Deoptimizations are now generalized into\neither full or partial fragment. A full fragment deoptimization will\ndeopt all frames in the fragment, and then returns from the invoke stub\nto enter interpreter. A partial fragment deoptimization will deopt a\nsingle frame, or all frames up to the method that\u0027s not deoptimizeable,\nand then jumps to the interpreter bridge.\n\nCurrently code not deoptimizeable is the code in boot image since the\ncode may not be compiled with debuggable flag.\n\nBug: 28769520\nChange-Id: I875c694791cc8ebd5121abcd92ce7b0db95aca38\n"
    },
    {
      "commit": "f0192c86a58b2f43378c9a2113007538dd38ddbf",
      "tree": "df3fef8e9ccd30152819e893e6212ce45b5f51a5",
      "parents": [
        "783d02e527107e91880f12bddf41afd313919132"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Mar 28 20:39:50 2016 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue May 17 11:08:41 2016 -0700"
      },
      "message": "Support to pass \u003cuses-library\u003e option through to dex2oat.\n\nThis change takes an app\u0027s shared libraries specified by \u003cuses-library\u003e\nand passes it through to dex2oat to be used during compilation.\n\nPart of a multi-project change.\n\nBug: 26880306\n\n(cherry-picked from commit 26e8a2f150cd7f7195a10650ab8a5b6fa5014bc8)\n\nChange-Id: I72a352abdfc37eacd8bedfa6c218e3809ca8e39c\n"
    },
    {
      "commit": "a2b147eaf72c5af23302a382620360b4cac28934",
      "tree": "eb0876d95dda8f278237ad50f6c1cca4ca84c993",
      "parents": [
        "af4bcdf49e014ededa9e71e425dac761697dac8d"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Thu May 12 14:55:48 2016 +0100"
      },
      "committer": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Fri May 13 13:21:45 2016 +0100"
      },
      "message": "Ensure that java.lang.reflect.Field is initialized\n\nRecent change in libcore (a move of clinit code\nto register function for java.net.InetAddress\nclass) was triggering a failure in 119-noimage-patchoat\ntest. Failure was occurring when the test was running\nwithout the image. This was caused by the\njava.lang.reflect.Field not being initialized when\nrunning InetAddress.\u003cclinit\u003e, which is a side effect\nof calling JNIEnv-\u003eGetMethodId inside the libcore JNI_OnLoad.\n\nThis changes makes sure that this class is initialized\nwhen we\u0027re running without image.\n\nBug: 28153851\nChange-Id: I8aeb5eb312a163c452c40b851112544a8340e488\n"
    },
    {
      "commit": "f4b3487ee77e3c2e3d5372ae9e857cd3429bb808",
      "tree": "b48ab16dec4e8d1deab6556788f9a5fe2b62f77a",
      "parents": [
        "a6513729ae2ad0d2f9dd21d77ea6cf9ed9fa6eef"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Apr 13 11:03:46 2016 -0700"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue May 03 12:22:39 2016 -0700"
      },
      "message": "Remove -XOatFileManagerCompilerFilter argument.\n\nInstead use the value of \u0027-Xcompiler-option --compiler-filter\u003dXXX\u0027 for\nthe target compiler filter to use to determine if the runtime should\ntry to invoke dex2oat when oat files are loaded.\n\nBug: 27641809\nChange-Id: I1856e0e37df91835b81105567c70d8a285a88f62\n"
    },
    {
      "commit": "de604a2d6e69f5a7de10ca4876c758658879124d",
      "tree": "62922ade4d527f71281bcfebda940d97d06c828e",
      "parents": [
        "945dc321df3e69bb59c834f6399d34bbfd624e5c",
        "f39f0097c5cb6f9413f5df0558ffb24bc3221d41"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Apr 29 11:47:50 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 29 11:47:50 2016 +0000"
      },
      "message": "Merge changes I96464d76,Id5e77316,Icb42a081,I68afc181,I82094e46\n\n* changes:\n  Fix how the ProfileSaver thread attaches to the runtime.\n  Fix -Xint and -Xusejit interaction\n  Add command line option for jit invoke transition weight\n  Split profile recording from jit compilation\n  Allow the framework to register sensistive threads to the runtime\n"
    },
    {
      "commit": "91288d8f03b9aab28b61a4a76e552ad7e0c15c8b",
      "tree": "f4d7265c8e96375905da749f858672b37580e596",
      "parents": [
        "d23d7d145c86975acbcc75505b8a323337066ac0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 28 09:44:54 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 28 15:18:24 2016 -0700"
      },
      "message": "Revert \"Revert \"Write conflict tables in image\"\"\n\nAdded test.\n\nBug: 27906566\n\nThis reverts commit 8e2478d23e89a7022c93ddc608dcbba7b29b91e6.\n\n(cherry picked from commit cdca476bf3394ce9d97a369e84e701b427009318)\n\nChange-Id: Ia94fc7acc7ae3879921c4e8d0a02b156037ac286\n"
    },
    {
      "commit": "d23d7d145c86975acbcc75505b8a323337066ac0",
      "tree": "a62d4397dd54fa1ee65ce870e3c0b0b965f43868",
      "parents": [
        "85e47976a483844177eb486d6e501fa070fbe6e2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 27 21:03:42 2016 +0000"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 28 15:18:10 2016 -0700"
      },
      "message": "Revert \"Write conflict tables in image\"\n\nSome strange issues on angler.\n\nThis reverts commit cda9386add68d94697449c6cb08b356747e55c21.\n\n(cherry picked from commit 8e2478d23e89a7022c93ddc608dcbba7b29b91e6)\n\nChange-Id: Iffd25c5fb732ff72b58c787c107dc33c56f8c8d4\n"
    },
    {
      "commit": "af36e4996abd11e91faf0bb8bcd45696321b2c5d",
      "tree": "19eeec0e0ffc89cf6c6cfb29f099f8d21eb15a45",
      "parents": [
        "155ff3d1c59c0f88993559b0b9bd639f7e32f048"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Apr 27 18:50:45 2016 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Apr 28 16:31:14 2016 +0100"
      },
      "message": "Fix -Xint and -Xusejit interaction\n\n- don\u0027t allow interpret and jit compilation at the same time\n- make sure we -Xsaveprofileinfo works with -Xint.\n\nBug: 27916886\n\n(cherry picked from commit 6caaa84947d5d207cde511978db327d95226e3ce)\n\nChange-Id: Id5e7731653b322c25329b031561cfe150eb66522\n"
    },
    {
      "commit": "ffc87076dda9878cb2cc098149bae441d38b9268",
      "tree": "e587208d6a8e62532792add3e1ace6b4e6d73e0f",
      "parents": [
        "97cbc9206e9adc473a90650ebdb5d620f517ff04"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Apr 20 14:22:09 2016 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Apr 28 16:15:04 2016 +0100"
      },
      "message": "Split profile recording from jit compilation\n\nWe still use ProfileInfo objects to record profile information. That\ngives us the flexibility to add the inline caches in the future and the\nconvenience of the already implemented GC.\n\nIf UseJIT is false and SaveProfilingInfo true, we will only record the\nProfileInfo and never launch compilation tasks.\n\nBug: 27916886\n\n(cherry picked from commit e5de54cfab5f14ba0b8ff25d8d60901c7021943f)\n\nChange-Id: I68afc181d71447895fb12346c1806e99bcab1de2\n"
    },
    {
      "commit": "97cbc9206e9adc473a90650ebdb5d620f517ff04",
      "tree": "bef15a43a1c3f3dc2639f156aeea40d95763258e",
      "parents": [
        "85e47976a483844177eb486d6e501fa070fbe6e2"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Apr 15 16:16:35 2016 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Apr 28 16:12:33 2016 +0100"
      },
      "message": "Allow the framework to register sensistive threads to the runtime\n\nBug: 27865109\nBug: 28065407\n\n(cherry picked from commit 8fff24953c78bd58f3a42ac83b340b90e7e7228a)\n\nChange-Id: I82094e46a2fd12617e091d98831193f9ff56d26b\n"
    },
    {
      "commit": "e42888f9df4163303244070c65d5229d3e201742",
      "tree": "c3c3e380ed16676186040f1da6042fc2cd58e041",
      "parents": [
        "7f98c9a6babe3a21d84ce1f1e1273c99975a47f5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 14 10:49:19 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 27 12:45:30 2016 -0700"
      },
      "message": "Write conflict tables in image\n\nAdd image sections for runtime methods and conflict tables. This\nmakes it that we do not need to fake up a length prefixed array\nfor runtime methods.\n\nReduces .art private dirty and PSS.\n\nSystem wide .art PSS goes from 32.5MB to 30.5MB after system boot.\n\nBusiness card .art private dirty goes from 588K to 504K.\n\nIncreases image size by ~100K.\n\nBug: 27906566\n\n(cherry picked from commit cda9386add68d94697449c6cb08b356747e55c21)\n\nChange-Id: I38cbe3150c3eeb385b8cad7cf93614e3980f4162\n"
    },
    {
      "commit": "bb661c0f0cb72d4bbfc2e251f6ded6949a713292",
      "tree": "4fe7e66f3385b1955934d3ec6f02e00bde6e13b8",
      "parents": [
        "f7cda8088ec57ab1422f85f08df78e217a9f7094"
      ],
      "author": {
        "name": "Bilyan Borisov",
        "email": "bilyan.borisov@linaro.org",
        "time": "Mon Apr 04 16:27:32 2016 +0100"
      },
      "committer": {
        "name": "Bilyan Borisov",
        "email": "bilyan.borisov@linaro.org",
        "time": "Fri Apr 22 13:33:30 2016 +0100"
      },
      "message": "Refactor use of __ANDROID__ macro\n\nWe use the __ANDROID__ macro, which is provided by the toolchain, in\nnumerous places. This patch refactors the usage of this by defining a\nnew macro, ART_TARGET_ANDROID, that is being passed during build to\nART_TARGET_CFLAGS in Android.common_build.mk on the same line as\nART_TARGET. The codebase currently assumes that the existence of the\n__ANDROID__ macro implies that we are compiling art for an android\ntarget device. This is because, currently, target builds are compiled\nwith target toolchains that provide the macro, while host toolchains\ndo not.  With this change this assumption is still preserved. However,\nin a future patch we will add the ability to compile art for a linux\ntarget, and in that case the ART_TARGET_ANDROID macro won\u0027t be passed\nanymore.\n\nChange-Id:  I1f3a811aa735c87087d812da27fc6b08f01bad51\n"
    },
    {
      "commit": "274fe4adcb0610a9920be7814d9beb9cac6417ce",
      "tree": "4a5c41dd2568869ceaf0a510e37065a606f512fb",
      "parents": [
        "6990775e323cd9164d6cc10955a047b9d9f15f32"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 12 16:33:24 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 13 17:34:53 2016 +0100"
      },
      "message": "Remove the JIT from the instrumentation framework.\n\nThis was slowing down the interpreter for no reason.\nAlso, call AddSamples for invoke-static and invoke-direct.\n\nChange-Id: I7b5641097f7741dd32feb1ce6af739fd27fb37c2\n"
    },
    {
      "commit": "b2771b41a956b50266d4d83fbb067f99faf7b7dc",
      "tree": "797b73b8b97c496938a9f6bc498d75911b1ff3c9",
      "parents": [
        "f9eed16e175f8c7cb37d878acc772d653b07101e"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Apr 07 17:09:25 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 13 12:42:29 2016 +0100"
      },
      "message": "Add option to tune sample collection based on thread sensitivity\n\nBug: 28065407\nBug: 27865109\n\nChange-Id: Icdb89f8f8874a41c07e73185523d18e8956620d3\n"
    },
    {
      "commit": "f38a6618b453b76a3370bbf6b351971687099388",
      "tree": "b958345de0a1b0d789985a74df6e1b9ca4e106dd",
      "parents": [
        "336dd6a0989dafb356be5f689028d983b0931335"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 11 08:42:26 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 12 14:18:51 2016 -0700"
      },
      "message": "ART: Flag to fail thread creation\n\nAdd a flag to mark when the zygote is not allowed to create threads.\n\nBug: 27248115\nBug: 28149511\n\n(cherry picked from commit 415d8070e37c20dfb7e6dc37e74fdb5fffc2022e)\n\nChange-Id: I1dc3620d9e7d0054c672b993d89459fc4b353dfc\n"
    },
    {
      "commit": "1133db79350060158f99210c56f111c6dad43563",
      "tree": "c84b4ae2df13a32539645c0904f08c874c20ae31",
      "parents": [
        "a07be75830af60ce50aba357e8de066e849aa21c"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Apr 04 19:50:14 2016 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Apr 04 19:50:14 2016 -0700"
      },
      "message": "Remove AnnotationAccess and its remaining uses.\n\nArt side of this change. Adds a test to ensure annotations not marked\nfor runtime retention can\u0027t be seen at runtime.\n\nBug: 27912552\nChange-Id: I078069b7b3cb72bfe7d0b9ea61e527fee04d56a3\n"
    },
    {
      "commit": "cac5a7e871f1f346b317894359ad06fa7bd67fba",
      "tree": "2df7d4892216a7c976dfe848c9893cb5eb8fa6a5",
      "parents": [
        "6f51d7756a9c66007fe7666b19399e1f60ff6092"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 22 10:39:50 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 29 19:27:40 2016 +0100"
      },
      "message": "Optimizing: Improve const-string code generation.\n\nFor strings in the boot image, use either direct pointers\nor pc-relative addresses. For other strings, use PC-relative\naccess to the dex cache arrays for AOT and direct address of\nthe string\u0027s dex cache slot for JIT.\n\nFor aosp_flounder-userdebug:\n  - 32-bit boot.oat: -692KiB (-0.9%)\n  - 64-bit boot.oat: -948KiB (-1.1%)\n  - 32-bit dalvik cache total: -900KiB (-0.9%)\n  - 64-bit dalvik cache total: -3672KiB (-1.5%)\n    (contains more files than the 32-bit dalvik cache)\nFor aosp_flounder-userdebug forced to compile PIC:\n  - 32-bit boot.oat: -380KiB (-0.5%)\n  - 64-bit boot.oat: -928KiB (-1.0%)\n  - 32-bit dalvik cache total: -468KiB (-0.4%)\n  - 64-bit dalvik cache total: -1928KiB (-0.8%)\n    (contains more files than the 32-bit dalvik cache)\n\nBug: 26884697\nChange-Id: Iec7266ce67e6fedc107be78fab2e742a8dab2696\n"
    },
    {
      "commit": "c1bc4150415686e6240343c7345c49d80e351df3",
      "tree": "956d642a2b8d885dcea3c468d442145300af2851",
      "parents": [
        "af8e71d59b0ab5e79f53a608b62b3618e36e6a98"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 24 17:22:52 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 24 18:45:16 2016 -0700"
      },
      "message": "Only call jit_load after the zygote fork\n\nOtherwise we always get that enable_debug_features is false since\nthat flag passed as a compiler option post zygote fork.\n\nNo significant change to libart-compiler PSS on calculator.\n\nBug: 27810774\n\n(cherry picked from commit b10cef442594dd0d6c5f1a5784643931a25cc431)\n\nChange-Id: Ie50668ba05ad07a5cf046497959f6d27e09f8fe2\n"
    },
    {
      "commit": "72918ea854d182ef25b2352bfe1c46c1e916a141",
      "tree": "b2f351c0718920bd385df88c57c7248448a4c1be",
      "parents": [
        "42cd3cb6379fe3faf078dcce98610e90155bc8e0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 24 11:07:06 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 24 13:06:25 2016 -0700"
      },
      "message": "Load jit compiler pre zygote fork\n\nReduces PSS for libart-compiler.so from 115KB to 2KB per app.\n\nAlso some clean-up.\n\nBug: 27810774\n\n(cherry picked from commit ff2376770c1c6d301778c41e5c27c808a38e6968)\n\nChange-Id: Ic0077a07c21ed9f1952a6c29863a5c0e5bacc01a\n"
    },
    {
      "commit": "29d38e77c553c6cf71fc4dafe2d22b4e3f814872",
      "tree": "92f34f589af205af56189d221ded293234935c26",
      "parents": [
        "2e89e901b9f303549f3ba64e45d87292e9c986c8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 23 15:31:51 2016 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Mar 23 11:30:29 2016 -0700"
      },
      "message": "Revert \"Revert \"Use compiler filter to determine oat file status.\"\"\n\nThis reverts commit 845e5064580bd37ad5014f7aa0d078be7265464d.\n\nAdd an option to change what OatFileManager considers up-to-date.\nIn our tests we\u0027re allowed to write to the dalvik-cache, so it\ncannot be kSpeed.\n\nBug: 27689078\nChange-Id: I0c578705a9921114ed1fb00d360cc7448addc93a\n"
    },
    {
      "commit": "40c68c690546e8c15dcb2de6137e72c74f573a75",
      "tree": "ec74da146d809e87b388d8d8a1c5241d4dab694c",
      "parents": [
        "3920099f578fd8015777bc3c1c7392a08b1e08e7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 23 16:35:51 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 23 16:35:51 2016 +0000"
      },
      "message": "Fix dex2oat/oatdump cross-compilation.\n\nOnly set the ImtConflictTable when not in AOT, to not mess up\nwith the image.\n\nChange-Id: I8f2926ad30dc913d61b0c8957affc25fc8056ada\n"
    },
    {
      "commit": "796d63050a18f263b93ea34951a61deaecab3422",
      "tree": "813865c31b25ac06006e4ee3932b4e918c708c9b",
      "parents": [
        "eecf60d51b481647c8508f22b3d6ce437773ea0c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Mar 13 22:22:31 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 22 15:17:58 2016 +0000"
      },
      "message": "Add an ImtConflictTable to better resolve IMT conflicts.\n\n- Attach a ImtConflictTable to conflict runtime ArtMethod.\n- Initially 0, a new one will be created at the first hit of\n  the conflict method.\n- If the assembly code does not find a target method in the table,\n  we will create a new one again, copying the data from the previous\n  table and adding the new mapping.\n\nImplemented for arm/arm64/x86/x64.\n\nbug:27556801\nbug:24769046\n\nChange-Id: Ie74d1c77cf73d451a1142bdc5e3683f9f84bb4e7\n"
    },
    {
      "commit": "a373a33d33b8a5b4fd0d4c35645e2e4353ebde9b",
      "tree": "e739e5fe6f2f034edd91312b316c8dddd1352503",
      "parents": [
        "e2aad5d8dba805e510476ded22737a2adffbef72",
        "c6b1b93f47f5694025b35e8417112b303091dc7c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 22 11:09:36 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 22 11:09:37 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Enable compilation of secondary dex files\"\"\""
    },
    {
      "commit": "c6b1b93f47f5694025b35e8417112b303091dc7c",
      "tree": "51dfd67b5d08142da7b8024faacf20104b2e8402",
      "parents": [
        "d98a52f0bc6c58e8e538de8335ab9bcb6ae73aa7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 22 09:52:40 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 22 09:52:40 2016 +0000"
      },
      "message": "Revert \"Revert \"Enable compilation of secondary dex files\"\"\n\nBug: 26719109\n\nThis reverts commit d98a52f0bc6c58e8e538de8335ab9bcb6ae73aa7.\n\nChange-Id: I523675eb6d647fe773dd57b6e1cc398927bb066e\n"
    },
    {
      "commit": "f8cb1781a4e4be5df1f845206f7b37ed89092b64",
      "tree": "ce2c717d6a99a18f66deace5575357c746f4e2ea",
      "parents": [
        "162629ee8ac0fee2df0c0cdec27dff34bc6f0062"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 18 18:45:41 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 21 11:41:33 2016 -0700"
      },
      "message": "Move process state into runtime\n\nClean up.\n\nBug: 27420435\n\n(cherry picked from commit f8484c8b55f4b423048f94dfabbe44110a039a9b)\n\nChange-Id: Ia20781ee36e6a31c88ca41d3866b26813cff434d\n"
    },
    {
      "commit": "e9e98f12eb5dbe81db90d56c65c8872cabaa855d",
      "tree": "ac547775549ac52c77739b6c6d7f496bf3fa288d",
      "parents": [
        "7f3397bec51bdeb7dfe76a17ea9d3279ddf79345",
        "f448016e70fa91269d3750384aab1ac98d7896fd"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Mar 17 20:24:29 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 17 20:24:30 2016 +0000"
      },
      "message": "Merge \"Do not JIT boot image during native-debugging (keep AOT code instead).\""
    },
    {
      "commit": "04680f3d7b021a0afb460266d442f564186a3b6f",
      "tree": "47acec9c78b982555e7a4fdfa2c685ded0d46a76",
      "parents": [
        "0205b58a0d7a9ce5832393857c19c086c78996e9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 17 11:56:54 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 17 13:51:47 2016 +0000"
      },
      "message": "Dump oat file information as part of DumpForSigQuit.\n\nChange-Id: Ie8d256d8fa16565105cfe5c39cc96826983469da\n"
    },
    {
      "commit": "f448016e70fa91269d3750384aab1ac98d7896fd",
      "tree": "9bb4414c763d13c2e178472d3bf1ee73bce97392",
      "parents": [
        "8e57978b5f330a322f05644c2db7fa8ce89b1b46"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Mar 16 00:06:24 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Mar 17 11:54:49 2016 +0000"
      },
      "message": "Do not JIT boot image during native-debugging (keep AOT code instead).\n\nThe performance impact is currently significant and being able\nto debug framework is not our primary goal for native debugging.\n\nChange-Id: I3366c2a6317004f9dd16700b271a6c9b974f1c6e\n"
    },
    {
      "commit": "db1f7dac02f6dcecac3e032f10abbcdbf3cf4331",
      "tree": "ce075b131513e65de9354001a37ba90f3a2b6787",
      "parents": [
        "e848c29bb35d91f23bb6f52712aa7f2dff342ea0",
        "a1425a1c9c98ae3fc772834933a5d55566fb5699"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 17 01:03:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 17 01:03:54 2016 +0000"
      },
      "message": "Merge \"ART: Remember whether the cache was pruned\""
    },
    {
      "commit": "0cb11c3dc6c3e7c3521b49ab0be9138c60037eba",
      "tree": "faae3886e98a34af6a323a9572ad6def1961fa50",
      "parents": [
        "914d71ead70bb6f2084b2ed39a9fd58fd014f67d"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Mar 16 15:11:15 2016 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Mar 16 15:12:38 2016 +0000"
      },
      "message": "runtime: delete native/java_lang_Runtime.h.\n\nNow unused, except for an unnecessary include.\n\nbug: 27387202\nChange-Id: Ie77dc0da156a64e8ea03af1878b44d20c16c5ae5\n"
    },
    {
      "commit": "5f97157263d1b52bf4aea523b28294b21d694da1",
      "tree": "46a2a5102b97f4bb0711c721e3580606f3bde093",
      "parents": [
        "5681b6638b0001c62d02795b0853e2e82787edf1"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Mar 15 14:47:29 2016 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Mar 15 15:20:00 2016 +0000"
      },
      "message": "runtime: delete native/java_lang_Runtime.cc\n\nWe\u0027re now using Runtime.c from ojluni, which does the same set\nof things via the JVM interface. This removes unnecessary duplication\nof code between Runtime.cc and OpenJdkJvm.cc.\n\nAlso includes a few changes to JVM_NativeLoad to bring it in sync\nwith the version in Runtime.cc.\n\nbug: 27387202\nChange-Id: I92aac81d131661aca588e352aee7a167593e17d4\n"
    },
    {
      "commit": "a1425a1c9c98ae3fc772834933a5d55566fb5699",
      "tree": "46afe5a4d47aa2979b2eca89f834f6c90c94c61b",
      "parents": [
        "5681b6638b0001c62d02795b0853e2e82787edf1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 11 17:44:04 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 15 07:58:07 2016 -0700"
      },
      "message": "ART: Remember whether the cache was pruned\n\nRemember (and expose) whether the cache was pruned when initializing\nthe runtime.\n\nBug: 27618311\n\n(cherry picked from commit 7ef1b4b20bd7cf485f5e443927c1e6fa797a0439)\n\nChange-Id: I178d18d731a9dce5cb11ed0874c9c9c9d36d7d8e\n"
    },
    {
      "commit": "0b4cbd0c2a75b47ae09d21e5d73d2b1709cb5b9e",
      "tree": "72572a01a181c12272a5570ae8b4d41e9ef553f8",
      "parents": [
        "c3214fbb66b5f4c436c44d027df5046c803f6432"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Mar 08 16:49:58 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 14 17:07:11 2016 -0700"
      },
      "message": "Add oatdump support for app images\n\nExample usage on host:\noatdumpd --app-oat\u003dart/plus32.odex --app-image\u003dart/plus32.art\n--image\u003dart/oats/system@framework@boot.art --instruction-set\u003darm\n\nTODO: Add to oatdump test.\n\nBug: 27408512\nBug: 22858531\n\n(cherry picked from commit bcb6a72569a1401b36a3ad3b6aa4d13e29966cf0)\n\nChange-Id: I9d1aa7eaa16795e5fbabc6974d245849e16b1d03\n"
    },
    {
      "commit": "e70cda6147e2e49384a219b167a6c734a8db28f5",
      "tree": "ea627d88f7423c50b0ba7d2627c09f970a86f91f",
      "parents": [
        "14cc147fbd09d5ef0ba5c724a7287ac6770ae330",
        "d98a52f0bc6c58e8e538de8335ab9bcb6ae73aa7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 14 15:54:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 14 15:54:55 2016 +0000"
      },
      "message": "Merge \"Revert \"Enable compilation of secondary dex files\"\""
    },
    {
      "commit": "d98a52f0bc6c58e8e538de8335ab9bcb6ae73aa7",
      "tree": "4490895063571fb10eac32ba0b4a2a5b8a749c14",
      "parents": [
        "770b39eb564ec16c672ace83515535b055edb2b1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 14 15:54:39 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 14 15:54:39 2016 +0000"
      },
      "message": "Revert \"Enable compilation of secondary dex files\"\n\nReverting until we fix the buildbot failures on jdwp and libcore.\n\nBug: 26719109\n\nThis reverts commit 770b39eb564ec16c672ace83515535b055edb2b1.\n\nChange-Id: Ifba366d2ddc9311737b6ea29c007475a40cc803f\n"
    },
    {
      "commit": "fb8932eec4c09c34dfe759ba151e751293245c0d",
      "tree": "c4691de9880d423d14e08d9a03882a7292ae8c77",
      "parents": [
        "971c69db916d66096dccd481df621cee7147d20c",
        "770b39eb564ec16c672ace83515535b055edb2b1"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Mar 14 11:38:24 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 14 11:38:24 2016 +0000"
      },
      "message": "Merge \"Enable compilation of secondary dex files\""
    },
    {
      "commit": "770b39eb564ec16c672ace83515535b055edb2b1",
      "tree": "51dfd67b5d08142da7b8024faacf20104b2e8402",
      "parents": [
        "f529e9bc50abb507e75ac425f6333b2406d405af"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 09 17:17:03 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 09 17:17:03 2016 +0000"
      },
      "message": "Enable compilation of secondary dex files\n\nDexClassLoader should be allowed to compile the secondary dex files if\nneeded. Adding interpret-only flag when using JIT prevented that.\n\nNote that primary apks are loaded with a PathClassLoader and which\nshould not attempt to compile the dex files.\n\nBug: 26719109\nChange-Id: I29323bc48160c3c70fea4244e502e43a4b0a678c\n"
    },
    {
      "commit": "87aa99c261a7921e28fbe6136197bb640ddef4a4",
      "tree": "4ce329a356f3289cdcee9b64a1b911d7b25a2590",
      "parents": [
        "a9778b24bfb8007f20caff7a082e8b4531a14dae",
        "c90bc92bc577020ff4d3caced4cee1cdf41fa5de"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 09 11:57:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 09 11:57:24 2016 +0000"
      },
      "message": "Merge \"Record foreign dex files loaded by the app in the profile\""
    },
    {
      "commit": "32ce2adefb8a3d0eda59a29f5e87c1eb43eef796",
      "tree": "50aaa40b31ede355359765259edc7989485cc7d5",
      "parents": [
        "c71dc3852edfa8e0cd2083d12845ff8607e189ff"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 04 14:58:03 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 04 18:37:19 2016 -0800"
      },
      "message": "Add more systracing everywhere\n\nAdded to:\nJIT\nDexFile functions\nOat file manager\n\nAdded helper ScopedTrace to prevent errors and reduce excess code.\n\nBug: 27502458\n\n(cherry picked from commit dabdc0fe183d4684f3cf4d70cb09d318cff81b42)\n\nChange-Id: Ifaeff8913d79eefc797380987d13cc00456266f8\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": "c90bc92bc577020ff4d3caced4cee1cdf41fa5de",
      "tree": "1a10edfaecfe09cb07b61857a4e22a50cda04047",
      "parents": [
        "f9f3c5b0ebacbfed59af9c5c81fe9752e6b1258c"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Feb 24 10:13:09 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 02 13:04:21 2016 +0000"
      },
      "message": "Record foreign dex files loaded by the app in the profile\n\nA foreign dex file is a file which is not owned by the app\n(it\u0027s not part of its code paths or its private data directory).\n\nWhen such a dex file is loaded by the app, the runtime will record\na marker in a dedicated profile folder (foreing_dex_profile_path).\nThe marker is just a file named after the canonical location of the\ndex file where \u0027/\u0027 is replaced by \u0027@\u0027.\n\nThe markers will be used by the system server system server to\ndecide if the apk should be fully or profile guide compiled.\n\nBug: 27334750\nBug: 26080105\n\n(cherry picked from commit 86a9ebe4197e963249ffbbaa1830da97ed642fa5)\n\nChange-Id: I8be1fd4d854fa1e23c3c1054c9c083ad7b27317b\n"
    },
    {
      "commit": "25e0456b6ea13eba290b63ea88b6b7120ed89413",
      "tree": "212c7433997a9e498ce68136ab511ae366e983e9",
      "parents": [
        "47bce25b3eaf5c0e1d46f0555eaf4676f958a7a7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 01 13:17:58 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 01 13:17:58 2016 +0000"
      },
      "message": "Give the JIT its own arena pool to avoid lock contentions.\n\nSharing it with the verifier and the class loader is not ideal,\nespecially at startup time.\n\nbug:27398183\nbug:23128949\nChange-Id: I1b91663a13f6c5b33ad3b4be780d93eb7fe445b4\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": "c66577ece35b73250f2078d8d59ac661a95a63d0",
      "tree": "927de986fc4eeb270428a07fda91569c09ac6abe",
      "parents": [
        "ea9fc5bd31781fb380ace74ccddf2137c7dcc5d9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 25 08:50:50 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 25 08:50:50 2016 +0000"
      },
      "message": "Revert \"Preload public libraries on Runtime::Start()\"\n\nBreaks anyone not working on up-to-date devices/trees. I\u0027ll work on a revert of the revert.\n\nBug: http://b/27245894\n\nThis reverts commit ea9fc5bd31781fb380ace74ccddf2137c7dcc5d9.\n\nChange-Id: Ie8fc286a64de4db2c905502a528005022803ed94\n"
    },
    {
      "commit": "ea9fc5bd31781fb380ace74ccddf2137c7dcc5d9",
      "tree": "f75edd10a60aab5b7c1ac1bf210b35cd2913d425",
      "parents": [
        "4e4e64511e530db37b33f450016afe49db3c4b20"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Feb 22 14:26:48 2016 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Feb 24 16:42:50 2016 -0800"
      },
      "message": "Preload public libraries on Runtime::Start()\n\nPreloading public libraries on Runtime::Start()\ninstead of doing it in native_loader c-tor\nensures that the libraries are loaded only for\nbinaries that are using Android Runtime, and not\njust linking against libandroid_runtime or libart.\n\nLoading public libraries on Runtime::Start()\nalso helps some apps to save startup time and space\nby ensuring that all NDK libraries are loaded\nand ready to use.\n\nBug: http://b/27245894\nChange-Id: I15679a72450f3d18a7dd503d0ae977cebcfd7f52\n(cherry picked from commit 7bca74e53d3665bcd243d4e0277f6561c0c80271)\n"
    },
    {
      "commit": "e4c77b4d37024c1ed74e72494e69605942fead61",
      "tree": "5f0de5a63585b661ec0e551c6d172a441150569f",
      "parents": [
        "08e992e41e5e234ecc6b38a4ab53d4876fd077b6",
        "ca76a1a0c1737b3e04961ba382c113102fdc00bf"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 23 10:52:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 23 10:52:23 2016 +0000"
      },
      "message": "Merge \"Dex-wide ArenaPool scoping for AOT compilation\""
    },
    {
      "commit": "ca76a1a0c1737b3e04961ba382c113102fdc00bf",
      "tree": "c2a2adce6d3bc78be4b34ed7f7982155b4c5eefc",
      "parents": [
        "99da8cd8818e015b21d1c2af73ac40749698c930"
      ],
      "author": {
        "name": "Jean-Philippe Halimi",
        "email": "jean-philippe.halimi@intel.com",
        "time": "Tue Feb 02 19:48:52 2016 +0100"
      },
      "committer": {
        "name": "Jean-Philippe Halimi",
        "email": "jean-philippe.halimi@intel.com",
        "time": "Fri Feb 19 13:43:24 2016 +0100"
      },
      "message": "Dex-wide ArenaPool scoping for AOT compilation\n\nThe Arena Pool is a structure that holds memory allocated by the Arena\nAllocator, preventing system allocations and deallocations to occur too often\nduring AOT compilation. Currently, the Arena Pool holds memory it allocates\nduring the whole AOT compilation process. Unfortunately, such a behavior\ngenerates memory usage overhead, which is exacerbated by bigger applications\nsuch as Facebook.\n\nIn this particular app, method size imbalance provokes unnecessary memory\npressure, as one method might require a lot of arena allocations that won\u0027t be\nused in the remaining compilation. Because the compiler memory footprint keeps\nincreasing during AOT compilation, the memory pressure becomes very high.\n\nThe proposed patch is an attempt to find a tradeoff between allocations /\ndeallocations time overhead, and the aforementioned memory pressure overhead\nresulting of the allocations being held by the Arena Pool. The patch adds a\nfeature freeing up all memory allocated in the Arena Pool after each dex file\nis done compiling.\n\nWe have measured no significant AOT compile-time overhead with the patch\n(\u003c0.3%), because the selected dex-file granularity is coarse enough. In the\nmeantime, it provides significant memory footprint improvements. The impact is\nespecially big with Facebook, because this app has a few methods generating\nhuge memory footprint peaks (peak native heap footprint goes down 34%).\n\nChange-Id: I27e867e6a20b8a6c28a82cb83140941a8c2b5847\nSigned-off-by: Jean-Philippe Halimi \u003cjean-philippe.halimi@intel.com\u003e\n"
    },
    {
      "commit": "5b82d339955d1a0dc23eeb8d2d5659459ff987ba",
      "tree": "79540d831ec7ac82f5520dc6bc53ac8c39f47972",
      "parents": [
        "d9c05309e8fab26a6087abd5773859f112cdefe9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 18 14:22:32 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 18 14:33:13 2016 +0000"
      },
      "message": "The JIT does not need VerifedMethod nor CompilerCallbacks.\n\nbug:27173201\n\nChange-Id: I971659f9ff6a8b780c94a7bed84de90fa9fc3456\n"
    },
    {
      "commit": "a73280df8cac1279b6dea0424722f42ef0048613",
      "tree": "22adc28cc88bc440b8e28a13a389c3a3c2b22341",
      "parents": [
        "47a2a45a6673ddf3322115ff5058763f82a9368f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 15 13:05:16 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 15 16:24:56 2016 +0000"
      },
      "message": "Add an option to disable native stack dumping on SIGQUIT.\n\nSome of our (stress) run-tests do ANR dumping, which end up\nstressing libunwind, that has known problems. To avoid getting\nflakes due to libunwind, disable native stack dumping on SIGQUIT\nfor our run-tests.\n\nbug:27185632\nbug:24664297\nChange-Id: I69085e48db903d6240448d71666ae2dcd091922e\n"
    },
    {
      "commit": "6eb6a39bdcf669655190d40d20f8d2e663b262f4",
      "tree": "1b56bd9527b56c8d24598245de0597bbb4f73d50",
      "parents": [
        "0665090c880ec22655ff8b82084746c4407ea792"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Feb 10 20:18:37 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Feb 12 16:26:03 2016 -0800"
      },
      "message": "ART: Simplify patchoat\n\nRemoved unused configurations. Cut out cruft that isn\u0027t used anymore\nsince multi-image. Make it smaller to not require new selinux\npermissions for OTAs.\n\nSplit up the main function, to make the flow clearer for image vs\napp/oat.\n\nBug: 25612095\nBug: 26317072\n\n(cherry picked from commit 02bc0b70beedfe258c2147c2b4a205fbf3d6eebc)\n\nChange-Id: Ieb55bd1a13cbb44fd0e2979a8a61a509df9c1e7e\n"
    },
    {
      "commit": "b331febbab8e916680faba722cc84b66b84218a3",
      "tree": "35f985b021e476914bfe91492da23fee218014a7",
      "parents": [
        "586996afc905518ed926e4680aab67bedabec9b7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 05 16:51:53 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 05 17:11:54 2016 +0000"
      },
      "message": "Revert \"Revert \"Implement on-stack replacement for arm/arm64/x86/x86_64.\"\"\n\nThis reverts commit bd89a5c556324062b7d841843b039392e84cfaf4.\n\nChange-Id: I08d190431520baa7fcec8fbdb444519f25ac8d44\n"
    },
    {
      "commit": "27c6b4890264444e2724972d2aa6c2c9a5bb65bb",
      "tree": "d7fbbd318c75f65eb2680db3739b099bb44ca4c0",
      "parents": [
        "62340033078bcd965e940b8ee390bf07b7867cab",
        "d3e7c6c76f564b58e66010c30b62bb56ef046f2c"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Feb 04 19:14:40 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 04 19:14:40 2016 +0000"
      },
      "message": "Merge \"Don\u0027t use native bridge for non zygote-spawn processes\""
    },
    {
      "commit": "d3e7c6c76f564b58e66010c30b62bb56ef046f2c",
      "tree": "bc67f7f152bf1786fbad6f15390e3dec4149a659",
      "parents": [
        "a20748aceb63396c5e09366968bbc71308f745df"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Feb 04 19:07:51 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Feb 04 19:07:51 2016 +0000"
      },
      "message": "Don\u0027t use native bridge for non zygote-spawn processes\n\n... unless we force it for testing purposes.\n\nBug: 26954924\nChange-Id: Ib4660a35175abb479d0399e18b6194eb04dbc248\n"
    },
    {
      "commit": "df707e406877e9c0426dd051c00933ebb331673e",
      "tree": "db9c96c96d373935a83dda2fafbf3c7e1aef3377",
      "parents": [
        "e3d4ff566f9545114bf9ed72421e49eaf9d37953"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Feb 02 16:56:50 2016 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 03 13:39:19 2016 -0800"
      },
      "message": "runtime: Don\u0027t skip verification for -Xverify:soft-fail\n\nWhen forcing the interpreter into access checks mode,\nmake sure that the regular verification is still run,\ngiving the verifier an opportunity to throw a VerifyError.\n\nIf verification would\u0027ve succeeded (without -Xverify:soft-fail flag),\noverride this and soft-fail, to force the interpreter-with-access-checks to be run\ninstead of the normal faster interpreter.\n\nThis fixes the following run-tests under the interpeter-access-checks:\n* 135\n* 412\n* 471\n* 506\n* 800\n\nBug: 22414682\nChange-Id: I5cb86a8bba71c7af9361a63c0802786c852b857b\n"
    },
    {
      "commit": "4a26f17b055cadc949c3e9fdfa637fe5656339d9",
      "tree": "d3cee26249b5ac72c57a7125ae2a73765bf77d96",
      "parents": [
        "caef579e906abc5c3174ba65e5205ea7fd5c44ad"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jan 26 14:26:18 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jan 26 17:49:12 2016 -0800"
      },
      "message": "Remove GetImageRoots read barrier for image relocation\n\nFixes CC assertion that failed if an app image was loaded when the GC\nwas running.\n\nBug: 26786304\nChange-Id: I47bea7b4b947332b57be2e2db604c2c25d92b7e2\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": "9bdf108885a27ba05fae8501725649574d7c491b",
      "tree": "a4ddf98b6cf10b343f15164f18e7089bc54c29ca",
      "parents": [
        "a92ee11b9b0ed4033efc5982269e3c0a075315e0"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jan 21 12:15:52 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jan 21 12:19:08 2016 +0000"
      },
      "message": "Revert \"Revert \"Write dex files to oat file early.\"\"\n\nThis reverts commit 919f5536182890d2e03f59b961acf8f7c836ff61.\n\nFix linker error (Mac build):\nReplace inline definition of art::ZipArchive::~ZipArchive()\nwith an out-of-line definition in zip_archive.cc to avoid\ndirect reference to CloseArchive() from libart-compiler due\nto inlining. Note that libart is linked against -lziparchive\nbut libart-compiler is not.\n\nChange-Id: I92620ea0200282ca7ba9b7f61a592cb6468d90d8\n"
    },
    {
      "commit": "1ee101ac001561a40a3b654bab9c62f9369f0350",
      "tree": "13a4b03ad1465349184b932d32af7a4cfb500773",
      "parents": [
        "7997bafd29c483583bcaa3135d958403caef94e3",
        "919f5536182890d2e03f59b961acf8f7c836ff61"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jan 20 19:13:25 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 20 19:13:25 2016 +0000"
      },
      "message": "Merge \"Revert \"Write dex files to oat file early.\"\""
    },
    {
      "commit": "919f5536182890d2e03f59b961acf8f7c836ff61",
      "tree": "8e8b9c330ae9c886611c6e5ae598e21d9b3ea17a",
      "parents": [
        "625a64aad13905d8a2454bf3cc0e874487b110d5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jan 20 19:13:01 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jan 20 19:13:01 2016 +0000"
      },
      "message": "Revert \"Write dex files to oat file early.\"\n\nThis reverts commit 625a64aad13905d8a2454bf3cc0e874487b110d5.\n\nBreaks the Mac build:\n\nUndefined symbols for architecture i386:\n  \"_CloseArchive\", referenced from:\n      ... in oat_writer.o\nld: symbol(s) not found for architecture i386\n\nChange-Id: I21608bc51437834e1e6abde9bcbe5e7d9998197e\n"
    },
    {
      "commit": "a8108303b31f76b7cd0292942885585d0f9d9391",
      "tree": "4b24fde686f2fd948212122c0b1e3d1282545f39",
      "parents": [
        "440ef2cbc76d7e2bc76cf5f15b69fc0478d7e853",
        "625a64aad13905d8a2454bf3cc0e874487b110d5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jan 20 17:40:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 20 17:40:37 2016 +0000"
      },
      "message": "Merge \"Write dex files to oat file early.\""
    },
    {
      "commit": "fffbee4d158259633ec7b7f712eaf75be86bd4e5",
      "tree": "05b9ae8b23be722cf8c2a6a979cc3706437ecf71",
      "parents": [
        "55380bbe098bace4375d77a2b77d05ef88dfe6f6"
      ],
      "author": {
        "name": "Tamas Berghammer",
        "email": "tberghammer@google.com",
        "time": "Fri Jan 15 13:09:34 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Jan 18 14:35:14 2016 +0000"
      },
      "message": "Report types loaded during init to the native debugger\n\nThe runtime loads a lot of type before it creates the jit from the\nboot image and from hard coded source code (e.g. primitive arrays).\nThis change emits type information for these types after the jit has\nbeen created. At the same time we remove the type info generation\nthat happens during AOT compilation because that type information can\nbe modified by a class loader at runtime.\n\nChange-Id: Ie5b3b3df9d01c7200a1f670a98d9cbee796234e9\n"
    },
    {
      "commit": "625a64aad13905d8a2454bf3cc0e874487b110d5",
      "tree": "49035d031166ce9fe0c5dd2f4b34157100e1703f",
      "parents": [
        "e1b0f475e851072d0083faf6e07d274e9f1fe6a5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 26 14:44:16 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jan 15 12:28:06 2016 +0000"
      },
      "message": "Write dex files to oat file early.\n\nWrite dex files to oat file before we actually open and\nverify them. Instead, open and verify the copies from the\noat file and use these. This way, in the most common case\nof zipped dex files, we have mmapped dex files instead of\ninflated dex files. That reduces the number of dirty pages\nused by dex2oat.\n\nReading /proc/self/statm after we write the oat file for\na compilation of a certain large app on Nexus 5 AOSP build\nwith -j1, three attempts before and after this CL gave\n    before: 346061 189462 6269 26 0 140723 0\n            346189 189450 6269 26 0 140851 0\n            346061 189463 6269 26 0 140723 0\n    after:  346186 185808 23040 27 0 140468 0\n            346186 185819 23040 27 0 140468 0\n            346186 185822 23040 27 0 140468 0\nThese values are in pages (4KiB), so while the \"size\"\n(\u003dVmSize) is essentially unchanged, the \"resident\" (\u003dVmRSS)\nis over 14MiB less and the \"shared\" (i.e. backed by a file)\nis 65.5MiB more. That is, the amount of dirty non-pageable\nmemory used is reduced by about 80MiB.\n\nThe oat file format has changed slightly, the class offset\ntable has been moved from the OatDexFile to its own section.\nThis actually fixes the alignment of these offsets as they\ncould have been unaligned previously, yet accessed as normal\nwith significant performance impact if the kernel has to\nemulate the unaligned access (say, mips).\n\nChange-Id: I0f4799bb1f1ca28e3533156a3494f55345c3e10a\n"
    },
    {
      "commit": "1452bee8f06b9f76a333ddf4760e4beaa82f8099",
      "tree": "8ffb80498cd8fdff66a4ab272723cf4d4e69e57b",
      "parents": [
        "7f9ea1451bb74055ee5d51ae04fc869faa06cbdd"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Mar 06 14:43:04 2015 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Jan 11 13:04:49 2016 -0800"
      },
      "message": "Fast Art interpreter\n\nAdd a Dalvik-style fast interpreter to Art.\nThree primary deficiencies in the existing Art interpreter\nwill be addressed:\n\n1.  Structural inefficiencies (primarily the bloated\n    fetch/decode/execute overhead of the C++ interpreter\n    implementation).\n2.  Stack memory wastage.  Each managed-language invoke\n    adds a full copy of the interpreter\u0027s compiler-generated\n    locals on the shared stack.  We\u0027re at the mercy of\n    the compiler now in how much memory is wasted here.  An\n    assembly based interpreter can manage memory usage more\n    effectively.\n3.  Shadow frame model, which not only spends twice the memory\n    to store the Dalvik virtual registers, but causes vreg stores\n    to happen twice.\n\nThis CL mostly deals with #1 (but does provide some stack memory\nsavings).  Subsequent CLs will address the other issues.\n\nCurrent status:\n   Passes all run-tests.\n   Phone boots interpret-only.\n   2.5x faster than Clang-compiled Art goto interpreter on fetch/decode/execute\n       microbenchmark, 5x faster than gcc-compiled goto interpreter.\n   1.6x faster than Clang goto on Caffeinemark overall\n   2.0x faster than Clang switch on Caffeinemark overall\n   68% of Dalvik interpreter performance on Caffeinemark (still much slower,\n       primarily because of poor invoke performance and lack of execute-inline)\n   Still nearly an order of magnitude slower than Dalvik on invokes\n       (but slightly better than Art Clang goto interpreter.\n   Importantly, saves ~200 bytes of stack memory per invoke (but still\n       wastes ~400 relative to Dalvik).\n\nWhat\u0027s needed:\n   Remove the (large quantity of) bring-up hackery in place.\n   Integrate into the build mechanism.  I\u0027m still using the old Dalvik manual\n       build step to generate assembly code from the stub files.\n   Remove the suspend check hack.  For bring-up purposes, I\u0027m using an explicit\n       suspend check (like the other Art interpreters).  However, we should be\n       doing a Dalvik style suspend check via the table base switch mechanism.\n       This should be done during the alternative interpreter activation.\n   General cleanup.\n   Add CFI info.\n   Update the new target bring-up README documentation.\n   Add other targets.\n\nIn later CLs:\n   Consolidate mterp handlers for expensive operations (such as new-instance) with\n       the code used by the switch interpreter.  No need to duplicate the code for\n       heavyweight operations (but will need some refactoring to align).\n   Tuning - some fast paths needs to be moved down to the assembly handlers,\n       rather than being dealt with in the out-of-line code.\n   JIT profiling.  Currently, the fast interpreter is used only in the fast\n       case - no instrumentation, no transactions and no access checks. We\n       will want to implement fast + JIT-profiling as the alternate fast\n       interpreter.  All other cases can still fall back to the reference\n       interpreter.\n   Improve invoke performance.  We\u0027re nearly an order of magnitude slower than\n       Dalvik here.  Some of that is unavoidable, but I suspect we can do\n       better.\n   Add support for our other targets.\n\nChange-Id: I43e25dc3d786fb87245705ac74a87274ad34fedc\n"
    },
    {
      "commit": "0de47bb78a53dbae5da77badafb95f03e4bc1138",
      "tree": "cabd1fb24a7d04a5d592f184d442f44a28edbb2d",
      "parents": [
        "8566a91502db625ff9428a3c2418714488ecd5d9",
        "10edbb159afae232817c86fc06a6801349f05bae"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jan 11 16:34:49 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 11 16:34:49 2016 +0000"
      },
      "message": "Merge \"ART: Use libopenjdkd\""
    },
    {
      "commit": "10edbb159afae232817c86fc06a6801349f05bae",
      "tree": "ab487114d0f5e906471fa5459a075b3648b72a8e",
      "parents": [
        "fcad0099eeceb6f2c09a6de28d8e8f05dab69ed5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 06 17:59:49 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jan 08 09:48:43 2016 -0800"
      },
      "message": "ART: Use libopenjdkd\n\nLoad libopenjdkd in debug mode. Add dependencies for libopenjdkd\nin the Makefiles.\n\nBug: 26421792\nChange-Id: Ie64cd56f73901b9c7645e46384d753752bbd5351\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": "b94a8906b82ed05ccf67be68d9d329b85c514d46",
      "tree": "53c9810ed6449e4bc00472e47751e104c8cdf6ad",
      "parents": [
        "bf157c3f50ab4790bae5a763c677e174b80e7f9a",
        "fb6db4c841e928feb35a985923fe2d41848f8f31"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jan 07 02:21:52 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 07 02:21:52 2016 +0000"
      },
      "message": "Merge \"Add systrace output to runtime shutdown\""
    },
    {
      "commit": "fb6db4c841e928feb35a985923fe2d41848f8f31",
      "tree": "59130aec4e26c0ca42aac3f800ef6bef85550cd8",
      "parents": [
        "5af190cb6f11a651afe0f0abc5ba0844246970d6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jan 06 17:23:25 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jan 06 18:20:05 2016 -0800"
      },
      "message": "Add systrace output to runtime shutdown\n\nHelp debug why am command shutdown is slow.\n\nFindings:\n~200ms spent in deleting thread list on N5.\n\nBug: 26351700\nChange-Id: Icb59390a5267ae8bade4ced12252743c48206bb1\n"
    },
    {
      "commit": "205b7624e434050125ada92a318cdc2655ac7b4a",
      "tree": "fc0742acf17f434b72eaf9eb355711636060033a",
      "parents": [
        "5af190cb6f11a651afe0f0abc5ba0844246970d6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jan 06 15:47:09 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jan 06 15:47:44 2016 -0800"
      },
      "message": "Address some intern table comments\n\nChange-Id: I7ffaa463272015c2924ba03e006041daee498ad4\n"
    },
    {
      "commit": "ea0831f60d26e3297e6463634a9fbb6384f00661",
      "tree": "6b970dced071048d59d1857e4703521d76566f99",
      "parents": [
        "664d7cfba0e734ba8917c260e424ea559b7e8f9f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Dec 29 13:17:37 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jan 06 10:17:01 2016 -0800"
      },
      "message": "Re-enable adding intern table to image\n\nChanged intern table to have a stack of tables similarily to\nClassTable. Adding an image intern table adds to the front of the\nintern table stack. Also some cleanup.\n\nBug: 26317072\n\nChange-Id: I7bbf9485b5dbbbf3707fed21e29de3beccfb8705\n"
    },
    {
      "commit": "1c1a342ba4e029ea1868a41ed0310756b7d78f45",
      "tree": "7310ba40021c1b6de0a1d12769d662071ead3cec",
      "parents": [
        "68ead6495715c44c60e4faa27db8255e3ba7491b"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Jan 05 14:13:00 2016 -0800"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Jan 05 15:35:51 2016 -0800"
      },
      "message": "Fix multi-image TODOs in class linker, runtime, and oat file.\n\n- Modified SanityCheckArtMethodPointerArray in class linker\n- Put back warnings in OatFile::GetOatDexFile\n- Reinstated ImageSpace VerifyImageAllocations in Runtime::Init\n\nBug: 26317072\n\n(cherry-picked from commit 0dfef949bb824accde27f8cfe1b233ec9e087355)\n\nChange-Id: I3bdb8f87d885213795c82c41e5095fec6daf00c4\n"
    },
    {
      "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": "8994a04162a92759f8ec531d18ee8901145dfda0",
      "tree": "802550252d5ad02060abf66fbbbc43530b09cfcb",
      "parents": [
        "1e65a78577ed71f5e3d79edaa0e6735ea4a3371b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 30 19:03:17 2015 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 30 12:41:29 2015 -0800"
      },
      "message": "Revert \"Revert \"ART: Fix up some multi-image cases\"\"\n\nThis reverts commit de38b797c3e5ba3ee44c480db7093386975c51eb.\n\nFix up imgdiag for std::string and multi-image.\n\nBug: 26317072\nBug: 26320300\n\nChange-Id: I94ce9528e9fea6fb3231a70c32db02d567143db9\n"
    },
    {
      "commit": "de38b797c3e5ba3ee44c480db7093386975c51eb",
      "tree": "66fdb4f09ffe5d62f491f53b9d311ea3e7349f71",
      "parents": [
        "288b1e9a0dddfb91e85067fe81de55174f313c7c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 30 14:50:12 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 30 14:50:12 2015 +0000"
      },
      "message": "Revert \"ART: Fix up some multi-image cases\"\n\nFails imgdiag_test on device.\n\nBug: 26317072\nBug: 26320300\n\nThis reverts commit 288b1e9a0dddfb91e85067fe81de55174f313c7c.\n\nChange-Id: Iccd05827b0630281b6f959331eaa4202526df78e\n"
    },
    {
      "commit": "288b1e9a0dddfb91e85067fe81de55174f313c7c",
      "tree": "3b8926db8ed6a575975540694c2bc81b4197b7de",
      "parents": [
        "6147f7520a1279b58d58c5d73a707dea2fbdd376"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Dec 28 10:41:49 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Dec 28 19:21:26 2015 -0800"
      },
      "message": "ART: Fix up some multi-image cases\n\nChange the auto-generated multi-image names to include the path\ncomponents from the first image, as well as prefix them with the\nfirst image\u0027s name to disambiguate. This fixes vogar-style usage.\n\nFix an out-of-bounds issue in dex2oat when dex files are missing.\n\nForbid generating or patching multi-image parts when loading images.\nInstead just fail loading them.\n\nRemember ImageSpace instances that have been added while trying to\nload a multi-image set. Remove all loaded instances when the overall\nloading process fails.\n\nRefactor the dex location adaptation into ImageSpace. Reuse the code\nin the Runtime path for fallback, so that all dex files can be found\ncorrectly.\n\nFix an out-of-bounds access in OatFileAssistant in fallback mode.\n\nPartially reverts d895961d07a1d320b29f2045a48bc5a1944a4d3c. Push an\nactual image name, that is, something with an art extension, to\nthe vogar scripts.\n\nPartially reverts c525604b313bb77a2077e1fec43dfab76cb1b9b1. Test\n119-noimage-patchoat works again.\n\nBug: 26317072\nBug: 26320300\nChange-Id: I3f05fa77f22a2b9ca54c3105ffc53646c1928604\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": "dcdc85bbd569f0ee66c331b4219c19304a616214",
      "tree": "b5ab789248e279318f6c1e3f6c511703d7294476",
      "parents": [
        "48944c760b196188b968b7af81439466cf987a75"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Dec 04 14:06:18 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 23 21:14:23 2015 -0800"
      },
      "message": "Dex2oat support for multiple oat file and image file outputs.\n\nMultiple changes to dex2oat and the runtime to support a --multi-image\noption. This generates a separate oat file and image file output for\neach dex file input.\n\nChange-Id: Ie1d6f0b8afa8aed5790065b8c2eb177990c60129\n"
    },
    {
      "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": "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": "471fb5beb826a8dead12600bffb8729a9ced9c47",
      "tree": "c3c63e9069f733b633878a919fbb45cdf0e7bcab",
      "parents": [
        "db92e153c2c29b7f0b59e5f6cc9d0abbdcdce635",
        "88e3342e07d607c07d886eebf195e2d0359067ed"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 17 23:38:34 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 17 23:38:34 2015 +0000"
      },
      "message": "Merge \"Add some dumping when SIGQUIT for the JIT.\" am: bdd12e0e04\nam: 88e3342e07\n\n* commit \u002788e3342e07d607c07d886eebf195e2d0359067ed\u0027:\n  Add some dumping when SIGQUIT for the JIT.\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": "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": "aee2156e308f3f346ac4df76ba1d33ee9b11be84",
      "tree": "15873ce5421d8a3856a6049c715d61a5136cae20",
      "parents": [
        "3b0ec017185a6d694f5041e79cc7a85d51943cff"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 15 16:39:44 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 15 16:50:27 2015 +0000"
      },
      "message": "Add some dumping when SIGQUIT for the JIT.\n\nChange-Id: Iad68bdc8a4ab53e810feb3bc8507b7f42e79b1f7\n"
    }
  ],
  "next": "e86c0e62d560f6f707b97eaae495d8aca78ffbcb"
}
