)]}'
{
  "log": [
    {
      "commit": "91c2f0cde2a009bd52aa1c3d1dee705cc02c932f",
      "tree": "55c02c51308df051c76d89a09627ad16d8f45f72",
      "parents": [
        "bd6bb37c377e78aeafb4faf9acd70efbcbc62d30"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 26 11:21:15 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 26 16:06:35 2014 -0800"
      },
      "message": "Trim reference tables when we trim the heap\n\nBefore:\nSystem server:\n virtual                     shared   shared  private  private\n  size      RSS      PSS    clean    dirty    clean    dirty    # object\n2200      300      229        0       80        0      220   77 /dev/ashmem/dalvik-indirect ref table (deleted)\nLocation:\n1896      128      102        0       28        0      100   39 /dev/ashmem/dalvik-indirect ref table (deleted)\n\nAfter:\n virtual                     shared   shared  private  private\n  size      RSS      PSS    clean    dirty    clean    dirty    # object\nSystem server:\n2216       64       64        0        0        0       64   79 /dev/ashmem/dalvik-indirect ref table (deleted)\nLocation:\n2120       48       48        0        0        0       48   67 /dev/ashmem/dalvik-indirect ref table (deleted)\n\nNo pause time regression measured in memalloc test.\n\n(cherry picked from commit 84dc99d2fa67e5dff018685661cb2bff62132989)\n\nChange-Id: I80d9bd3b98e888fa8f77d03df69f8479ed209986\n"
    },
    {
      "commit": "bd6bb37c377e78aeafb4faf9acd70efbcbc62d30",
      "tree": "f098642047c7a88bddc0ea941fd8fdfa98e3b940",
      "parents": [
        "7939a254e79834746fc52827c6bc0667f098e7db",
        "cd195fe131842ad9ca7909203d479d325feaf9dd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 27 00:06:30 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 27 00:06:30 2014 +0000"
      },
      "message": "Merge \"Add a way to change the IMT size\""
    },
    {
      "commit": "7939a254e79834746fc52827c6bc0667f098e7db",
      "tree": "132e7752a174f3d885e9f670e711fc02ee38ec06",
      "parents": [
        "3c17775c45277e90da10296d90f0f474f4a1b84a",
        "95c51b3c3765124adf367047caa56f16bfb6eb6f"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Nov 26 22:32:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 26 22:32:35 2014 +0000"
      },
      "message": "Merge \"Add a missing SHARED_LOCKS_REQUIRED(mutator_lock_).\""
    },
    {
      "commit": "cd195fe131842ad9ca7909203d479d325feaf9dd",
      "tree": "951be836646a63d4b7300466718d1cd222d01e11",
      "parents": [
        "3c17775c45277e90da10296d90f0f474f4a1b84a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 25 18:36:01 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 26 11:16:28 2014 -0800"
      },
      "message": "Add a way to change the IMT size\n\nUseful for having smaller imts on memory constrainted devices.\nSetting ART_IMT_SIZE\u003dx will change the size of the IMT.\n\n(cherry picked from commit 8ee96437f8cd24e1eb0b2adc6cef3346ed4b6a98)\n\nChange-Id: Ia74946ffc57ad32de5a8d60be3412462f19f8076\n"
    },
    {
      "commit": "f2611341d2e45144edd25c90f66834687a043dcc",
      "tree": "0f0626da9599ed73e18805e44a630c7664967c6a",
      "parents": [
        "e4b9435f53f108ede0cee74295bfd5d519491d51",
        "a1785c5cd88f6256a838a95c93ac0a1bee6c5145"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 26 17:52:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 26 17:52:32 2014 +0000"
      },
      "message": "Merge \"ART: Use Overwrite instead of Put\""
    },
    {
      "commit": "94572c51dfbc1d48785ee340e602f0f8092afecf",
      "tree": "fd2181a2d4b8e7e8d26101a9a87b4f0c34fa990f",
      "parents": [
        "220526b05d4365a1820a694c98527eda2d3dc980",
        "9bb492a33c97e72d0c43a4ee968e34cc32534981"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 26 12:00:16 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 26 12:00:17 2014 +0000"
      },
      "message": "Merge \"Add ART_USE_OPTIMIZING_COMPILER flag.\""
    },
    {
      "commit": "a1785c5cd88f6256a838a95c93ac0a1bee6c5145",
      "tree": "f5336a279300ea62bbdec08f0f44401c4374f5b0",
      "parents": [
        "220526b05d4365a1820a694c98527eda2d3dc980"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 25 20:40:08 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 26 01:57:00 2014 -0800"
      },
      "message": "ART: Use Overwrite instead of Put\n\nAllow threads exiting twice when tracing.\n\nBug: 18469797\n\nChange-Id: I88ce5ea8237e53a76ad68fd4b28a367f58e6d635\n"
    },
    {
      "commit": "95c51b3c3765124adf367047caa56f16bfb6eb6f",
      "tree": "fd22336d36ea556e4cf0a504b35d3da57a983e25",
      "parents": [
        "af6dad6cbb6685f92d7274f9e8c45baa98232c79"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Nov 26 01:24:13 2014 -0800"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Nov 26 01:24:13 2014 -0800"
      },
      "message": "Add a missing SHARED_LOCKS_REQUIRED(mutator_lock_).\n\nThis was caught by Clang 3.6 using -Wthread-safety-analysis.\n\nChange-Id: If2f25331f111ba6c67570e5aece1fba38f714d05\n"
    },
    {
      "commit": "eace45873190a27302b3644c32ec82854b59d299",
      "tree": "73fbf327839263b6847bdc4359ac1dbea2b897e3",
      "parents": [
        "8ac8d5556fae9c728bcebcc9036a1bbf40087c76"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 24 18:29:54 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 25 16:02:04 2014 -0800"
      },
      "message": "Move dexCacheStrings from ArtMethod to Class\n\nAdds one load for const strings which are not direct.\n\nSaves \u003e\u003d 60KB of memory avg per app.\nImage size: -350KB.\n\nBug: 17643507\nChange-Id: I2d1a3253d9de09682be9bc6b420a29513d592cc8\n\n(cherry picked from commit f521f423b66e952f746885dd9f6cf8ef2788955d)\n"
    },
    {
      "commit": "9bb492a33c97e72d0c43a4ee968e34cc32534981",
      "tree": "93c3b4218e2bdecf80e55ebe77eda6dbeb2df2f9",
      "parents": [
        "dc00c73d24a46c8522176fbc539f3e39710807c2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 25 23:42:00 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 25 23:56:30 2014 +0000"
      },
      "message": "Add ART_USE_OPTIMIZING_COMPILER flag.\n\nChange-Id: I86065aec5bfe59729c6a4064a3e54d5b523ca45c\n"
    },
    {
      "commit": "3115877616e44b245ecf2c5466d52c749086d3b0",
      "tree": "720c9ed875e40e527a9e244fe8ef0cf19a494ebe",
      "parents": [
        "dc00c73d24a46c8522176fbc539f3e39710807c2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 25 11:20:28 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 25 14:40:18 2014 -0800"
      },
      "message": "Fix oatwriter code deduping\n\nNow that the GC maps are part of the oat method header they need\nto be checked in CodeOffsetsKeyComparator.\n\nBug: 18523556\n\nChange-Id: I539a6e7216166342b22515c1e2cf831dad32e41e\n\n(cherry picked from commit 4cdf4508903d13fd0f9fba5690aeac1b368db81b)\n"
    },
    {
      "commit": "dc00c73d24a46c8522176fbc539f3e39710807c2",
      "tree": "bb7e95e935c2427fdf520516573db91262ec81f6",
      "parents": [
        "f0c001465371279355eeb7633b67ffcc6f6738e5",
        "90675a77fa03850ebd46280e60b0ff54b8d5eb79"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 25 21:30:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 25 21:30:21 2014 +0000"
      },
      "message": "Merge \"ART: Avoid recursive abort\""
    },
    {
      "commit": "ae214ee0064525e8e4a2e5f61b6d0b8f4f1900e8",
      "tree": "a7934d9e5da7c7c8c42caf320fca10cc8c1c401c",
      "parents": [
        "af2d5307c3beaf3f0e9712f88c56c53cecdc06a7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 24 18:03:01 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 24 18:03:01 2014 -0800"
      },
      "message": "ART: Fix inline dependency\n\nGetClassFromTypeIdx is defined in the -inl file.\n\nChange-Id: Ib5dbcea08dccee43ff70cac2e45cdbf210cb490c\n"
    },
    {
      "commit": "af2d5307c3beaf3f0e9712f88c56c53cecdc06a7",
      "tree": "1df28ced0a76691c2265b493cf50277dbb204cfe",
      "parents": [
        "dd24fcf3e3e76ca2df7d00258e347cc2517fce48",
        "9f612ffab2b188d80027d961d7118eb2c461b5ad"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 24 23:57:17 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 24 23:57:18 2014 +0000"
      },
      "message": "Merge \"ART: Fix unused variables and functions\""
    },
    {
      "commit": "9f612ffab2b188d80027d961d7118eb2c461b5ad",
      "tree": "aa5a5c83810b13f726b16670bc4442a4f271ee55",
      "parents": [
        "c6c88d2079f0d47eb86a2e2e2f53cab25b0503c1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 24 13:42:22 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 24 13:43:11 2014 -0800"
      },
      "message": "ART: Fix unused variables and functions\n\nChange-Id: Icbab884d2dfd71656347368b424cb35cbf524051\n"
    },
    {
      "commit": "957ca1cd025104fccb0b08928f955f9bdb4ab91c",
      "tree": "913ceffe992bb25898ac79977b47dc2af8b3354b",
      "parents": [
        "4d3ed1a6f34bd31ed30faaca0433cf2a4b19bb7b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 21 16:51:29 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 24 10:44:33 2014 -0800"
      },
      "message": "Delete ArtMethod gc_map_ field\n\nMoved the gc_map field from OatMethod to OatQuickMethodHeader.\nDeleted the ArtMethod gc_map_ field.\n\nBug: 17643507\n\nChange-Id: Ifa0470c3e4c2f8a319744464d94c6838b76b3d48\n\n(cherry picked from commit 807140048f82a2b87ee5bcf337f23b6a3d1d5269)\n"
    },
    {
      "commit": "c12da2d91c26e74786a32e7583d996416a2f3494",
      "tree": "38420b41d7832e45d373acdfd73696ea9165aa11",
      "parents": [
        "4a9ac63ba407edc09e13b4e095e2105cf13f603b",
        "af6925b7fe5dc5a3c8d52ee3370e86e75400f873"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 24 11:05:33 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 24 11:05:33 2014 +0000"
      },
      "message": "Merge \"Rewrite GVN\u0027s field id and field type handling.\""
    },
    {
      "commit": "90675a77fa03850ebd46280e60b0ff54b8d5eb79",
      "tree": "9a891b47e6b7e4e5f1c123a477ec2876b8183b52",
      "parents": [
        "4a9ac63ba407edc09e13b4e095e2105cf13f603b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 24 00:21:06 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 24 00:21:06 2014 -0800"
      },
      "message": "ART: Avoid recursive abort\n\nBug: 18469797\nChange-Id: Ided50bec3377034dd9a995f9f0700a795adb3940\n"
    },
    {
      "commit": "acb01387a9863654924891e1d1dfea274f1c9028",
      "tree": "cbfe1417d6364e0e732b58d1e9fb88f28487ea2e",
      "parents": [
        "c6c88d2079f0d47eb86a2e2e2f53cab25b0503c1"
      ],
      "author": {
        "name": "Yevgeny Rouban",
        "email": "yevgeny.y.rouban@intel.com",
        "time": "Mon Nov 24 13:40:56 2014 +0600"
      },
      "committer": {
        "name": "Yevgeny Rouban",
        "email": "yevgeny.y.rouban@intel.com",
        "time": "Mon Nov 24 13:40:56 2014 +0600"
      },
      "message": "ART: ELF symbol table lookup is fixed\n\nELF loader could not find some symbols in the OAT\u0027s symbol table\n(e.g. oatdata, oatexec).\n\nThere was a bug in the symbol hash table lookup: if a valid index of\na chain got greater or equal than the number of hash buckets then\nthe chain was cut off.\n\nThe fix is to compare the chain index with the chains array length\nrather than with the number of buckets.\n\nChange-Id: I20940957c3045913fd426031a51314d4f87ac1bd\nSigned-off-by: Yevgeny Rouban \u003cyevgeny.y.rouban@intel.com\u003e\n"
    },
    {
      "commit": "e8b547d9b4785f4804f83c07c49d3f87530747c5",
      "tree": "f31c8aff7e4c0b0d8be3e20623005f723145fdfb",
      "parents": [
        "a79da1b478e2be0d988aa021d5d4e6973c24b4a0"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 21 22:52:16 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 21 22:57:44 2014 -0800"
      },
      "message": "Avoid some recursive aborting.\n\nBug: 18469797\nChange-Id: Ic1889a605a041bdec679ff54f8dce3842d85f2e1\n"
    },
    {
      "commit": "a79da1b478e2be0d988aa021d5d4e6973c24b4a0",
      "tree": "abe31ae3098a28d547594a7cb427099f63e04a91",
      "parents": [
        "e26310320e7ee7bdfcdf340d2e66f216f1d90aa6",
        "24a5a3003aa7dbc29db698ac86bfa18ef64b2593"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Nov 22 04:35:42 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 22 04:35:43 2014 +0000"
      },
      "message": "Merge \"ART: Wrap AllocThreadUnsafe in Valgrind wrapper\""
    },
    {
      "commit": "24a5a3003aa7dbc29db698ac86bfa18ef64b2593",
      "tree": "0b272c2b51a44cf2ad8c7e553c30a9f3adf35fcc",
      "parents": [
        "1d56c84657a9ba35222f4b6f1f606a0a7f0fe7e0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 19:45:53 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 19:45:53 2014 -0800"
      },
      "message": "ART: Wrap AllocThreadUnsafe in Valgrind wrapper\n\nThis needs to be wrapped as it is being used during compaction.\n\nBug: 18481268\nChange-Id: I85ecccc7de8be8eb70a5cb0420817583be9b7999\n"
    },
    {
      "commit": "e26310320e7ee7bdfcdf340d2e66f216f1d90aa6",
      "tree": "09fd909f736572ef8a2fd54f5fc2bbe7e08e53ed",
      "parents": [
        "022b46cb09a6189797fb3e77dbe7673a3d59249f",
        "acbb30867482986e02a7cc53c099b8d56d32acee"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Nov 22 02:23:05 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 22 02:23:06 2014 +0000"
      },
      "message": "Merge \"Fix UnimplementedEntryPoint initialziation.\""
    },
    {
      "commit": "022b46cb09a6189797fb3e77dbe7673a3d59249f",
      "tree": "f3440544c000174e72508ff3561e0e984f9f09f9",
      "parents": [
        "124cd8f768436e082ca0dfed8f1e4f4713220e44",
        "e14f2b3047fd310c5df65cf13470aa2786522a3b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Nov 22 02:13:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 22 02:13:21 2014 +0000"
      },
      "message": "Merge \"Fixed ArtMethod::GetQuickFrameInfo() for proxy methods\""
    },
    {
      "commit": "124cd8f768436e082ca0dfed8f1e4f4713220e44",
      "tree": "c81d24102cfc8a0346dc7ed67ace964ebcd6fa8c",
      "parents": [
        "da4b7e8979e9b7de634aecee62da6ce867ccaa8d",
        "735b8559d6dd26c610d4b97d72f25a092d9c8947"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Nov 22 01:32:30 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 22 01:32:30 2014 +0000"
      },
      "message": "Merge \"Add JNI trampoline for mips32.\""
    },
    {
      "commit": "819b3c05b1553dfd9fbde5fdb8f4cf77b5689682",
      "tree": "e680156efdabe2843649042419992aa4670ea6a2",
      "parents": [
        "2cfbccdc41a75694cf83c034f66b049d42a83ed6",
        "40d3518414202f33c9569ddd8daceabb30208fc2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Nov 22 00:45:10 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 22 00:45:10 2014 +0000"
      },
      "message": "Merge \"ART: Fix crash with unreachable void check-cast\""
    },
    {
      "commit": "af6925b7fe5dc5a3c8d52ee3370e86e75400f873",
      "tree": "1fe667865bb7dbae3a00bb002492bd4ff4ab194a",
      "parents": [
        "f585e549682a98eec12f92033e9634dc162b7df8"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 31 16:37:32 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 21 18:47:37 2014 +0000"
      },
      "message": "Rewrite GVN\u0027s field id and field type handling.\n\nCreate a helper unit for dex insn classification and cache\ndex field type (as encoded in the insn) in the MirFieldInfo.\nUse this for cleanup and a few additional DCHECKs.\n\nChange the GVN\u0027s field id to match the field lowering info\nindex (MIR::meta::{i,s}field_lowering_info), except where\nmultiple indexes refer to the same field and we use the\nlowest of the applicable indexes. Use the MirMethodInfo from\nMIRGraph to retrieve field type for GVN using this index.\nThis slightly reduces GVN compilation time and prepares for\nfurther compilation time improvements.\n\nChange-Id: I1b1247cdb8e8b6897254e2180f3230f10159bed5\n"
    },
    {
      "commit": "07721698d2f30cf5f296284ebea53a55255211cd",
      "tree": "0086990e210a714618e0ae26910800bcf04d9054",
      "parents": [
        "4514d2ac529064819d4f02699527764afa140008",
        "a7dd0386f35c0ba4aef3f5b16bc84c6f4e2fc702"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 21 18:15:38 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 21 18:15:38 2014 +0000"
      },
      "message": "Merge \"Fix oatdump to use OatHeader pointer size\""
    },
    {
      "commit": "a7dd0386f35c0ba4aef3f5b16bc84c6f4e2fc702",
      "tree": "86bcc8c05fb3f868dbdae3dcacbf95de880d4d64",
      "parents": [
        "af6dad6cbb6685f92d7274f9e8c45baa98232c79"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 20 17:08:58 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 21 10:11:41 2014 -0800"
      },
      "message": "Fix oatdump to use OatHeader pointer size\n\nBug: 18473190\nChange-Id: If505b4f62105899f4f1257d3bccda3e6eb0dcd7c\n\n(cherry picked from commit c934e483ceabbd589422beea1fa35f5182ecfa99)\n"
    },
    {
      "commit": "6c36a8bc6c514664ad91ce377df33de839342a8d",
      "tree": "735cf8dc77e270b8d26a80af2992780a798d6cae",
      "parents": [
        "0c45167f110ddd4912b228c6ea04965f10de5873"
      ],
      "author": {
        "name": "Dehao Chen",
        "email": "dehao@google.com",
        "time": "Thu Nov 13 14:13:58 2014 -0800"
      },
      "committer": {
        "name": "Dehao Chen",
        "email": "dehao@google.com",
        "time": "Thu Nov 20 23:47:55 2014 +0000"
      },
      "message": "Restrict FDO to only apply to target build.\n\nChange-Id: I0ef4199b34c123a17eaf2c2f18bc8a1496e03cf8\n"
    },
    {
      "commit": "0c45167f110ddd4912b228c6ea04965f10de5873",
      "tree": "773d2db517ff67fce138f4f7e7612fcf15415804",
      "parents": [
        "be0bb06d1bb37344c96d2350f6ab56c9f5ecabe4",
        "f5b4c50f52d1bde054deee33a8ef6fa18a0eff33"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Nov 20 22:53:58 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 20 22:53:58 2014 +0000"
      },
      "message": "Merge \"dex2oat: Pack likely-dirty objects together when generating the boot image\""
    },
    {
      "commit": "f5b4c50f52d1bde054deee33a8ef6fa18a0eff33",
      "tree": "52b7cedb38af4f428b11e79da0f7318dd02ebfb6",
      "parents": [
        "bdfbf86afde269ee3b38a6c928618333ffac13cf"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Nov 14 15:01:59 2014 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Nov 20 14:47:57 2014 -0800"
      },
      "message": "dex2oat: Pack likely-dirty objects together when generating the boot image\n\nThis introduces a new algorithm into image writer which \"bins\" objects\nby how likely they are to be dirtied at runtime. Objects in the same bin\nare placed contiguously in memory (i.e. into the same page). We try to\ntune the bin selection based on how clean or how dirty the object will\nlikely be at runtime.\n\nAs-is, this saves about 150KB per-process (private-dirty pages) and 700KB in\nzygote (shared-dirty).\n\nThere is still about 800KB of objects that are clean but located in\ndirty pages, so with more analysis we can tune the bin selection and get\neven more memory savings.\n\n(cherry picked from commit 3f735bd4f9d09a0f9b2b01321e4c6917879dcae6)\n\nBug: 17611661\nChange-Id: Ia1455e4c56ffd0a36ae2a723d35b7e06502980f7\n"
    },
    {
      "commit": "be0bb06d1bb37344c96d2350f6ab56c9f5ecabe4",
      "tree": "88969c437b34194d317f9fcc812b3b41fe99c56f",
      "parents": [
        "17f78734175cb8ea09441d0c59b9a07502abc31e",
        "3f3c6c030db14e47d3022f00403f46240623f339"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Nov 20 22:35:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 20 22:35:20 2014 +0000"
      },
      "message": "Merge \"Tune rosalloc buffer sizes.\""
    },
    {
      "commit": "3f3c6c030db14e47d3022f00403f46240623f339",
      "tree": "e1ed5312837ff53ce57279e2b30fbccb85666cfd",
      "parents": [
        "8542ff31bfa778a06316511672dc113a3f19ae5b"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Nov 20 14:16:06 2014 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Nov 20 14:16:06 2014 -0800"
      },
      "message": "Tune rosalloc buffer sizes.\n\nWe now use one-page buffers for size brackets 4-7, instead of two-page\nbuffers, and the first 8 size brackets for thread-local allocations,\ninstead of 11.\n\nNo slowdown observed with MemAllocTest, EvaluateAndApplyChanges, and\nBinaryTrees.\n\n(cherrypick commit c4cd95fa37b7138a0fa26d07c235aa409542aecd)\n\nBug: 18377775\nChange-Id: I311f3adf9cab660d258833b17df7e6d905f73c72\n"
    },
    {
      "commit": "83597d06cd4707b19c1985353418bd99f3aca6c7",
      "tree": "2901c93180f2003c2da6cf75eb56554aa8128a16",
      "parents": [
        "bdfbf86afde269ee3b38a6c928618333ffac13cf"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Nov 20 10:29:00 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Nov 20 10:38:51 2014 -0800"
      },
      "message": "Re-enable DumpNativeStack.\n\nBug: 15446488\nChange-Id: Icdd0b90c8abe2a361a488fc1742c6896605ddc41\n"
    },
    {
      "commit": "292b3bd295ad36b9fe142d93c84de517caf2ee89",
      "tree": "c56fc1370cbe69ae3aab86cd8b7f16ac9444dcea",
      "parents": [
        "aad7f3f97ed9ad088d2489dc97325bbf1ead3722",
        "28bc98705912efc27099ffc3a5415f6f941d2ab8"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Nov 20 10:47:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 20 10:47:22 2014 +0000"
      },
      "message": "Merge \"Prune image cache if the boot marker is still in place.\""
    },
    {
      "commit": "aad7f3f97ed9ad088d2489dc97325bbf1ead3722",
      "tree": "e3c103b8bca259e9597387a66e82c775022b4a82",
      "parents": [
        "f2f6b5a6c9526a9c51dd73b792d19fc08cdec5ee",
        "f3928794a10516e2ac0ffe2686a10891788d4b9c"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Nov 20 10:20:15 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 20 10:20:16 2014 +0000"
      },
      "message": "Merge \"JDWP: only deoptimize when it is required\""
    },
    {
      "commit": "8b5223b07885305bde316899ee9a8d19d23c8fcd",
      "tree": "befab88a54419e92cb725a3a4faba96be4c2b875",
      "parents": [
        "af6dad6cbb6685f92d7274f9e8c45baa98232c79",
        "3242729362b74d22f11d8bc7b4800ba0a8695df6"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Nov 20 04:51:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 20 04:51:50 2014 +0000"
      },
      "message": "Merge \"Avoid JNI call with pending OOME.\""
    },
    {
      "commit": "3242729362b74d22f11d8bc7b4800ba0a8695df6",
      "tree": "e3ac6dbb1d4f1f6295ed4a856473c6f92c88be22",
      "parents": [
        "834896de1c955c04d781d2bf8c53573f94ce8c3e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 19 14:05:21 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 19 14:05:21 2014 -0800"
      },
      "message": "Avoid JNI call with pending OOME.\n\nIf EnsureResolved fails with an exception then FindClassInPathClassLoader may\nfall-through to a call to NewStringUTF with a pending exception.\nBug: 15446488\n\nChange-Id: I007f7bee7c50aa588d0b1c776da67a38314dc897\n"
    },
    {
      "commit": "7247af507f8e2218e73379ded5b2c4bbdd2a56c7",
      "tree": "b859cf3e5516cd78f5f2798b2eb7dd1a11976f42",
      "parents": [
        "017ff871ba476e21949f3b48751bf4453220cbc5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 19 10:51:42 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 19 13:45:08 2014 -0800"
      },
      "message": "Fix zygote space and non moving space map names\n\nSpace names:\n\"non moving space\" -\u003e \"zygote space\"\n\"alloc space\" -\u003e \"non moving space\"\n\nBug: 18447855\nChange-Id: Ia937b6d046ccf7f66bf1f6bbb9f17a5e0d00c016\n(cherry picked from commit c5d085c955244be1743c33227384e5b62076b8bd)\n"
    },
    {
      "commit": "8366ca0d7ba3b80a2d5be65ba436446cc32440bd",
      "tree": "b21c1656af3ec5c9f775373c9d78cb832bee2ca9",
      "parents": [
        "8542ff31bfa778a06316511672dc113a3f19ae5b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 17 12:02:05 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 19 11:53:07 2014 -0800"
      },
      "message": "Fix the last users of TARGET_CPU_SMP.\n\nEveryone else assumes SMP.\n\nChange-Id: I7ff7faef46fbec6c67d6e446812d599e473cba39\n"
    },
    {
      "commit": "dd11d2a89a9150122a1cb55fba2b003c6d389fa0",
      "tree": "e2a6967b6df8bdebb5bb0cf5b85ccaa97e02b629",
      "parents": [
        "6a0ac5ccf160e158942d49168d819fb76f887fa3"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 19 10:06:46 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 19 10:06:46 2014 -0800"
      },
      "message": "Fix a memory leak in jni_internal_test.\n\nCaught by valgrind.\n\nChange-Id: I8b3cc0ce946bd457c380655d3e1237b029ed4cc3\n"
    },
    {
      "commit": "28bc98705912efc27099ffc3a5415f6f941d2ab8",
      "tree": "22cb16b4d96681a70ee25295f8e86236a132025a",
      "parents": [
        "6a0ac5ccf160e158942d49168d819fb76f887fa3"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Nov 07 17:46:28 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Nov 19 17:22:56 2014 +0000"
      },
      "message": "Prune image cache if the boot marker is still in place.\n\nWe place a marker in each isa cache dir and have the framework\ndelete it for us.\n\nThis seems like a convenient place to do it given all the other\ndalvik-cache related code that hooks in here, and also because\nthis is the first point where we try to access the cache.\n\nTODO: Add a timeout to the (higher level) zygote code to correctly\nkill the surviving zygote if one of them never comes up.\n\nbug: 18280671\n\n(cherry picked from commit c38276177aeeda4326a54f1121790c154df04300)\n(partial cherry-pick of 9433ec60b325b708b9fa87e699ab4a6565741494)\n\nChange-Id: I5dbea21b4bf9ca4106a13225946d3f35f8060a43\n"
    },
    {
      "commit": "f3928794a10516e2ac0ffe2686a10891788d4b9c",
      "tree": "31648cbd1b6aa6bd7552c4d2664214626b702004",
      "parents": [
        "bf75c5cf32a47eecadcc5e4a324237c1f1d09cde"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Nov 17 19:00:37 2014 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Nov 19 14:35:28 2014 +0100"
      },
      "message": "JDWP: only deoptimize when it is required\n\nWe don\u0027t need to deoptimize anything when we forced the use of the\ninterpreter (-Xint). In this case, no compiled code is executed\n(except native methods which are not concerned by deoptimization).\nTherefore we even don\u0027t need to enable/disable deoptimization support\nin instrumentation.\n\nWe also don\u0027t need to deoptimize a method that hasn\u0027t been compiled.\nSince it will run with interpreter, there is no point deoptimizing\nit. However this method may be inlined in a compiled caller method\nso we still need to deoptimize everything in this case.\n\nThis CL updates breakpoint support by storing the required kind of\ndeoptimization for a particular method. There are 3 cases:\n- kNothing: the method does not require deoptimization.\n- kSelectiveDeoptimization: the method needs to be deoptimized.\n- kFullDeoptimization: we must deoptimize everythinig.\nWhen uninstalling a breakpoint, we need to do the reverse operation.\n\nAlso fixes the SanityCheckExistingBreakpoints function to control\nbreakpoints related to the given method only and adds extra verbose\nlogs when choosing the appropriate deoptimization kind.\n\nBug: 18407046\nChange-Id: I5212c1fd2f72e06c79e7871db15696824d37dc0b\n"
    },
    {
      "commit": "4303ba97313458491e038d78efa041d41cf7bb43",
      "tree": "5a5873651db918416c9ff63f4bb06b6eb7f4c71a",
      "parents": [
        "a971100be7870544360fa8a46311ef7f5adb6902"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 06 01:00:46 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 18 17:26:06 2014 -0800"
      },
      "message": "ART: Track Flush \u0026 Close in FdFile\n\nImplement a check that aborts when a file hasn\u0027t been explicitly\nflushed and closed when it is destructed.\n\nAdd WARN_UNUSED to FdFile methods.\n\nUpdate dex2oat, patchoat, scoped_flock and some gtests to pass with\nthis.\n\n(cherry picked from commit 9433ec60b325b708b9fa87e699ab4a6565741494)\n\nChange-Id: I9ab03b1653e69f44cc98946dc89d764c3e045dd4\n"
    },
    {
      "commit": "2d7210188805292e463be4bcf7a133b654d7e0ea",
      "tree": "7705a3bf841ae44b2396728fa22ed0b5dcb44dbf",
      "parents": [
        "e0491682d101c69bf88c3c24a965312129cbfa38"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 10 11:08:06 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 18 12:27:37 2014 -0800"
      },
      "message": "Change 64 bit ArtMethod fields to be pointer sized\n\nChanged the 64 bit entrypoint and gc map fields in ArtMethod to be\npointer sized. This saves a large amount of memory on 32 bit systems.\nReduces ArtMethod size by 16 bytes on 32 bit.\n\nTotal number of ArtMethod on low memory mako: 169957\nImage size: 49203 methods -\u003e 787248 image size reduction.\nZygote space size: 1070 methods -\u003e 17120 size reduction.\nApp methods: ~120k -\u003e 2 MB savings.\n\nSavings per app on low memory mako: 125K+ per app\n(less active apps -\u003e more image methods per app).\n\nSavings depend on how often the shared methods are on dirty pages vs\nshared.\n\nTODO in another CL, delete gc map field from ArtMethod since we\nshould be able to get it from the Oat method header.\n\nBug: 17643507\n\nChange-Id: Ie9508f05907a9f693882d4d32a564460bf273ee8\n\n(cherry picked from commit e832e64a7e82d7f72aedbd7d798fb929d458ee8f)\n"
    },
    {
      "commit": "440e3e3f103163a11ebce6376ac79c755c395c2a",
      "tree": "441207afb5a4577a9fa088612c3fa7a1f9da5482",
      "parents": [
        "6eb53ad4fa267c589cd129b68f7d377e589bce88",
        "20ed5af7a623a2d095082f8d6f53151c46fb8842"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Nov 18 02:22:09 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 18 02:22:10 2014 +0000"
      },
      "message": "Merge \"Enable the hspace compaction on OOM by default.\""
    },
    {
      "commit": "20ed5af7a623a2d095082f8d6f53151c46fb8842",
      "tree": "8fc5b4697b80cfcb76e75dc0fbb138310cdb6f99",
      "parents": [
        "974eb9554259536daa74a729ec917bf829ed0301"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Nov 17 18:05:44 2014 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Nov 17 18:05:44 2014 -0800"
      },
      "message": "Enable the hspace compaction on OOM by default.\n\n(cherrypick commit d3f228062a1d71ce6ace2f31ecf369ae247633c2)\n\nBug: 18377775\nChange-Id: I4a0998c7f35b6418004e92bc07926abc9b74962a\n"
    },
    {
      "commit": "6eb53ad4fa267c589cd129b68f7d377e589bce88",
      "tree": "2e876c4552658cd2c6893f01902942e70a8c9b4a",
      "parents": [
        "a2eb8cb3390240b30910d1f5497dfe8fb111bd1a",
        "d9df67041c54d6416cb53ca8822fe6aa552927e9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 18 01:40:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 18 01:40:23 2014 +0000"
      },
      "message": "Merge \"Add denver64 as a known ARM64 variant.\""
    },
    {
      "commit": "d9df67041c54d6416cb53ca8822fe6aa552927e9",
      "tree": "640778a5243bbbed48fad7c1c75aabd35628b9b6",
      "parents": [
        "410709facb361c5503c7825f01edd264f4450666"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Nov 17 16:43:15 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Nov 17 16:43:15 2014 -0800"
      },
      "message": "Add denver64 as a known ARM64 variant.\n\nOther bits of instruction_set_features_test clean up.\nBug: 18385422\n\nChange-Id: Ic48cfa0564b41ea140805a700de7c1e51addf49d\n"
    },
    {
      "commit": "9c7d8bcc60d3c80df074ebac6ec62cf60a852bfa",
      "tree": "a72910b509d54f039a25a04191dbdfbb4338c660",
      "parents": [
        "974eb9554259536daa74a729ec917bf829ed0301"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 17 14:52:44 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 17 15:36:43 2014 -0800"
      },
      "message": "Change IsZygote test to !IsCompiler\n\nEnables test coverage through run test 118.\n\nChange-Id: I21ce32e83629eb507b8440cebdd721d29171a984\n"
    },
    {
      "commit": "fd04b6f89238af5da682805aa11899639fb4ee07",
      "tree": "e1c2fc7eed43c7d644003c6cc3ec7311624a3dfe",
      "parents": [
        "d777112c261696f60536c1b9cd2a407722a90137"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 14 19:34:18 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 17 14:43:21 2014 -0800"
      },
      "message": "Combine image string char arrays into single array\n\nHaving one giant char array shared between all the strings saves memory\nsince it avoids the 12 bytes of array overhead per image string. Also\nadded substring finding based on prefixes, strings are added into the\narray in reverse sorted length.\n\nImage size goes from 11767808 -\u003e 11100160.\n\nBug: 17643507\n\nChange-Id: I2a7f177b40d0458d5c50640643d8f16b0030bdce\n\n(cherry picked from commit 23c1d0ca7ab63f4adad88631bddefb769d0dcc2c)\n"
    },
    {
      "commit": "bc58ede2eebe20d592959b88c36fb74d4d832441",
      "tree": "d7fe67259afb70cb9ff911762c7edccc1d68ed1d",
      "parents": [
        "5d99e333bcb454add372fe776a00d3172146bd6b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 17 12:36:24 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 17 13:21:43 2014 -0800"
      },
      "message": "Don\u0027t call AddImageStringsToTable or MoveImageClassesToClassTable if running imageless\n\nIf we fail to create the image we use imageless running, this was\nbreaking AddImageStringsToTable since we didn\u0027t check for this\ncase. Added a check which avoids calling AddImageStringsToTable and\nMoveImageClassesToClassTable if we don\u0027t have an image.\n\nBug: 18412472\n\n(cherry picked from commit ab1953f35880f94752e1fcde3f6b3f0d3532125b)\n\nChange-Id: Ida18e1fcd04d752d55923e65c3122c0ac0bde728\n"
    },
    {
      "commit": "78959466de4e53d768d135ae301473cc7f4def99",
      "tree": "8dd18ec371c33ac3b70597025a47760825ee7bc7",
      "parents": [
        "4c552bd16758b5e46ebac02be46872e29d0d76c0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 17 10:24:04 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 17 10:38:56 2014 -0800"
      },
      "message": "Change 512 to kLocalsMax.\n\nClean up after cherry pick.\n\nChange-Id: I39308ed1497a94b2a47bba8806e494d066d5f6fc\n"
    },
    {
      "commit": "4c552bd16758b5e46ebac02be46872e29d0d76c0",
      "tree": "c5f82fe21b014cec68f1560e83507835c91c2110",
      "parents": [
        "825365c5db4867e524edf4a8f002fe460ba70f2f",
        "7a7c1db21782fb922d3ffc5c576117812624ea58"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 17 18:24:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 17 18:24:08 2014 +0000"
      },
      "message": "Merge \"Fix ordering of fields with the same name.\""
    },
    {
      "commit": "41da59665556e8dd5601178185c68d48d645500b",
      "tree": "c1f8b5844e3243907a060f663c35370464328609",
      "parents": [
        "410709facb361c5503c7825f01edd264f4450666"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Nov 15 13:07:39 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 17 10:16:34 2014 -0800"
      },
      "message": "Fix reference leaks in ToReflectedMethod and ToReflectedField\n\nUsed ScopedLocalRef to fix, added regression tests.\n\nBug: 18396311\n\n(cherry picked from commit 8c41753e5eda8322b4d992fe88855058f4c0c2e1)\n\nChange-Id: I0ddfc20ac2384c90ff18586242c1f1d9a6d6eb6d\n"
    },
    {
      "commit": "7a7c1db21782fb922d3ffc5c576117812624ea58",
      "tree": "87cd009dff8386d4fd699bf2eb435bd1b38e86b5",
      "parents": [
        "1c18d5d0141ffa76b0838fb99615186dcbefc50e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 17 15:13:34 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 17 18:05:59 2014 +0000"
      },
      "message": "Fix ordering of fields with the same name.\n\nWhile the Java language doesn\u0027t allow multiple fields with\nthe same name in a single class (excluding fields from super\nclasses), the bytecode specification permits it and tools\nsuch as proguard actually generate them. Define the order of\nthese fields by their dex file index and relax the check of\nfield ordering to permit identical names.\n\nBug: 18211592\nChange-Id: I1dee9b2b669a6ea180a2d3a41030efb2aed53950\n"
    },
    {
      "commit": "410709facb361c5503c7825f01edd264f4450666",
      "tree": "24d96349156c86ab31bbc4c1c5720cf8e6813c44",
      "parents": [
        "6990bdab0322da35bb6f38c79b21c241a4347f89",
        "32b12f8ae491e1acfeaee334e9a30c6c0a232072"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Nov 17 16:25:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 17 16:25:20 2014 +0000"
      },
      "message": "Merge \"Fix art_quick_instrumentation_entry stub for x86/x86_64\""
    },
    {
      "commit": "32b12f8ae491e1acfeaee334e9a30c6c0a232072",
      "tree": "62742b8378758ce2087edd750f88397958aa425f",
      "parents": [
        "d45f76e59bf8342491ca02d64721537e06c79f43"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Nov 17 12:46:27 2014 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Nov 17 17:21:24 2014 +0100"
      },
      "message": "Fix art_quick_instrumentation_entry stub for x86/x86_64\n\nFixes bad stack offset for x86 where we read the return pc from an\nincorrect location.\n\nFixes bad register for x86_64. The return pc is the 4th argument of\nthe called C function. It must be passed in rcx instead of r8 (which\nis used for 5th argument).\n\nBug: 18170596\nChange-Id: Idb521d2f6da415448fa61acf8b7d21076822830f\n"
    },
    {
      "commit": "6990bdab0322da35bb6f38c79b21c241a4347f89",
      "tree": "dc5886085d369f19464f129dc60a256dfdb96a69",
      "parents": [
        "7bfb3f8b1748b5bf7e217a1337176ad488dca66a",
        "8315ee03dbee3c48881191b3aedb108d1b626c0b"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Nov 17 16:08:01 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 17 16:08:02 2014 +0000"
      },
      "message": "Merge \"Fix DCHECK in artInstrumentationMethodEntryFromCode\""
    },
    {
      "commit": "8315ee03dbee3c48881191b3aedb108d1b626c0b",
      "tree": "1eaf9f87f3ada579c10cdd82c7a261592516e0a2",
      "parents": [
        "d45f76e59bf8342491ca02d64721537e06c79f43"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Nov 17 16:10:44 2014 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Nov 17 16:13:41 2014 +0100"
      },
      "message": "Fix DCHECK in artInstrumentationMethodEntryFromCode\n\nWe do use the quick to interpreter bridge for deoptimized method. So\nmove the DCHECK only in the else case.\n\nBug: 18170596\nChange-Id: Ife83fd71da7490196ada694a4227b43a9ecbf577\n"
    },
    {
      "commit": "8e1f4f8f848f2dbb36265a019310498a61cd674d",
      "tree": "b6b539b3314fc734aab7bd0d9a3972119202829b",
      "parents": [
        "81852bf5a1d4640b7b22b8a0404ce8401a7219c6"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 05 11:07:30 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 14 14:48:54 2014 -0800"
      },
      "message": "Avoid abort in malformed dex code.\n\nDon\u0027t allow a perceived double monitor-enter on a register\nto abort libartd.\nAllow expected verifier errors in the smali tests.\nTidy includes in the method verifier.\nBug: 17978759\n\nChange-Id: Ic44924c788cd2334f91a047fb41b459b89a1843b\n"
    },
    {
      "commit": "81852bf5a1d4640b7b22b8a0404ce8401a7219c6",
      "tree": "04c532caa84ce82031cce307a5d448830b733624",
      "parents": [
        "ff5298ff1640b730ee62c90ca78fc96b7ee82ec4",
        "d577748c041aa6df599218f3cb31697ecf032730"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 14 19:02:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 14 19:02:33 2014 +0000"
      },
      "message": "Merge \"Fix LinkFieldsComparator.\""
    },
    {
      "commit": "d577748c041aa6df599218f3cb31697ecf032730",
      "tree": "ffa397300b8ee367cd7153a4482df26db64639e6",
      "parents": [
        "59321e0e10ea09694efecf6154704e2743b9bffd"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 12 17:02:02 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 14 18:09:56 2014 +0000"
      },
      "message": "Fix LinkFieldsComparator.\n\nDefine order for primitive types with the same sizes.\nPreviously, the comparator would consider the fields equal\nso the order would depend on std::sort() implementation.\nChanging the STL implementation could silently change the\nfield offsets. (And, unlike std::stable_sort(), the\nstd::sort() doesn\u0027t even need to be deterministic.)\n\nChange-Id: I91fa562f82447606aced64643bea8c70784766b5\n"
    },
    {
      "commit": "7bacaa878d3070e6ecd762f9fef408828c30dcdb",
      "tree": "c480548c6d5f2d3325bd3a1ea1acccdfa2ab377e",
      "parents": [
        "4594ad627a48e249ee1680e954558dea15f0d133",
        "76649e8d775519fe19f2b14d18ac488c13296054"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 14 14:36:43 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 14 14:36:43 2014 +0000"
      },
      "message": "Merge \"Keep original order of fields in Class.\""
    },
    {
      "commit": "76649e8d775519fe19f2b14d18ac488c13296054",
      "tree": "a899ec37ce51672c9e14d2954b2a7af7397e63da",
      "parents": [
        "d94a0a1d2868baaab49f4d2835bca086d98cf763"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 10 18:32:59 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 14 11:33:53 2014 +0000"
      },
      "message": "Keep original order of fields in Class.\n\nThe fields of a class are ordered alphabetically in the dex\nfile. Keep the same order in the field arrays so that we can\ndo binary search lookups by name. Those lookups will be\nimplemented in a subsequent change in libcore/.\n\nBug: 18211592\n\n(cherry picked from commit bfa3ed0ad988e1da13626ddbaf6dcae0c58ea79e)\n\nChange-Id: I8f979de62ffe37d1c7d5c721717d2f3501e7c9e6\n"
    },
    {
      "commit": "72a122c33dadde5661a39aaa0a10bc1dbff16ce6",
      "tree": "1ab83f991429c6737f154ea1f371bb3f06e9f82e",
      "parents": [
        "0e57decfd5e56f12f42c9663f8e6147237b86039"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 13 19:10:33 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 13 19:12:07 2014 -0800"
      },
      "message": "ART: Fix last lpae occurrence, Arm64 generic\n\nFix the last occurrence of an lpae string in the default\ninstruction-set-feature strings (should be removed).\n\nAllow \"generic\" Arm64 variant (same as \"default\").\n\nChange-Id: I8bdd9fc7f596245e6541469664db01b3e781c51c\n"
    },
    {
      "commit": "0e57decfd5e56f12f42c9663f8e6147237b86039",
      "tree": "122892c8f2c1290fe7b771cd9485d59a1c7351fa",
      "parents": [
        "963ab93759c051af21c07669f0d3f345e60b1da8",
        "851df20225593b10e698a760ac3cd5243620700b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 14 00:47:35 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 14 00:47:36 2014 +0000"
      },
      "message": "Merge \"ART: Multiview assembler_test, fix x86-64 assembler\""
    },
    {
      "commit": "851df20225593b10e698a760ac3cd5243620700b",
      "tree": "e4414bc2fbad4e73785e3ef336ab2278d85aa496",
      "parents": [
        "3225b83903329ba7745f6785127e09ff040492cf"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 12 14:05:46 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 13 16:31:59 2014 -0800"
      },
      "message": "ART: Multiview assembler_test, fix x86-64 assembler\n\nExpose \"secondary\" names for registers so it is possible to test\n32b views for 64b architectures.\n\nAdd floating-point register testing.\n\nRefactor assembler_test for better code reuse (and simpler adding\nof combination drivers).\n\nFix movss, movsd (MR instead of RM encoding), xchgl, xchgq,\nboth versions of EmitGenericShift.\n\nTighten imull(Reg,Imm), imulq(Reg,Imm), xchgl and xchgq encoding.\n\nClarify cv*** variants with a comment.\n\nAdd tests for movl, addl, imull, imuli, mull, subl, cmpqi, cmpl,\nxorq (regs), xorl, movss, movsd, addss, addsd, subss, subsd, mulss,\nmulsd, divss, divsd, cvtsi2ss, cvtsi2sd, cvtss2si, cvtss2sd, cvtsd2si,\ncvttss2si, cvttsd2si, cvtsd2ss, cvtdq2pd, comiss, comisd, sqrtss,\nsqrtsd, xorps, xorpd, fincstp, fsin, fcos, fptan, xchgl (disabled,\nsee code comment), xchgq, testl, andl, andq, orl, orq, shll, shrl,\nsarl, negq, negl, notq, notl, enter and leave, call, ret, and jmp,\nand make some older ones more exhaustive.\n\nFollow-up TODOs:\n1) Support memory (Address).\n2) Support tertiary and quaternary register views.\n\nBug: 18117217\nChange-Id: I1d583a3bec552e3cc7c315925e1e006f393ab687\n"
    },
    {
      "commit": "d582fa4ea62083a7598dded5b82dc2198b3daac7",
      "tree": "c76704c266ef4687eab425612ddf3fd24f93fe8d",
      "parents": [
        "f20076ff813b8012096ff31af236d59db3c0f4e1"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 05 23:46:43 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Nov 13 16:17:46 2014 -0800"
      },
      "message": "Instruction set features for ARM64, MIPS and X86.\n\nAlso, refactor how feature strings are handled so they are additive or\nsubtractive.\nMake MIPS have features for FPU 32-bit and MIPS v2. Use in the quick compiler\nrather than #ifdefs that wouldn\u0027t have worked in cross-compilation.\nAdd SIMD features for x86/x86-64 proposed in:\n  https://android-review.googlesource.com/#/c/112370/\n\nBug: 18056890\n\nChange-Id: Ic88ff84a714926bd277beb74a430c5c7d5ed7666\n"
    },
    {
      "commit": "67ab6192a9cf1781521692212fa48889a8d36e94",
      "tree": "ac25c062ab8eaaf73375c53c483e2a6376d6a1ac",
      "parents": [
        "5b23aae6a7701fadebdd342304f102bc099eda35",
        "ec17f98e7a4efecc93a7d75fd17d5b45cf1576fa"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Nov 13 19:09:36 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 13 19:09:36 2014 +0000"
      },
      "message": "Merge \"kill HAVE_GETHOSTBYNAME_R\""
    },
    {
      "commit": "4545d773856203eab6b026f66a005ee75b33e1c8",
      "tree": "11cbf98145d0da4386fc0034d42576f889b0777c",
      "parents": [
        "346bcbde27e4620ed1e7bce91728f22069a371f0"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Nov 13 10:34:29 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Nov 13 10:40:50 2014 -0800"
      },
      "message": "Disable DumpNativeStack.\n\nCauses crashes on 004-ThreadStress, already was a no-op on the target.\nBug: 15446488\n\nChange-Id: I9a1541b894087337dafa3fdde00d845f3542b141\n"
    },
    {
      "commit": "ec17f98e7a4efecc93a7d75fd17d5b45cf1576fa",
      "tree": "52c7b3994b787e90c9debc0dc2ea1c5b82189a6b",
      "parents": [
        "346bcbde27e4620ed1e7bce91728f22069a371f0"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Nov 13 10:29:25 2014 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Nov 13 10:29:25 2014 -0800"
      },
      "message": "kill HAVE_GETHOSTBYNAME_R\n\nBug: 18363225\nChange-Id: I71a62235db14412d2471f20ea663beb7df7326cd\n"
    },
    {
      "commit": "4ad5cd3e7d519484559ef778d96fb3f0be8919fa",
      "tree": "9870938a0552b4fe472d9994a55a3bf761fc69d5",
      "parents": [
        "741e287b60136db49ecf8da72f2b5ca48b0a39bd"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 11 23:08:07 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 12 15:29:12 2014 -0800"
      },
      "message": "Modify the behavior of thread suspend shootouts.\n\nThe thread doing the suspension doesn\u0027t attempt to suspend the other thread\nunless it knows another thread isn\u0027t trying to suspend it. Use the suspend\ncount, and its lock, for this purpose.\nRe-enable ThreadStress test.\nBug: 15446488\n\nChange-Id: Idd34410c7b89d8abd6973e5699a15ca699472c78\n"
    },
    {
      "commit": "741e287b60136db49ecf8da72f2b5ca48b0a39bd",
      "tree": "4c77bb2b7a95a41460a2eb89c1ab97047e8545ba",
      "parents": [
        "81ea72beefbf304cdc02942d131f5a5dab69e648",
        "e73a0642386aa48e93c4761d85f5fa07d703c04f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Nov 12 22:12:42 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 12 22:12:43 2014 +0000"
      },
      "message": "Merge \"Use the new name for the libc++ libbacktrace.\""
    },
    {
      "commit": "00691749d0ae8a1e7fe94ec3ace2cd1f1f5afe8a",
      "tree": "84adaaad2d909cf0ba4e970f605c648660d17312",
      "parents": [
        "de59a0a86ee9a69735aef60d8924b99c9d1d462b",
        "53463ea90640c417a6109c7fd987ec3f2e97b52f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Nov 12 18:41:23 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 12 18:41:24 2014 +0000"
      },
      "message": "Merge \"Use CommonRuntimeTest::boot_class_path_ in DexMethodIteratorTest\""
    },
    {
      "commit": "445120568460cae68d37a27ac39477fbf20952fc",
      "tree": "0b36b90a5fe22ab58d220b282f9fd34c9d7a3e31",
      "parents": [
        "59321e0e10ea09694efecf6154704e2743b9bffd"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 12 15:41:57 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 12 16:03:21 2014 +0000"
      },
      "message": "Fix bad OOM check in Thread::CreatePeer().\n\nBug: 18342629\n\n(cherry picked from commit 7bcea103af7cd130254835a30b45d5277a478074)\n\nChange-Id: I5d5c7511bbc705d040095f4934d98d326d54d39e\n"
    },
    {
      "commit": "401da919c67ceb8fbcac81596327ecc10b73389b",
      "tree": "58afbd331631b6603effd629e14a3f74dbe0a277",
      "parents": [
        "b5c49cf896480e993aa0e087646b40ac325876f8",
        "ad11e7af5d7be04b35bdc5c17e6c058b9b1d8b49"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 12 01:42:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 12 01:42:46 2014 +0000"
      },
      "message": "Merge \"Don\u0027t try to handle nested SIGSEGV inside fault handler.\""
    },
    {
      "commit": "ad11e7af5d7be04b35bdc5c17e6c058b9b1d8b49",
      "tree": "022b57dcb03c2bf3111f40de27c6de8805f9c7ea",
      "parents": [
        "f4d4da18aa1914d10264082bd0433f59bff45453"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 11 16:55:11 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 11 16:55:11 2014 -0800"
      },
      "message": "Don\u0027t try to handle nested SIGSEGV inside fault handler.\n\nTrying to handle nested SIGSEGV in the fault handler leads to infinite signals\nand retrying if the cause of the SIGSEGV was a lack of stack space. This can\nlead to applications not chaining through to debuggerd and dying.\nBug: 18330119\n\nChange-Id: Iadcffe0fa0e55d783b84a06504bbd9d181e641e4\n"
    },
    {
      "commit": "b5c49cf896480e993aa0e087646b40ac325876f8",
      "tree": "48e82f095bd018e0a83e4f12752c4823aa661214",
      "parents": [
        "3eb2abbe3ddb419ff5b2c16d7c5dee15c755af62",
        "f4d4da18aa1914d10264082bd0433f59bff45453"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 12 00:15:58 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 12 00:15:58 2014 +0000"
      },
      "message": "Merge \"Allow JNI AttachCurrentThread to fail if not enough stack.\""
    },
    {
      "commit": "f4d4da18aa1914d10264082bd0433f59bff45453",
      "tree": "16edc1787c285135a0012cfc8737a8b89987f24b",
      "parents": [
        "4c9c251c2a32cd8d1be21bc47a9188358cb9f17f"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 11 16:10:33 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 11 16:10:33 2014 -0800"
      },
      "message": "Allow JNI AttachCurrentThread to fail if not enough stack.\n\nAdd unit tests and move JavaVM JNI tests into there own set of gtests.\nBug: 18330119\n\nChange-Id: I0e93dff783b1f5d787b3084d24122883e14951a1\n"
    },
    {
      "commit": "e73a0642386aa48e93c4761d85f5fa07d703c04f",
      "tree": "f2dce5631d6017aa4455c448f11d734abec2bb59",
      "parents": [
        "3eb2abbe3ddb419ff5b2c16d7c5dee15c755af62"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Nov 11 15:14:07 2014 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Nov 11 15:14:07 2014 -0800"
      },
      "message": "Use the new name for the libc++ libbacktrace.\n\nI\u0027m removing the stlport flavored libbacktrace, so the libc++ one can\nhave the normal name now.\n\nBug: 15193147\nChange-Id: Ie138bc8034533cae56ea15095eebc5f52e56f32d\n"
    },
    {
      "commit": "e07fd17f3c45034470eb6f5a265152a39854995c",
      "tree": "5271ec9726d821aa23a6573ed5bd50083ebd11f4",
      "parents": [
        "4c9c251c2a32cd8d1be21bc47a9188358cb9f17f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 10 16:58:19 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 11 09:42:17 2014 -0800"
      },
      "message": "Add null check for thread name creation\n\nPreviously we didn\u0027t check for null which could result in check jni\nfailures if we tried to throw another OOM in the next allocation.\n\nBug: 18297817\n\n(cherry picked from commit a7ade888ab99b1453571d14c41d4a0322c400fcd)\n\nChange-Id: Ideef46f4900e546e81fbd9a5225c06698f36e9ac\n"
    },
    {
      "commit": "4c9c251c2a32cd8d1be21bc47a9188358cb9f17f",
      "tree": "f9b62d2bf0ff333234fc9a8dc62bd7b90279cb5e",
      "parents": [
        "d6425d7bb909b668341d9781c567f35f6d10ea16",
        "2f022bd02badb6a3b3edd5b65416a4235c665ccc"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 11 16:49:46 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 11 16:49:47 2014 +0000"
      },
      "message": "Merge \"Add jni_internal_test for GetArrayLength(NULL).\""
    },
    {
      "commit": "2f022bd02badb6a3b3edd5b65416a4235c665ccc",
      "tree": "a763fd066cca00d009884ea76622e4ca84a88fa3",
      "parents": [
        "3385675ee6fc835929c6c0385d328b207b662169"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 11 08:43:05 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 11 08:43:05 2014 -0800"
      },
      "message": "Add jni_internal_test for GetArrayLength(NULL).\n\nChange-Id: I6c6ad38de3b60d58e6bcf734714f5fad29e73c30\n"
    },
    {
      "commit": "e0b46a7513980b5bcb3c3af160a5b3ee077fad2d",
      "tree": "d83ba1cd59ffc72fdba820b8a6d18e2021b04b04",
      "parents": [
        "fa7ec00ae4f9f8b1c8e1ad809155cfa675a0121d"
      ],
      "author": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Wed Nov 05 16:13:18 2014 +0600"
      },
      "committer": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Tue Nov 11 11:18:15 2014 +0600"
      },
      "message": "Fix x86 art_quick_set64_instance quick entrypoint\n\nart_quick_set64_instance accept ebx as a 4-th parameter.\nAt the same time it is used as a temporary for SETUP_REFS_ONLY_CALLEE_SAVE_FRAME.\nWe should preserve it and restore to pass the right value to artSet64InstanceFromCode.\n\nChange-Id: Iac0a32583be1015e502ae0f8ff57c4b9c0301730\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\n"
    },
    {
      "commit": "53463ea90640c417a6109c7fd987ec3f2e97b52f",
      "tree": "9c225f1ba59f29bb80e6bd1e4581173eb3bb4a23",
      "parents": [
        "fa7ec00ae4f9f8b1c8e1ad809155cfa675a0121d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Nov 09 14:11:51 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Nov 10 17:09:16 2014 -0800"
      },
      "message": "Use CommonRuntimeTest::boot_class_path_ in DexMethodIteratorTest\n\nIn addition, remove some other unnecessary dependencies.\n\nChange-Id: I5ec97b54c3c064ea98feb70dbfd226118ec98290\n"
    },
    {
      "commit": "29af7b94e0130f9a7150c4a180952c5e14a5d128",
      "tree": "2c888d3501a8b859bcaf63bc617570d9f75d4ce6",
      "parents": [
        "661ed6935006bcd9067358c3667d723b0e5ba9e5",
        "8db9dcdabfb8eb6be1211da6667bee889277223d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 19:14:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 10 19:14:32 2014 +0000"
      },
      "message": "Merge \"ART: Prune links in the dalvik cache\""
    },
    {
      "commit": "8db9dcdabfb8eb6be1211da6667bee889277223d",
      "tree": "d84d3e21175430ebffd7b76c21d14049bac46de8",
      "parents": [
        "974bc2747b345667e07692109d63675ec50955a3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Nov 09 18:14:30 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 10:28:34 2014 -0800"
      },
      "message": "ART: Prune links in the dalvik cache\n\nWhen pruning the isa-specific directory of the cache, also remove\nsymbolic links.\n\nBug: 18035729\nBug: 18153744\nChange-Id: I40347ee77e95ff9fc8e6107ba661338f5c7b1db9\n(cherry picked from commit de5ed50940452f06b00514af0667972542ee5d59)\n"
    },
    {
      "commit": "5f9a95423dda3a2f945c81a04107fedf18e2c2c1",
      "tree": "27f55e828ea076674f9bc510523c675fe6caf3b5",
      "parents": [
        "974bc2747b345667e07692109d63675ec50955a3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 07 18:38:47 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 10 10:07:57 2014 -0800"
      },
      "message": "Delete unused imtable field\n\nBug: 17643507\n\nChange-Id: I1fc7ca2d3bdf1810bcc3b46f867b68a4a6d28ed3\n\n(cherry picked from commit f2d556401ec1d82fec31c0b29d712de18d838282\n"
    },
    {
      "commit": "97c1a658b063ac202a29d31b5c0ef55a6f233537",
      "tree": "968ae2895ba34198ca95db66433b458c8b6a84e5",
      "parents": [
        "df62f34281407990a48b4346e16c99d6bb3a648b",
        "896df40bbb20f4a1c468e87313b510c082016dd3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Nov 09 20:45:03 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Nov 09 20:45:04 2014 +0000"
      },
      "message": "Merge \"ART: Fix possible soft+hard failure in verifier\""
    },
    {
      "commit": "896df40bbb20f4a1c468e87313b510c082016dd3",
      "tree": "918c0656583d807566f9247b23ef2698700a4218",
      "parents": [
        "00b2da5c02339c36ffa4006f731f55203b09265d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 20 22:25:29 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Nov 09 12:42:42 2014 -0800"
      },
      "message": "ART: Fix possible soft+hard failure in verifier\n\nIt was possible to generate a hard failure and a subsequent soft\nfailure, which violates a CHECKed invariant.\n\nRefactor code slightly to share common code.\n\nBug: 17625962\n\n(cherry picked from commit f08663b47ccd3aa083972d62937a328ad80d080e)\n\nChange-Id: Iccd9e30f1087363b19b2faedc10243a2290202c0\n"
    },
    {
      "commit": "7947b544d2e716be16f7d9a5324a436b901780f7",
      "tree": "f57e368209e55a91c52d6bb552c131afa2a5e9d8",
      "parents": [
        "d45f76e59bf8342491ca02d64721537e06c79f43"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Nov 09 12:30:50 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Nov 09 12:30:50 2014 -0800"
      },
      "message": "Fix thread pool test valgrind flakiness\n\nThe test used to use the counters to see when the tasks were done\nbut since the counter is incremented before finalize was called, the\ntest would sometimes finish before the objects were freed. This\nresulted in valgrind leaks.\n\nChange-Id: I6dc3cf6a155cde3af5d06b1416773a6ae6f2a6e6\n"
    },
    {
      "commit": "e7c9a8c2b8481aafbc6af4ce6229bd361ba24742",
      "tree": "f6d8fe8fd7aeae117a6547dc4f012cd4085cb4e8",
      "parents": [
        "00b2da5c02339c36ffa4006f731f55203b09265d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 06 16:35:45 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 07 11:45:06 2014 -0800"
      },
      "message": "Add hash map, reduce excessive hashing\n\nChanged the class def index to use a HashMap instead of unordered_map\nso that we can use FindWithHash to reduce how often we need to compute\nhashes.\n\nFixed a bug in ClassLinker::UpdateClass where we didn\u0027t properly\nhandle classes with the same descriptor but different class loaders.\nIntroduced by previous CL.\n\nBefore (fb launch):\n1.74% art::ComputeModifiedUtf8Hash(char const*)\n\nAfter:\n0.95% art::ComputeModifiedUtf8Hash(char const*)\n\nBug: 18054905\nBug: 16828525\n\nChange-Id: Iba2ee37c9837289e0ea187800ba4af322225a994\n\n(cherry picked from commit 564ff985184737977aa26c485d0c1a413e530705)\n"
    },
    {
      "commit": "10d543c44ba878ba2037b0b945ce259b0a5dd605",
      "tree": "4d6655d3e6cfc1a1d063b926abd05a39cd5cc2a0",
      "parents": [
        "bcc1ce07df3bc584d17c00ca9302921afe0795a4",
        "d7576328811e5103e99d31f834a857522cc1463f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 07 16:21:12 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 07 16:21:13 2014 +0000"
      },
      "message": "Merge \"ART: Fix valgrind\""
    },
    {
      "commit": "a0b34518cf3f3801407624d95846f8ff90c05d25",
      "tree": "1f1df690f6018c415215792a96cb7c7ded9dd9fd",
      "parents": [
        "88af00a788002196e6f98acd3748f3f4956032bf"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Oct 07 12:51:26 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Nov 07 12:51:48 2014 +0000"
      },
      "message": "Fix thread priorities for unstarted threads.\n\nCalls to Thread.setPriority for unstarted threads now behave\nsimilar to dalvik. Note that there\u0027s still some inconsistent\nbehaviour carried over from dalvik.\n\n- high priority threads from bg_non_interactive processes are\n  not always moved to the SP_FOREGROUND cgroup.\n- we do not attempt to adjust the cgroup of a native thread\n  that\u0027s attaching.\n\nNote that on android, the system_server will change the\ncgroups for all running threads in a process when it moves\ninto the foreground and background. It\u0027s by design that\nthreads in a background process can request to be moved\nto the foreground by setting a higher priority.\n\nbug: 17893086\n\n(cherry picked from commit 1bd326a5e2aaff06a5bcae9cb2c42a4e8de31401)\n\nChange-Id: Iad362f7c5c8697c349f2b6d7fcba69a4e141883e\n"
    },
    {
      "commit": "40d3518414202f33c9569ddd8daceabb30208fc2",
      "tree": "a28dd757a6a9d212a8d2feb3dfdbcfe584e18c6d",
      "parents": [
        "88af00a788002196e6f98acd3748f3f4956032bf"
      ],
      "author": {
        "name": "Stephen Kyle",
        "email": "stephen.kyle@arm.com",
        "time": "Fri Oct 03 13:47:56 2014 +0100"
      },
      "committer": {
        "name": "Stephen Kyle",
        "email": "stephen.kyle@arm.com",
        "time": "Fri Nov 07 12:51:33 2014 +0000"
      },
      "message": "ART: Fix crash with unreachable void check-cast\n\nreturn-void\ncheck-cast v0, V\nreturn-void\n\nThe above code sequence will not be rejected for the check-cast of a\nvoid type because the check-cast is not reachable. However, when\nGenerateSafeCastSet() is called from the compiler, this will cause\nIsAssignableFrom(Conflict, Undefined) to be called, as it scans for all\ncheck-casts across the code, regardless of its reachableness.\n\nRegType::AssignableFrom() has been changed to handle a Conflict type,\nwhereas previously this would break the check that the lhs type is a\nReferenceType.\n\nAdditionally, GenerateSafeCastSet has been changed to never assess\ninstructions that weren\u0027t visited during verification.\n\nIncluded is a new test DEX file, 801-VoidCheckCast, that uses this code\nsequence.\n\nChange-Id: I600055ab670ee48a075ffa867b46d2e74f5aa9c0\nSigned-off-by: Stephen Kyle \u003cstephen.kyle@arm.com\u003e\n"
    },
    {
      "commit": "d7576328811e5103e99d31f834a857522cc1463f",
      "tree": "5c20cecc09ca8786434b663cbfcad31e56c7ac72",
      "parents": [
        "b7ce2074ef43ff221cdec6ddba953f0b0c67447b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 24 22:13:45 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 06 19:47:07 2014 -0800"
      },
      "message": "ART: Fix valgrind\n\nAllow ValgrindMallocSpace wrapper for RosAlloc.Requires refactoring,\nas ValgrindMallocSpace was bound to the signature of DlMallocSpace.\n\nAlso turn of native stack dumping when running under Valgrind to\nwork around b/18119146.\n\nRitzperf before and after\nMean               3190.725   3082.475\nStandard Error     11.68407   10.37911\nMode               3069       2980\nMedian             3182.5     3051.5\nVariance           16382.117  12927.125\nStandard Deviation 127.99264  113.69751\nKurtosis           1.1065632  0.3657799\nSkewness           0.9013805  0.9117792\nRange              644        528\nMinimum            2991       2928\nMaximum            3635       3456\nCount              120        120\n\nBug: 18119146\nChange-Id: I25558ea7cb578406011dede9d3d0bdbfee4ff4d5\n"
    },
    {
      "commit": "88af00a788002196e6f98acd3748f3f4956032bf",
      "tree": "08da0f91b45f9c11758f240a99938a8ebc0e9077",
      "parents": [
        "0006f29d646f75727f792c031fc6499b7e28f153",
        "ec520ef96ae9581b2036e14b255c0c5fde153eb2"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Nov 06 17:43:39 2014 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Nov 06 17:43:39 2014 -0800"
      },
      "message": "Merge remote-tracking branch \u0027goog/stage-aosp-master\u0027 into HEAD\n"
    },
    {
      "commit": "ec520ef96ae9581b2036e14b255c0c5fde153eb2",
      "tree": "e1894d5c2eb054b483905e8c90f13ef80c88e347",
      "parents": [
        "72d497d514116d0f411c46e6d4ab44df68f55045",
        "b7ce2074ef43ff221cdec6ddba953f0b0c67447b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 07 00:58:31 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 07 00:58:31 2014 +0000"
      },
      "message": "am b7ce2074: Merge \"Mac host doesn\\\u0027t define ART_USE_FUTEXES.\"\n\n* commit \u0027b7ce2074ef43ff221cdec6ddba953f0b0c67447b\u0027:\n  Mac host doesn\u0027t define ART_USE_FUTEXES.\n"
    }
  ],
  "next": "0006f29d646f75727f792c031fc6499b7e28f153"
}
