)]}'
{
  "log": [
    {
      "commit": "816b2b3f704d61ba608ad2c3513d4697e7fb5dfe",
      "tree": "c13905f7fcf31612d5ff60662371c8c642cd5fc7",
      "parents": [
        "43c6d31c43c05d97511bb9658964fd3d2f32b915",
        "d930929be93798d790c91dd05adf2c038508f1b0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 02 13:52:48 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 02 13:52:48 2015 +0000"
      },
      "message": "Merge \"Fix inlining and lse bugs with unresolved access.\""
    },
    {
      "commit": "d930929be93798d790c91dd05adf2c038508f1b0",
      "tree": "ef7a9b70e2e8f14ae2b49a07ca04b2fa1cee8496",
      "parents": [
        "289c4e3a10acb6d0250dc25dd42465ca4d08c762"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Oct 31 22:21:31 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 02 13:45:30 2015 +0000"
      },
      "message": "Fix inlining and lse bugs with unresolved access.\n\nbug:25414532\n\nChange-Id: I48b6660754774ea3e8a62a74175b1aa3728e0151\n"
    },
    {
      "commit": "3e0597facd506073fcf91db2d81ae2ffdce6b701",
      "tree": "05e6e5bb0a0a1f8dcadbf2c0939f363f4622970c",
      "parents": [
        "c74e69f831608964f89ac7a641fbcc09156eefaa",
        "951779839f0d35ed5336f399c8f521fd9a6b7c27"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Oct 30 20:05:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 30 20:05:29 2015 +0000"
      },
      "message": "Merge \"ART: Enable inlining under try/catch\""
    },
    {
      "commit": "951779839f0d35ed5336f399c8f521fd9a6b7c27",
      "tree": "eb678f58590287e04585bc92202c45b4120c9a0e",
      "parents": [
        "34e38c43d4728fb1d3a011f8c142bff94927f6fb"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Oct 30 12:56:58 2015 -0500"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Oct 30 15:02:37 2015 -0500"
      },
      "message": "ART: Enable inlining under try/catch\n\nThis patch updates the inliner to set try/catch information\nwhen inlining into a method with try/catch. It does not yet\nallow inlining of methods with try/catch because that will\nrequire generating catch stack maps with inline info.\n\nChange-Id: I7d57e1454e7da537d75c5c7eda60b22f3a30fa60\n"
    },
    {
      "commit": "c74e69f831608964f89ac7a641fbcc09156eefaa",
      "tree": "284112345185cd3ef21feaeaa6060606cfbbbda8",
      "parents": [
        "564420bc5b37572d45067fd71ed64d818ef3030d",
        "7cffc3b0004d32faffc552c0a59286f369b21504"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 30 18:17:00 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 30 18:17:00 2015 +0000"
      },
      "message": "Merge \"ART: Arm32 packed-switch jump tables\""
    },
    {
      "commit": "7cffc3b0004d32faffc552c0a59286f369b21504",
      "tree": "e3838b8ba2a782ed91ef8faa381362b7a686a32a",
      "parents": [
        "9e1b56f0e77aa5b6c72374b86d0cef58484ddcaa"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 19 21:31:53 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 30 11:15:26 2015 -0700"
      },
      "message": "ART: Arm32 packed-switch jump tables\n\nAdd jump table support to the thumb2 assembler. Jump tables are\na collection of labels for the case targets, and an anchor label\ndenoting the position of the jump.\n\nUse the jump table support to implement packed-switch support for\narm32.\n\nAdd tests for BindTrackedLabel and JumpTable to the thumb2 assembler\ntest.\n\nBug: 24092914\nChange-Id: I5c84f193dfebf9e07f48678efc8bd151bb1410dd\n"
    },
    {
      "commit": "34e38c43d4728fb1d3a011f8c142bff94927f6fb",
      "tree": "4233fb0c482d127c62b95b0dffaccffbd1023118",
      "parents": [
        "469e9c4515cb68509f02def2fe6c0465ffb55628",
        "9f51f26b815fb955a3b91df86d54acd3f41480e4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 30 16:42:15 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 30 16:42:15 2015 +0000"
      },
      "message": "Merge \"X86: Add support for ucomis[sd] reg/memory form\""
    },
    {
      "commit": "469e9c4515cb68509f02def2fe6c0465ffb55628",
      "tree": "d71e88ac9b0862dc04a25325ff950ea91179ae93",
      "parents": [
        "289c4e3a10acb6d0250dc25dd42465ca4d08c762",
        "d1eaf0dc9abc42dbcbbd9c4b98bf930ae5f394f3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 30 16:26:49 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 30 16:26:49 2015 +0000"
      },
      "message": "Merge \"Keep list of dex files for oat file in CompilerDriver.\""
    },
    {
      "commit": "d1eaf0dc9abc42dbcbbd9c4b98bf930ae5f394f3",
      "tree": "335509fbc92becce5cb08e23361e2cae86756729",
      "parents": [
        "594c0612519e96bcc1bd42ff4dcbfa2c53b09c5a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 29 12:18:29 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 30 15:38:39 2015 +0000"
      },
      "message": "Keep list of dex files for oat file in CompilerDriver.\n\nUse this list to improve invoke-static/-direct dispatch for\nintra-oat calls.\n\nAlso fix a latent ArmBaseRelativePatcher::ReserveSpaceEnd()\nbug exposed by a buggy early version of this CL: when we\nhave unresolved patches at the end of all code, we need to\nemit a final thunk. Though the OatWriter will try to patch\nthe unresolved call to a trampoline at the beginning of the\noat file, that trampoline may be too far and the relative\npatcher doesn\u0027t know about it anyway, so it needs to assume\nthat a thunk is needed.\n\nThis reduces the overall size of oat files present in dalvik\ncache on Nexus 9 after first boot by over 1MiB, AOSP ToT,\naosp_flounder-userdebug build.\n\nChange-Id: I98604b70cb17377eed057c1c23971865cf344e43\n"
    },
    {
      "commit": "9f51f26b815fb955a3b91df86d54acd3f41480e4",
      "tree": "a22b5526f9c7f077c042b10416d1155df08fe748",
      "parents": [
        "13f6af0f9c8af1fce34e9610ad9d30d4d0434478"
      ],
      "author": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Fri Oct 30 09:21:37 2015 -0400"
      },
      "committer": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Fri Oct 30 09:21:37 2015 -0400"
      },
      "message": "X86: Add support for ucomis[sd] reg/memory form\n\nAllow an Address as the second operand.\n\nChange-Id: I4940829e2e4bfe0cddef3808265fdb638ac07b7e\nSigned-off-by: Mark Mendell \u003cmark.p.mendell@intel.com\u003e\n"
    },
    {
      "commit": "f31f9739e6cb06298604f5fb723db2ab9a8f2962",
      "tree": "2fda8cbe8767c71a11e1830f0b335ce957d077d4",
      "parents": [
        "70d95b4cabcabff7eda37e9e8348744891008e65",
        "abbb0f76b07417f13f712f54d5afddb72e3b9931"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 30 11:48:08 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 30 11:48:08 2015 +0000"
      },
      "message": "Merge \"Refactor code so that JIT can parse compiler options.\""
    },
    {
      "commit": "abbb0f76b07417f13f712f54d5afddb72e3b9931",
      "tree": "bb26eeb28b58aed669ad16af30aa35771eb02be4",
      "parents": [
        "594c0612519e96bcc1bd42ff4dcbfa2c53b09c5a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 29 18:55:58 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 30 11:17:00 2015 +0000"
      },
      "message": "Refactor code so that JIT can parse compiler options.\n\nCurrently only the CompilerOptions class. We should also\ndo it for the CompilerDriver options.\n\nThis will fix the flakiness seen on jdwp testing, as the\ndebuggable flag was not passed to the compiler.\n\nChange-Id: I4218dd5928c9f4fe2d6191ab11e5598e7cf84bcf\n"
    },
    {
      "commit": "70d95b4cabcabff7eda37e9e8348744891008e65",
      "tree": "b652f21fa0bebaf6c290501636adc1b07f591932",
      "parents": [
        "56c8c9ec60a1a887bd39302fa8e2a422cb86fc80",
        "701566aaae098d5aab9d912e2003a18d44fb850d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 30 03:12:15 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 30 03:12:15 2015 +0000"
      },
      "message": "Merge \"MIPS32: Create infrastructure to support intrinsics\""
    },
    {
      "commit": "701566aaae098d5aab9d912e2003a18d44fb850d",
      "tree": "80dc26543cf557528b5765307a16256a126c2cc1",
      "parents": [
        "c65d1f3d26a47e2fce3c3f8872e7942fec23f9b9"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Tue Oct 27 15:29:13 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 29 20:06:28 2015 -0700"
      },
      "message": "MIPS32: Create infrastructure to support intrinsics\n\nAdd an empty intrinisics implementation for MIPS32.\n\nChange-Id: I3f46ade1c548e6453f094ce200e66232348ef467\n"
    },
    {
      "commit": "d13f2b35546d421f570c64654ad8479caf1165d6",
      "tree": "535c21c9a181b87d15839151b26f65266c418a9f",
      "parents": [
        "8cb0bc28b1161dad0d2c2c1e75318b7e504faa46",
        "771e5cc519665ce0cc76985bb4803f0dd50c3b40"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Oct 29 22:47:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 29 22:47:59 2015 +0000"
      },
      "message": "Merge \"Revert \"ART: Enable more passes under try/catch\"\""
    },
    {
      "commit": "771e5cc519665ce0cc76985bb4803f0dd50c3b40",
      "tree": "2f6934bc6cb0286d327b7a653be410cf8df43c00",
      "parents": [
        "39fabd6bb6fcf7a712b370d3b6fd0ada83e2e5d8"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Oct 29 22:47:39 2015 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Oct 29 22:47:39 2015 +0000"
      },
      "message": "Revert \"ART: Enable more passes under try/catch\"\n\nBCE does not set TryCatchInformation when creating new blocks.\nWill be fixed with DynamicBCE CL.\n\nThis reverts commit 39fabd6bb6fcf7a712b370d3b6fd0ada83e2e5d8.\n\nChange-Id: I76ae707ac132bb1a4a9f64f4916ffcd786ef730c\n"
    },
    {
      "commit": "9507fa2c9545156747a5eb248bc1af3159bfd8c8",
      "tree": "f8facbd68dabc781cc4f8e76353a418ef633896e",
      "parents": [
        "c65d1f3d26a47e2fce3c3f8872e7942fec23f9b9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 29 15:08:57 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 29 15:22:00 2015 -0700"
      },
      "message": "Change a few places to use string version of GetTypeId\n\nGetTypeId is about 20% faster than GetStringId + integer GetTypeID\nsince it does less binary searches.\n\nChange-Id: I876c4ac89ab206acca217b2287b0197ef2e408c2\n"
    },
    {
      "commit": "c65d1f3d26a47e2fce3c3f8872e7942fec23f9b9",
      "tree": "1b81ca0d711ca0561e933563aee255b516a4191f",
      "parents": [
        "5ad27592e2317b4c7932885eff702099f7cbe0f1",
        "73f1f3be46652d3f6df61b4234c366ebbf81274a"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Oct 29 21:00:17 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 29 21:00:17 2015 +0000"
      },
      "message": "Merge \"Move loop invariant utility to more general place.\""
    },
    {
      "commit": "5ad27592e2317b4c7932885eff702099f7cbe0f1",
      "tree": "0288a1fad8a283a3fb896459bfd1a0c8d8dfa6bf",
      "parents": [
        "e22d85249e6e3985edf5e17a9c28ec26e0e6df3e",
        "39fabd6bb6fcf7a712b370d3b6fd0ada83e2e5d8"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Oct 29 20:30:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 29 20:30:29 2015 +0000"
      },
      "message": "Merge \"ART: Enable more passes under try/catch\""
    },
    {
      "commit": "73f1f3be46652d3f6df61b4234c366ebbf81274a",
      "tree": "0d6c2f9eb2331fd5de5aa4c43ebcb45e857a4682",
      "parents": [
        "f7b7f9984da66149e5fe05713845961d7b069a23"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Oct 28 15:28:08 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Oct 29 13:29:50 2015 -0700"
      },
      "message": "Move loop invariant utility to more general place.\n\nChange-Id: I15ebfbf9684f0fcce9e63d078ff8dc1381fd1ca3\n"
    },
    {
      "commit": "2118d3d673f6874a593024308facde336b3302e7",
      "tree": "426e3fb09e7d0874c63eaa1680ae57d5ba1e13c3",
      "parents": [
        "0b654bce0f8d7c596d4115848b7e4c4dbeadafd5",
        "96709f17347cb7a6aae15816244d2200ca95a649"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Oct 29 18:17:17 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 29 18:17:17 2015 +0000"
      },
      "message": "Merge \"Simplify unsigned comparisons against zero (with unit tests).\""
    },
    {
      "commit": "96709f17347cb7a6aae15816244d2200ca95a649",
      "tree": "c193a1378acb0968318a47ade5eb63121e6c9b3d",
      "parents": [
        "f7b7f9984da66149e5fe05713845961d7b069a23"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Oct 28 17:49:07 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Oct 29 11:04:13 2015 -0700"
      },
      "message": "Simplify unsigned comparisons against zero (with unit tests).\n\nRationale: Such cases occurs a lot after dynamic\n           bound check optimization (where the lower bound\n           is test against upper bound). Removing this\n           unnecessary test improves quality of code.\n\nChange-Id: I3e4dc9f9d799aad342e1c344013ac60fcc3073ac\n"
    },
    {
      "commit": "39fabd6bb6fcf7a712b370d3b6fd0ada83e2e5d8",
      "tree": "09d20062204dedd87c7a7a1163bcdf6d549b39a7",
      "parents": [
        "59cc4e8306879ee7066d51dad4cba140e58c7292"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Oct 26 14:34:30 2015 -0500"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Oct 29 12:07:27 2015 -0500"
      },
      "message": "ART: Enable more passes under try/catch\n\nLICM, BCE, LSE are all safe under try/catch. Inliner and DCE\nneed updating and will be enabled in follow-up CLs.\n\nChange-Id: I86db5f811257d5e765fea91666a2a2af0fb24ec3\n"
    },
    {
      "commit": "d9786b0e5be23ea0258405165098b4216579209c",
      "tree": "88641c107d29d0848ce8219652b8d0b1cdd3755c",
      "parents": [
        "57bee8dc2206404164606d4f5cabde272505f5fa"
      ],
      "author": {
        "name": "Artem Udovichenko",
        "email": "artem.u@samsung.com",
        "time": "Wed Oct 14 16:36:55 2015 +0300"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 29 09:38:06 2015 -0700"
      },
      "message": "Implementation of fast lookup table to search class_def by descriptor\n\nLookup table is a hash table which built at compile time and stored\ninto oat file. At runtime the table is restored and used in the\nmethod DexFile::FindClassDef(const char*) to perform fast search of\nthe class_def_idx by class descriptor. Advantages of the lookup table\nover the HashSet (runtime/base/hash_set.h) are:\n1. Lookup table is built at compile time and uses read-only memory at\nruntime\n2. Lookup table uses less memory then DexFile::Index (less by 80% for\n/system/framework/framework.jar on Nexus5)\n3. Lookup table does less string comparisons compared with HashSet\n(less by 70% for zygote process on Nexus5)\nThe disadvantage of the lookup table is it increased boot.oat size by\n0.2% on Nexus5 and application .oat file by 0.3% in average on Nexus5.\n\nmathieuc changes:\nCreate lookup table in dex2oat to speed up compilation. Clean up code\nto follow style guide and use less static functions. Added\nperformance measurements.\n\nCompile ~100 APKs 5 times with filter interpret-only:\nBefore:\nreal  1m8.989s\nuser  0m59.318s\nsys 0m7.773s\n\nAfter:\nreal  1m1.493s\nuser  0m52.055s\nsys 0m7.581s\n\nApp launch (AOSP N5 maps, average of 45 runs):\nBefore: 966.84ms\nAfter: 923.733ms\nLaunch speedup is 4.7%\n\nMemory usage compared to HashSet index on 50 various APK:\n32 bit: HashSet ~625694b vs TypeLookupTable ~404268b\n64 bit: HashSet ~1251390b vs TypeLookupTable ~404268b\n\nBug: 10921004\nBug: 20269715\n\nChange-Id: I7246c1d9ad9fe81fe5c5907a4bf70396d8f9242a\n"
    },
    {
      "commit": "6f42850562048169374f3bbaec5bb31441ccc062",
      "tree": "6abe1ae23119a88bdb04298ced79407eb828cb94",
      "parents": [
        "594c0612519e96bcc1bd42ff4dcbfa2c53b09c5a",
        "36427494be5700bc8adba514b5c67dc3ac429176"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 29 15:48:50 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 29 15:48:50 2015 +0000"
      },
      "message": "Merge \"MIPS64: Add \"Compare and Swap\" intrinsic support.\""
    },
    {
      "commit": "594c0612519e96bcc1bd42ff4dcbfa2c53b09c5a",
      "tree": "d2c5cefb419cd0f9bdad2bba939235fbe2c5fbfd",
      "parents": [
        "5f2e628b280dfc5f8385e489d44cc0960fcea484",
        "55d02cf056f993aeafebd54e7b7c68c7a48507c9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 29 03:57:27 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 29 03:57:27 2015 +0000"
      },
      "message": "Merge \"Revert \"Enable store elimination for singleton objects.\"\""
    },
    {
      "commit": "55d02cf056f993aeafebd54e7b7c68c7a48507c9",
      "tree": "bcdd800831f98a896b2b712932e769f46fbeefab",
      "parents": [
        "7f43a3d48fc29045875d50e10bbc5d6ffc25d61e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 29 02:59:50 2015 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 29 02:59:50 2015 +0000"
      },
      "message": "Revert \"Enable store elimination for singleton objects.\"\n\nThis reverts commit 7f43a3d48fc29045875d50e10bbc5d6ffc25d61e.\n\nFails booting.\n\nBug: 25357772\nChange-Id: Ied19536f3ce8d81e76885cb6baed4853e2ed6714\n"
    },
    {
      "commit": "f7b7f9984da66149e5fe05713845961d7b069a23",
      "tree": "61a0cbb99d5b4b280cce8a5acca3cfe0ceb73047",
      "parents": [
        "d2b29d69a2c301da31a9875c36a599f4bf817816",
        "22f058726d35dd8f40b3763649e61740b3d22535"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Oct 28 21:19:21 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 28 21:19:21 2015 +0000"
      },
      "message": "Merge \"Generate taken-test during trip-count analysis.\""
    },
    {
      "commit": "d2b29d69a2c301da31a9875c36a599f4bf817816",
      "tree": "51141f0dab2f32ae36a8b6d18c334d6b1a4955fc",
      "parents": [
        "b058de905d73f489c5d24b2833f7d5d4401f513c",
        "7f43a3d48fc29045875d50e10bbc5d6ffc25d61e"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Oct 28 21:01:33 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 28 21:01:33 2015 +0000"
      },
      "message": "Merge \"Enable store elimination for singleton objects.\""
    },
    {
      "commit": "22f058726d35dd8f40b3763649e61740b3d22535",
      "tree": "987dd5df7627c2c3e8c798089083cb797627daed",
      "parents": [
        "3dca4c04170bb4c7b26609e55f3f4966d46b681a"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Oct 27 15:56:28 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Oct 28 13:57:14 2015 -0700"
      },
      "message": "Generate taken-test during trip-count analysis.\n\nRationale: for loops that may not be taken, this taken-test\n           can be used by clients of the induction variable\n           analysis to ensure trip-count evaluation is valid.\n\nChange-Id: Ia64749e2389b7224e69d6a49bb604b1964c11068\n"
    },
    {
      "commit": "7b829f6b8390535172bba3496b8bf6275d3c26a6",
      "tree": "917eb0365a737291a8034f97894cba78b6e75dbf",
      "parents": [
        "a0d26f64287cf71e68eacd67d236f8805c01248f",
        "c89715ccaf4c8a8ce298ce2c0c1da479de4c63e7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 28 13:40:41 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 28 13:40:41 2015 +0000"
      },
      "message": "Merge \"Do not assume the dex cache is already populated.\""
    },
    {
      "commit": "c89715ccaf4c8a8ce298ce2c0c1da479de4c63e7",
      "tree": "556e87ce41af09f5c7839caaddbd3fbbeeebd64a",
      "parents": [
        "3dca4c04170bb4c7b26609e55f3f4966d46b681a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 28 12:06:25 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 28 12:47:50 2015 +0000"
      },
      "message": "Do not assume the dex cache is already populated.\n\nIn JIT mode, it isn\u0027t.\n\nChange-Id: I665cab8142db64996b6ae3d7d7c1e68deba8dfb9\n"
    },
    {
      "commit": "e87a718fe4a41e5c204c6422c0e835e14d3d2d9e",
      "tree": "762d099d4457faee4ab0707915cbbd2d85f3987e",
      "parents": [
        "6fcb8b95e2ba60efde91e3558cb5a71e052919f7"
      ],
      "author": {
        "name": "Pavle Batuta",
        "email": "pavle.batuta@imgtec.com",
        "time": "Wed Oct 28 13:10:42 2015 +0100"
      },
      "committer": {
        "name": "Pavle Batuta",
        "email": "pavle.batuta@imgtec.com",
        "time": "Wed Oct 28 13:15:22 2015 +0100"
      },
      "message": "MIPS32: added support for unresolved classes\n\nRefer to change: https://android-review.googlesource.com/#/c/173570\n\nThis will fix the following test fails:\n\n024-illegal-access\n536-checker-needs-access-check\n\nChange-Id: I07ecb0ab90700f0ca7da28601c6e3755ba1658c0\n"
    },
    {
      "commit": "7f43a3d48fc29045875d50e10bbc5d6ffc25d61e",
      "tree": "3be4590986faae499384f564acafa5fe04eb68b4",
      "parents": [
        "3dca4c04170bb4c7b26609e55f3f4966d46b681a"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Tue Oct 27 16:38:33 2015 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Tue Oct 27 16:43:45 2015 -0700"
      },
      "message": "Enable store elimination for singleton objects.\n\nEnable store elimination for singleton objects. However for finalizable object,\ndon\u0027t eliminate stores. Also added a testcase.\n\nChange-Id: Icf991e7ded5b490f55f580ef928ece5c45e89902\n"
    },
    {
      "commit": "562ff44698fc75f82e1f6cb0b71ce21df4328959",
      "tree": "fd7b7b17bdc7c99c229a52c892c9d478de67172d",
      "parents": [
        "3aa2895fe9d2cb8c7fb04154463d296c5eab4fee"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 27 18:51:20 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 27 18:52:35 2015 +0000"
      },
      "message": "Revert \"Remove DCHECK that does not work for gtests.\"\n\nAnd fix the code alignment in gtests.\n\nThis reverts commit 7d32dbc02beac2cb0217d52b61f2b3ef9974ffa6.\n\nChange-Id: I68813c36d1493f2746ceb129b30a649350d6bc13\n"
    },
    {
      "commit": "7a16bdbcce562a39a6a7defde5e191ca74327f3b",
      "tree": "08aa651a9b18ccabe11083ceed413b9ed2cd13f5",
      "parents": [
        "1a7b13394775c363d8f8facf748d188d1c225aac",
        "35831e8bfa1c0944d4c978d99c4c5b9577945170"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 27 16:08:44 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 27 16:08:44 2015 +0000"
      },
      "message": "Merge \"Reduce memory used by CompiledMethods.\""
    },
    {
      "commit": "1a7b13394775c363d8f8facf748d188d1c225aac",
      "tree": "835973df7f9042960cb5481d2f1eed58239c159d",
      "parents": [
        "9c6ad8e5da8b3423dc6183f1d6650eda1486bcd0",
        "1dad3f68b7f5a4a4cb2b281413357adc2309a8fd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 27 16:00:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 27 16:00:58 2015 +0000"
      },
      "message": "Merge \"Support garbage collection of JITted code.\""
    },
    {
      "commit": "35831e8bfa1c0944d4c978d99c4c5b9577945170",
      "tree": "a347ecaf4265a1713c86d528392e162d5edfaebc",
      "parents": [
        "171b12e8060f63cf900ffc43d6db35125f6b8c83"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 11 11:59:18 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 27 15:13:37 2015 +0000"
      },
      "message": "Reduce memory used by CompiledMethods.\n\nUse LengthPrefixedArray\u003c\u003es instead of SwapVector\u003c\u003es to store\nCompiledMethod data and get rid of the unnecessary members\nof CompiledMethod to reduce dex2oat memory usage. Refactor\nthe deduplication from CompilerDriver to a new class.\n\nUse HashSet\u003c\u003e instead of std::set\u003c\u003e for the DedupeSet\u003c\u003e to\nfurther decrease the memory usage and improve performance.\n\nThis reduces the dex2oat memory usage when compiling boot\nimage on Nexus 5 (with Optimizing, -j1) by ~6.75MiB (5%).\nThis also reduces the compile time by ~2.2% (~1.6% dex2oat\ntime; with Optimizing, without -j).\n\nChange-Id: I974f1f5e58350de2bf487a2bca3907fa05fb80ea\n"
    },
    {
      "commit": "cbf3c0f4e8335b460ce2faba3877d4b24fe492a1",
      "tree": "2118db00ced221b5fe55e5bb37738a8535cfa574",
      "parents": [
        "1af35996afc82bfecb501fc5ecdc0d3350d8a532",
        "dc151b2346bb8a4fdeed0c06e54c2fca21d59b5d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 27 15:02:06 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 27 15:02:06 2015 +0000"
      },
      "message": "Merge \"Optimizing: Determine invoke-static/-direct dispatch early.\""
    },
    {
      "commit": "36427494be5700bc8adba514b5c67dc3ac429176",
      "tree": "7b996df97c142836633bada4edc9dca91869d2f5",
      "parents": [
        "525b665cef9d85a6cfe56994561a24e10dac7f0f"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Fri Oct 23 02:19:38 2015 -0700"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Mon Oct 26 16:27:13 2015 -0700"
      },
      "message": "MIPS64: Add \"Compare and Swap\" intrinsic support.\n\nAdd following functions from sun.misc.Unsafe:\n\n- boolean compareAndSwapInt(Object, long, int expected, int)\n- boolean compareAndSwapLong(Object, long, long expected, long)\n- boolean compareAndSwapObject(Object, long, Object expected, Object)\n\nChange-Id: Iea0bf486ce1fc0d77ce349dfd6c089c9835fbe92\n"
    },
    {
      "commit": "c9e94f3792443a3ebf541fa81c96dd885723c112",
      "tree": "5fa7b131a5e00b1930053230f13ae69f33fc9603",
      "parents": [
        "525b665cef9d85a6cfe56994561a24e10dac7f0f"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Mon Oct 26 16:11:39 2015 -0700"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Mon Oct 26 16:11:39 2015 -0700"
      },
      "message": "MIPS: Support register pairs in CodeGeneratorMIPS::AddLocationAsTemp().\n\nChange-Id: I8584c150cae27353b57f3dccc78a68d6cd6fc2c1\n"
    },
    {
      "commit": "525b665cef9d85a6cfe56994561a24e10dac7f0f",
      "tree": "36aa78dd0992046dc49b72e7fad2aff080001dfe",
      "parents": [
        "065f51919001bbad2ce8ddbc1b6273f480b3f898",
        "8128437353f34648fc11c5501800cd2ce7156dce"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 26 21:23:47 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 26 21:23:47 2015 +0000"
      },
      "message": "Merge \"MIPS64: Clean-up intrinsics code\""
    },
    {
      "commit": "1dad3f68b7f5a4a4cb2b281413357adc2309a8fd",
      "tree": "df482d1f65e55a9a228c925e96532942fb25eb47",
      "parents": [
        "fe97bfeabcf99d470e7d974a68ec6b6641648396"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 23 14:59:54 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 26 19:10:55 2015 +0000"
      },
      "message": "Support garbage collection of JITted code.\n\nChange-Id: I9afc544460ae4fb31149644b6196ac7f5182c784\n"
    },
    {
      "commit": "1a87837c07a6ef075fa973acaa8d846da3448728",
      "tree": "f0408c69c0838cc4249afa7025fc451620c7a94d",
      "parents": [
        "1839d3c7557a48358dcdb78934aac8f62d0916bc"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Mon Oct 26 14:28:52 2015 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Mon Oct 26 14:28:52 2015 +0100"
      },
      "message": "MIPS32: Fix loading address in GenerateStaticOrDirectCall\n\nLoad word instead of doubleword.\n\nChange-Id: I496278c87577ee23c8dd4c4be7b64214efcdd1f6\n"
    },
    {
      "commit": "1839d3c7557a48358dcdb78934aac8f62d0916bc",
      "tree": "983e7803dbb3c3362f4bedfb81d2f3fb47744a3b",
      "parents": [
        "605f27d8719c8238679038b452b4665f47a6916a",
        "271743601650308c7ac5c7a3ec35025d8130a298"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Oct 26 12:39:04 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 26 12:39:04 2015 +0000"
      },
      "message": "Merge \"Revert \"Run type propagation after inliner only when needed.\"\""
    },
    {
      "commit": "271743601650308c7ac5c7a3ec35025d8130a298",
      "tree": "cd75b95462144f35835a64e442541e778ea24fe7",
      "parents": [
        "4e5dd521063beae1706410419f19c7e224db50fe"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Oct 26 12:38:43 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Oct 26 12:38:43 2015 +0000"
      },
      "message": "Revert \"Run type propagation after inliner only when needed.\"\n\nThis reverts commit 4e5dd521063beae1706410419f19c7e224db50fe.\n\nChange-Id: I0de261d14dd3f71abe05f9bc71744820cf23b937\n"
    },
    {
      "commit": "605f27d8719c8238679038b452b4665f47a6916a",
      "tree": "b238228478a8546e0722c7555027c7f34f373367",
      "parents": [
        "a643cfd2b68135b9a052daa776fa00710c4c2ff4",
        "4e5dd521063beae1706410419f19c7e224db50fe"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Oct 26 12:06:24 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 26 12:06:24 2015 +0000"
      },
      "message": "Merge \"Run type propagation after inliner only when needed.\""
    },
    {
      "commit": "e9d6e6083e845194548e0705fdf9e172c7a043e5",
      "tree": "53d917afc88d97a5ccae881720075aacf573e1c5",
      "parents": [
        "b5172e8e8c4a5cfff5a0bdb0a7f1810ee9c7bbd1"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Oct 23 17:08:42 2015 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Oct 23 17:40:26 2015 -0700"
      },
      "message": "Disable store elimination on singleton object.\n\nStores into singleton objects that are finalizable need to be kept.\nDisable those store eliminations before we have the finalizable info available.\n\nChange-Id: I281e0c442588ec291b1002fdc9b59a144c15dc8e\n"
    },
    {
      "commit": "e5d80f83ae53792bc1eebd4e33e4e99f7c031b0c",
      "tree": "cc21ac068a5d02349c5b1aaa8c7f61ae777f6cea",
      "parents": [
        "a815f17cc82f4f238d8bdec1bd5b70fec720541e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 15 17:47:48 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 23 11:21:11 2015 -0700"
      },
      "message": "Move ArenaBitVector into the runtime\n\nMotivation is using arenas in the verifier.\n\nBug: 10921004\nChange-Id: I3c7ed369194b2309a47b12a621e897e0f2f65fcf\n"
    },
    {
      "commit": "a815f17cc82f4f238d8bdec1bd5b70fec720541e",
      "tree": "1863cd4bc431c28fe4e42b163bd067953968ae2f",
      "parents": [
        "fbcafbc81694438020bbf642400a265b60abaef9",
        "8df69d42a9e3ccd9456ff72fac8dbd1999f98755"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Oct 23 17:45:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 23 17:45:57 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"load store elimination.\"\"\""
    },
    {
      "commit": "4e5dd521063beae1706410419f19c7e224db50fe",
      "tree": "734842d330aca6b97ec2e042d54d32ac004288a3",
      "parents": [
        "9926d886573d13ab3f97befae4c526b936de8a53"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Oct 19 16:19:23 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Oct 23 17:18:35 2015 +0100"
      },
      "message": "Run type propagation after inliner only when needed.\n\nCurrently we run a type propagation pass unconditionally after the\ninliner. This change looks at the returned value (if any) and runs a\nminimal type propagation only if its type has changed.\n\nChange-Id: I0dd72bd481219081e8a978d2632426afc980d73a\n"
    },
    {
      "commit": "31f0e753a0a45a7085e55bfbbccc422e8989a787",
      "tree": "3e610720882ae20a5af51ee449ffb1e53d6df287",
      "parents": [
        "fe97bfeabcf99d470e7d974a68ec6b6641648396",
        "e6dbf48d7a549e58a3d798bbbdc391e4d091b432"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Oct 23 15:00:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 23 15:00:57 2015 +0000"
      },
      "message": "Merge \"ARM64: Instruction simplification for array accesses.\""
    },
    {
      "commit": "dc151b2346bb8a4fdeed0c06e54c2fca21d59b5d",
      "tree": "391d8ccb44ff9e6fc1c8fa8975e534e20cc002ff",
      "parents": [
        "823e693aa946ba75cd047429e1290011a2ed8729"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 15 18:02:30 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 23 14:45:32 2015 +0100"
      },
      "message": "Optimizing: Determine invoke-static/-direct dispatch early.\n\nDetermine the dispatch type of invoke-static/-direct in a\nspecial pass right after the type inference. This allows the\ninliner to pass the \"needs dex cache\" check and inline more.\nIt also allows the code generator to avoid requesting a\nregister location for the ArtMethod* for kDexCachePcRelative\nand direct methods.\n\nThe supported dispatch check handles also situations that\nthe CompilerDriver currently doesn\u0027t allow. The cleanup of\nthe CompilerDriver and required changes to Quick will come\nin a separate change.\n\nChange-Id: I3f8e903a119949e95871d8ab0a995f4731a13a07\n"
    },
    {
      "commit": "985ff70d3dbd954f75749fb7109a71fa0e9d8838",
      "tree": "bc5e53618edee91ee94a53325eb594103430a18d",
      "parents": [
        "68561a1ca6adbd759af6c8171646f2db1cb1e2dc"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Oct 23 13:25:35 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Oct 23 13:25:35 2015 +0100"
      },
      "message": "Disable the ARM \u0026 ARM64 UnsafeCASObject intrinsic with heap poisoning.\n\nThe current heap poisoning instrumentation of this intrinsic\ndoes not always work properly when heap poisoning in\nenabled, hence this quick fix to let the build \u0026 test\ninfrastructure turn green again.\n\nBug: 12687968\nChange-Id: I546a392a61e429cd13209261f806d0aed8d1cd86\n"
    },
    {
      "commit": "68561a1ca6adbd759af6c8171646f2db1cb1e2dc",
      "tree": "2d57470ab6c22cfb603ea7bf736dc0ff9ef4480c",
      "parents": [
        "b9f3e6d973ea9569fe0671380217eabe2cc96e59",
        "b488b7864b7bf9cade82d45c8bdda2372f48a10c"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Oct 23 10:09:28 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 23 10:09:28 2015 +0000"
      },
      "message": "Merge \"Fix heap poisoning in UnsafeCASObject x86/x86-64 intrinsic.\""
    },
    {
      "commit": "b9f3e6d973ea9569fe0671380217eabe2cc96e59",
      "tree": "e0baff13ddfa4d4a2c7ad4c99864a7dcae394e8f",
      "parents": [
        "823e693aa946ba75cd047429e1290011a2ed8729",
        "98a73e14554301ccd6d05f8a893b59b1d8b5eaeb"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 23 04:29:26 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 23 04:29:26 2015 +0000"
      },
      "message": "Merge \"MIPS64: Add tests for rotation, and shift instructions\""
    },
    {
      "commit": "8df69d42a9e3ccd9456ff72fac8dbd1999f98755",
      "tree": "b2d7617d4d2e1ae80ab7024b47802dafbaee3b3a",
      "parents": [
        "823e693aa946ba75cd047429e1290011a2ed8729"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Oct 22 15:40:58 2015 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Oct 22 16:37:46 2015 -0700"
      },
      "message": "Revert \"Revert \"load store elimination.\"\"\n\nThis reverts commit 8030c4100d2586fac39ed4007c61ee91d4ea4f25.\n\nChange-Id: I79558d85484be5f5d04e4a44bea7201fece440f0\n"
    },
    {
      "commit": "f652cecb984c104d44a0223c3c98400ef8ed8ce2",
      "tree": "ec0cc193eccdd11a79f42f957a856d2ba57699e1",
      "parents": [
        "b8b44983f861cfeeca66c624dd0f2a3fa71b4992"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Tue Aug 25 16:11:42 2015 +0200"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Thu Oct 22 18:51:13 2015 +0200"
      },
      "message": "MIPS: Initial version of optimizing compiler for MIPS32\n\nChange-Id: I370388e8d5de52c7001552b513877ef5833aa621\n"
    },
    {
      "commit": "b488b7864b7bf9cade82d45c8bdda2372f48a10c",
      "tree": "84b273034863075fbac2fbe0bd4d64fad95728e3",
      "parents": [
        "534a9b68ec5e8dda8f6e0a07bf0fdbaeb0cedbfe"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Oct 22 11:38:49 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Oct 22 11:38:49 2015 +0100"
      },
      "message": "Fix heap poisoning in UnsafeCASObject x86/x86-64 intrinsic.\n\nProperly handle the case when the same object is passed to\nsun.misc.Unsafe.compareAndSwapObject for the `obj` and\n`newValue` arguments (named `base` and `value` in the\nintrinsic implementation) and re-enable this intrinsic.\n\nAlso convert some reinterpret_casts to down_casts.\n\nBug: 12687968\nChange-Id: I82167cfa77840ae2cdb45b9f19f5f530858fe7e8\n"
    },
    {
      "commit": "8128437353f34648fc11c5501800cd2ce7156dce",
      "tree": "9d61c60808d694b823719ffc328396df5a109956",
      "parents": [
        "e033ea69bcd1f343c3cf944d78beec726faf348f"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Wed Oct 21 15:28:53 2015 -0700"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Wed Oct 21 15:54:35 2015 -0700"
      },
      "message": "MIPS64: Clean-up intrinsics code\n\n- Wrap lines longer that 100 characters.\n- Fix return type in comments for various Long intrinsics.\n- Add Location::OutputOverlap parameter to CreateFPToFP() function;\n  wrong value was being used for floor()/ceil() intrinsics.\n\nChange-Id: I998b647e1c20521a72da89cfe2d5a4c27e3ab85c\n"
    },
    {
      "commit": "9926d886573d13ab3f97befae4c526b936de8a53",
      "tree": "cd75b95462144f35835a64e442541e778ea24fe7",
      "parents": [
        "66e33f1906be899f140d5fe2a657db4e3993106e",
        "214bbcd1d7454197427c13cc082860619357d847"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Oct 21 10:15:20 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 21 10:15:20 2015 +0000"
      },
      "message": "Merge \"Inliner: make sure the returned value is in the outer graph.\""
    },
    {
      "commit": "66e33f1906be899f140d5fe2a657db4e3993106e",
      "tree": "eaef317e550fb4aa0612ba5d7a56ea42bc32f227",
      "parents": [
        "31e913fbea3d669b2067248f2163332940d8ec45",
        "0c3c2668ef44fdbd18d97f9134a85d1a7d561aa4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 21 10:00:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 21 10:00:34 2015 +0000"
      },
      "message": "Merge \"Use DlMallocSpace for the JIT code cache.\""
    },
    {
      "commit": "0c3c2668ef44fdbd18d97f9134a85d1a7d561aa4",
      "tree": "92e8e49ed1b4d5442f20721858c476ed5769d0ea",
      "parents": [
        "7edef7441d28db1403fbc5641b56a26ecf355879"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 15 13:53:04 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 21 10:59:27 2015 +0100"
      },
      "message": "Use DlMallocSpace for the JIT code cache.\n\n- Also tidy up some code in the JIT compiler.\n- And mprotect code space to be writable only when allocating.\n\nChange-Id: I46ea5c029aec489f2af63452de31db3736aebc20\n"
    },
    {
      "commit": "58554b7de4b437ddef7ff550e62c8ec0b16f9264",
      "tree": "4f728d96635f4fbd1165e780e460b1d3dd95fd62",
      "parents": [
        "1d7d0ce2d6c9a7e30d311aadc7d8aa9bbd351cb8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 20 21:08:52 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 20 21:51:19 2015 -0700"
      },
      "message": "ART: Fix left-shift of negative numbers\n\nShifting negative numbers is undefined.\n\nChange-Id: I0c32a3fcf372eae74507a5f2383edbfaf5c6830c\n"
    },
    {
      "commit": "214bbcd1d7454197427c13cc082860619357d847",
      "tree": "ec08d244ae002d85b7537ca9921618be1b4a387d",
      "parents": [
        "a5903e622c0c11c1513a62e128a26d3cefd16c6f"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Oct 20 14:54:07 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Oct 20 20:06:44 2015 +0100"
      },
      "message": "Inliner: make sure the returned value is in the outer graph.\n\nThe returned value may be a constant or a parameter value. If so, it\nwill be in the inlined entry_block and (before this CL) we would not\nupdate its block or graph. This CL fixes this and makes sure that the\nreturned value belongs to the outer graph.\n\nChange-Id: Ie296f0d5a320c33f39eb187df6d328371ccf6500\n"
    },
    {
      "commit": "98a73e14554301ccd6d05f8a893b59b1d8b5eaeb",
      "tree": "b7bb13c49b3827d6e1d2f6401b3e6b64a0b69e9d",
      "parents": [
        "b1f10f51bf6b7fb48cca83471862150ceb74fd92"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Mon Oct 19 14:17:16 2015 -0700"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Tue Oct 20 10:55:52 2015 -0700"
      },
      "message": "MIPS64: Add tests for rotation, and shift instructions\n\nChange-Id: I5611cb5c638c6be193739cbe859cb4ff4074a5fa\n"
    },
    {
      "commit": "cfea7d54dc8902d93c3fd535294d6c364f823887",
      "tree": "93e5a68f94305c406993adca93fdc1531c301b90",
      "parents": [
        "94e24ac0e9e2bad74e9beecbd068f2b87798b815"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Oct 20 17:55:06 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Oct 20 17:55:06 2015 +0100"
      },
      "message": "Disable the x86 \u0026 x86-64 UnsafeCASObject intrinsic with heap poisoning.\n\nThe current heap poisoning instrumentation of this intrinsic\ndoes not always work properly when heap poisoning in\nenabled, hence this quick fix to let the build \u0026 test\ninfrastructure turn green again.\n\nBug: 12687968\nChange-Id: I03702a057fb6f07134e926e2c1c2780f47e3a50a\n"
    },
    {
      "commit": "524e7ea8cd17bad17bd9f3e0ccbb19ad0d4d9c02",
      "tree": "ad07cc96f633bdae839ff2f1553d84b9c864a930",
      "parents": [
        "b697c447eb61c2e14315166ec3b0d16375ae403c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 16 17:13:34 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 20 11:52:11 2015 +0100"
      },
      "message": "Remove ArtCode.\n\n- Instead use OatQuickMethodHeader.\n- Various cleanups now that we don\u0027t have all those\n  ArtMethod -\u003e ArtCode -\u003e OatQuickMethodHeader indirections.\n\nAs a consequence of this cleanup, exception handling got a bit\nfaster.\n\nParserCombinators benchmark (exception intensive) on x64: (lower is better)\nBefore:\nParserCombinators(RunTime): 1062500.0 us.\nAfter:\nParserCombinators(RunTime): 833000.0 us.\n\nChange-Id: Idac917b6f1b0dc254ad68fb3781cd61bccadb0f3\n"
    },
    {
      "commit": "27cfad0d14669ea00333f74bbde9ad923fee70ff",
      "tree": "385620303715298c4f3f73d4e64ac96f6e99e59d",
      "parents": [
        "7cf979b02fa0f2546f3f1b648487ac8df359acf7"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Oct 20 11:29:36 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Oct 20 11:32:02 2015 +0100"
      },
      "message": "Fix induction_var_range_test.\n\nChange-Id: I43101c5e35f4c516ea4ba3137631508f12703412\n"
    },
    {
      "commit": "7cf979b02fa0f2546f3f1b648487ac8df359acf7",
      "tree": "bc6ede4d4e8278e21ea451fe26af47446bdbe3f0",
      "parents": [
        "e033ea69bcd1f343c3cf944d78beec726faf348f",
        "e6e3beaf2d35d18a79f5e7b60a21e75fac9fd15d"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Oct 20 09:38:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 20 09:38:07 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"optimizing: propagate type information of arguments\"\"\""
    },
    {
      "commit": "e033ea69bcd1f343c3cf944d78beec726faf348f",
      "tree": "d470f7cd69e86a9287da947970a8f519de8ec6b9",
      "parents": [
        "25cf8c412f966563a3f1a6ab629be74faf61e915",
        "0f8f8643bc10160a9034b9e3ccfd81e9e6ed8e74"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 19 22:06:00 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 19 22:06:00 2015 +0000"
      },
      "message": "Merge \"MIPS64: Add intrinsic support for bit rotation\""
    },
    {
      "commit": "0f8f8643bc10160a9034b9e3ccfd81e9e6ed8e74",
      "tree": "dfe6bcfac59d0f44be3a2c2c6b88896e0bfd6712",
      "parents": [
        "aeae32f846a04c9472fd3bdbbee92c0e1ace9b6c"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Fri Oct 02 17:25:58 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 19 15:04:59 2015 -0700"
      },
      "message": "MIPS64: Add intrinsic support for bit rotation\n\n- int java.lang.Integer.rotateLeft(int i, int distance)\n- int java.lang.Long.rotateLeft(long i, int distance)\n\nChange-Id: I048ebf310265c6b20a80108673a7931cbeee0513\n"
    },
    {
      "commit": "aec3cce52009afe436a6db0280d6d5aee9b8d4d4",
      "tree": "9fa409750d89871863b10396a2278ebd48f0b5b9",
      "parents": [
        "f69f56e7d4a1e31dfce2a77558c9b7047f82092b"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Oct 14 17:44:55 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Oct 19 12:44:55 2015 -0700"
      },
      "message": "Added ability to generate induction range code.\n\nRationale: used by dynamic BCE (done in another CL).\n\nChange-Id: Ia6ce75da57b5298fba74622822ae0bae69c74188\n"
    },
    {
      "commit": "f69f56e7d4a1e31dfce2a77558c9b7047f82092b",
      "tree": "30c394773a7544bf5296138f8e923b5d73dc5cb8",
      "parents": [
        "a31e53f83cf7c773bd506bb4b7d28f73e92a391a",
        "bb245d199a5240b4c520263fd2c8c10dba79eadc"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Oct 19 18:42:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 19 18:42:59 2015 +0000"
      },
      "message": "Merge \"Generalize codegen and simplification of deopt.\""
    },
    {
      "commit": "bb245d199a5240b4c520263fd2c8c10dba79eadc",
      "tree": "e16b37485e3e0e34c24e35a71cc8e6986d1e2e70",
      "parents": [
        "d5a69fc429f57bf528aa061618d3ae94ee8deb24"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Oct 19 11:05:03 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Oct 19 11:12:11 2015 -0700"
      },
      "message": "Generalize codegen and simplification of deopt.\n\nRationale: the de-opt instruction is very similar to an if,\n           so the existing assumption that it always has a\n           conditional \"under the hood\" is very unsafe, since\n           optimizations may have replaced conditionals with\n           actual values; this CL generalizes handling of deopt.\n\nChange-Id: I1c6cb71fdad2af869fa4714b38417dceed676459\n"
    },
    {
      "commit": "2261d465990dd7d46496c074fde7349e9bacb79e",
      "tree": "dda619e7d70bd0698a5e2191c76e32fbb3346505",
      "parents": [
        "aeae32f846a04c9472fd3bdbbee92c0e1ace9b6c",
        "06d7aaa75f3d6d21fe904d54208b28e486673d97"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 19 16:57:22 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 19 16:57:22 2015 +0000"
      },
      "message": "Merge \"Clean up OatFile.\""
    },
    {
      "commit": "06d7aaa75f3d6d21fe904d54208b28e486673d97",
      "tree": "017a3bdea33e06e8b4356cdf419df9002ec2c01d",
      "parents": [
        "3ae313d9bc64eaa0c791452dd972654eae979496"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 16 11:23:41 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 19 16:19:40 2015 +0100"
      },
      "message": "Clean up OatFile.\n\nIn Setup(), avoid reading beyond the end and use the %zu\nformat specifier instead of %zd for size_t output.\n\nMake the .bss section pointers non-const.\n\nChange-Id: Ic8f066effe8037b552d8e911c6a5d17370d79ff4\n"
    },
    {
      "commit": "9aebff2f19b605bff864308be51b604b7191163e",
      "tree": "78a49ebd0052617c3bd7d0bc17ec0b9d3fd206a0",
      "parents": [
        "a5903e622c0c11c1513a62e128a26d3cefd16c6f"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Tue Sep 22 17:54:15 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 19 08:14:04 2015 -0700"
      },
      "message": "MIPS64: Add intrinsic support for bit rotation\n\n- int java.lang.Integer.rotateRight(int i, int distance)\n- int java.lang.Long.rotateRight(long i, int distance)\n\nAssembler tests for new MIPS instructions will be provided in a\nseparate patch.\n\nChange-Id: I6dd4786e2d5f674bf56ff3d5afd321bb1bef589e\n"
    },
    {
      "commit": "0646da7c04e4744c84d1b0a03df33ccae1d6d477",
      "tree": "bde7904026208c57da81a205c3cbb499cfbf82d2",
      "parents": [
        "45513eb694fe55cf02ca6e8f0884621a6c3f6268"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Tue Sep 22 16:02:40 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 19 08:11:56 2015 -0700"
      },
      "message": "MIPS64: Add intrinsics support for trailing zeros\n\n- int java.lang.Integer.numberOfTrailingZeros(int i)\n- int java.lang.Long.numberOfTrailingZeros(long i)\n\nChange-Id: I0fc1c2629738de9047313b6511b490639eef68f3\n"
    },
    {
      "commit": "e6dbf48d7a549e58a3d798bbbdc391e4d091b432",
      "tree": "e9edbb884c0143a38e0b32350119999bc11b4dee",
      "parents": [
        "45513eb694fe55cf02ca6e8f0884621a6c3f6268"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Mon Oct 19 10:10:41 2015 +0100"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Mon Oct 19 10:10:41 2015 +0100"
      },
      "message": "ARM64: Instruction simplification for array accesses.\n\nHArrayGet and HArraySet with variable indexes generate two\ninstructions on arm64, like\n\n    add temp, obj, #data_offset\n    ldr out, [temp, index LSL #shift_amount]\n\nWhen we have multiple accesses to the same array, the initial `add`\ninstruction is redundant.\n\nThis patch introduces the first instruction simplification in the\narm64-specific instruction simplification pass. It splits HArrayGet\nand HArraySet using the new arm64-specific IR HIntermediateAddress.\nAfter that we run GVN again to squash the multiple occurrences of\nHIntermediateAddress.\n\nChange-Id: I2e3d12fbb07fed07b2cb2f3f47f99f5a032f8312\n"
    },
    {
      "commit": "1360adac0b8f523e3de7da58f6b85f724ec6e42e",
      "tree": "aaf2b9580210df7149829d6e6f983ff3a3972740",
      "parents": [
        "c4daa0a06cf0b7c1e7b0440fb7e9a06b018b52ff"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Fri Sep 04 23:38:16 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 16 17:16:28 2015 -0700"
      },
      "message": "MIPS64: Implement intrinsics from sun.misc.Unsafe:\n\n- int getInt(Object, long)\n- int getIntVolatile(Object, long)\n- long getLong(Object, long)\n- long getLongVolatile(Object, long)\n- Object getObject(Object, long)\n- Object getObjectVolatile(Object, long)\n- void putInt(Object, long, int)\n- void putOrderedInt(Object, long, int)\n- void putIntVolatile(Object, long, int)\n- void putObject(Object, long, Object)\n- void putOrderedObject(Object, long, Object)\n- void putObjectVolatile(Object, long, Object)\n- void putLong(Object, long, long)\n- void putOrderedLong(Object, long, long)\n- void putLongVolatile(Object, long, long)\n\nThe compareAndSwap*() functions will be delivered in a separate patch.\n\nChange-Id: I94238254b2f9df017d58fa9a4bb38632f6479472\n"
    },
    {
      "commit": "c4daa0a06cf0b7c1e7b0440fb7e9a06b018b52ff",
      "tree": "99bcea01770e8fed2ec41cd0f7f86a92a81db303",
      "parents": [
        "4b0ef9c9246435da48203e9f273717d81a1ffe2a",
        "5141763acd9ca2ddb2ee6bcc742d6d2a2aebd7df"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 16 22:17:56 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 16 22:17:56 2015 +0000"
      },
      "message": "Merge \"MIPS64: Additional assember tests:\""
    },
    {
      "commit": "4b0ef9c9246435da48203e9f273717d81a1ffe2a",
      "tree": "a382ae74334580159e7ec9f5ccdd7a2431f6f887",
      "parents": [
        "7cabeca7b86b1d5b6c1cafb6d4bfbb877ddd26b2",
        "9701c2ee2dde033e2269dcfc592a09f21151e97e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 16 21:42:10 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 16 21:42:10 2015 +0000"
      },
      "message": "Merge \"MIPS64: Implement intrinsics from java.lang.String:\""
    },
    {
      "commit": "bf606b634691de78e19104b164c439b008f33810",
      "tree": "b91ad2b0e99d35b415a398f446b8c856273dec14",
      "parents": [
        "1362c07607d4336d26b49b5451039e16526acfeb",
        "97a21810e5097853dd0277ae5f07b5a1593e9f20"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 16 16:34:26 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 16 16:34:26 2015 +0000"
      },
      "message": "Merge \"Fix mips64 cfi test\""
    },
    {
      "commit": "97a21810e5097853dd0277ae5f07b5a1593e9f20",
      "tree": "3fd87fd1d6fd8a35b5b081e06f91518f49a1b5bb",
      "parents": [
        "977f12b9fdedc6aad2da04d25ca18fd39340003a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 16 09:29:31 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 16 09:29:31 2015 -0700"
      },
      "message": "Fix mips64 cfi test\n\nChange-Id: I93224f29b23473fb9f2f6631a62949fdf2e8f888\n"
    },
    {
      "commit": "1362c07607d4336d26b49b5451039e16526acfeb",
      "tree": "b2f891bf4e70ecd99f87cb7231956924e02607e3",
      "parents": [
        "977f12b9fdedc6aad2da04d25ca18fd39340003a",
        "12617599757b625bd59e6c62e022c30735073622"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Oct 16 16:29:23 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 16 16:29:23 2015 +0000"
      },
      "message": "Merge \"Fix in reference type propagation\""
    },
    {
      "commit": "12617599757b625bd59e6c62e022c30735073622",
      "tree": "6fe164e1b7c1907e06c400013f71e6c121b0660c",
      "parents": [
        "e8939d20602ec88c314d50e201215a264666828a"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Oct 16 16:28:46 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Oct 16 17:28:16 2015 +0100"
      },
      "message": "Fix in reference type propagation\n\nWe miss updating the type of objects if their nullability gets updated\nfirst.\n\nBug: 25008765\nChange-Id: Id1a753d7d5b7b0d5ed708c325bd00a36240925fb\n"
    },
    {
      "commit": "0e09cf655cd12a1584d93cc69175e5c963d2f708",
      "tree": "377be6e6d84de0280b7612eea3357fca13153043",
      "parents": [
        "e8939d20602ec88c314d50e201215a264666828a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Sep 02 21:23:32 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 16 14:23:53 2015 +0100"
      },
      "message": "ART: Fix Mips64 JNI Calling Convention\n\nThe frame size did not include RA. RA is part of the core spill\nmask, and implicitly spilled in BuildFrame. Count this.\n\nChange-Id: Iab7565c2496ee99660c7faa39a07a2c87be53756\n"
    },
    {
      "commit": "b69fbfb5e43e404270e63b7a35dc5645b29b759c",
      "tree": "b41c69a226238e75bbb497930f86d5463dda31a5",
      "parents": [
        "28c34f886521f422424768fe245b98b7b83c6bd7"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Fri Oct 16 09:08:46 2015 +0100"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@linaro.org",
        "time": "Fri Oct 16 09:08:46 2015 +0100"
      },
      "message": "ARM64: Better recognition of constants encodable as immediates.\n\nWhen the right-hand side input is a constant, VIXL will automatically\nswitch between add and sub (or between similar pairs of instructions).\n\nChange-Id: Icf05237b8653c409618f44e45049df87baf0f4c6\n"
    },
    {
      "commit": "28c34f886521f422424768fe245b98b7b83c6bd7",
      "tree": "e30a81c761077ee5e60e784d9e1c0f7e141490cd",
      "parents": [
        "3c50e2302c98cfb5c49969ba1b82af2e8bba08fa",
        "085fc87e7ea42989a4a00cacb0c9c3a6d2590af6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 16 02:56:15 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 16 02:56:15 2015 +0000"
      },
      "message": "Merge \"Parse runtime compiler options for JIT\""
    },
    {
      "commit": "085fc87e7ea42989a4a00cacb0c9c3a6d2590af6",
      "tree": "533c41369b9b10bb67c934f6f73e98337dff9edb",
      "parents": [
        "114873103db3d4d6e0da42ca02bad1ea8826443b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 15 18:19:01 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 15 19:53:53 2015 -0700"
      },
      "message": "Parse runtime compiler options for JIT\n\nFor the case where the CppDefines do not match the device the JIT is\nrunning on.\n\nSample logcat output to prove it works:\nJIT instruction set variant krait\nJIT instruction set features default\n\nBug: 24982714\n\nChange-Id: I1f4991a5d7cdc6101d1b0ecbcb39fb26dd20180a\n"
    },
    {
      "commit": "4b8f1ecd3aa5a29ec1463ff88fee9db365f257dc",
      "tree": "d113f8a5c6b61c078256cf15c7cbb9f7c8de0390",
      "parents": [
        "114873103db3d4d6e0da42ca02bad1ea8826443b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 26 18:34:03 2015 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 15 12:22:39 2015 -0700"
      },
      "message": "Use ATTRIBUTE_UNUSED more.\n\nUse it in lieu of UNUSED(), which had some incorrect uses.\n\nChange-Id: If247dce58b72056f6eea84968e7196f0b5bef4da\n"
    },
    {
      "commit": "d5a69fc429f57bf528aa061618d3ae94ee8deb24",
      "tree": "1a00f22b320afe53c7c02320e78f1a0e538ee5d0",
      "parents": [
        "bdbce4e321b16a14425659fabaa5648f52853d51",
        "e9f37600e98ba21308ad4f70d9d68cf6c057bdbe"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Oct 15 16:18:05 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 15 16:18:05 2015 +0000"
      },
      "message": "Merge \"Added support for unsigned comparisons\""
    },
    {
      "commit": "bdbce4e321b16a14425659fabaa5648f52853d51",
      "tree": "9b787a3bc09bf4866e492752c7475cec5c91b6cd",
      "parents": [
        "b8b3702f6818443cd5535419d97ad106b8623c89",
        "09d0943f5efe92c1f3a6b9dbdf255adb0f960a22"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 15 16:01:16 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 15 16:01:16 2015 +0000"
      },
      "message": "Merge \"ART: Use .bss section for dex cache arrays.\""
    },
    {
      "commit": "4f55fd25111217e37001958b7069fe03292ff1a4",
      "tree": "bbf5555232c04d9dde9ad4198124247a6a767d2a",
      "parents": [
        "bc6cb93b2607e584fccdfe4e05ae74aa94e9e463",
        "d57d454a11ac6f49eaa397ec14d6231e3a2727b7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 15 15:52:53 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 15 15:52:53 2015 +0000"
      },
      "message": "Merge \"Allocate dex cache arrays in their class loader\u0027s linear alloc\""
    },
    {
      "commit": "09d0943f5efe92c1f3a6b9dbdf255adb0f960a22",
      "tree": "7521bf5eefaa84f1cd18c2d601ac0891cc1598a5",
      "parents": [
        "644044333f5f6d7ba7e327619ac0d0ce4e2609d3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Sep 08 13:47:48 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 15 16:46:41 2015 +0100"
      },
      "message": "ART: Use .bss section for dex cache arrays.\n\nChange-Id: I5fd507973b56f6a662a02a8c1dd9ac4493fb7b36\n"
    },
    {
      "commit": "d57d454a11ac6f49eaa397ec14d6231e3a2727b7",
      "tree": "ab8e705584702d73a6f943a02838a3225b1a5118",
      "parents": [
        "2248d278460f18db9bcdc5a1bdb2dcdfdde2d301"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 14 10:55:30 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 15 08:38:29 2015 -0700"
      },
      "message": "Allocate dex cache arrays in their class loader\u0027s linear alloc\n\nFixes memory leak for class unloading where the dex cache arrays\nused to be in the runtime linear alloc which never got freed.\n\nTODO: Some of the callers like the compiler just use the runtime\nlinear alloc. We could clean this up if we want to have class\nunloading during compilation for some reason.\n\nAdded regression test.\n\nBug: 22720414\n\nChange-Id: Ia50333a06a339efbdaedb5ad94b7a1ae841124ec\n"
    },
    {
      "commit": "e9f37600e98ba21308ad4f70d9d68cf6c057bdbe",
      "tree": "ad7953f41a35eeee68a31b4b567a08c650647bba",
      "parents": [
        "793e6fbdefb092d1dab50bca5618aed110c7e037"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Oct 09 11:15:55 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Oct 14 13:38:22 2015 -0700"
      },
      "message": "Added support for unsigned comparisons\n\nRationale: even though not directly supported in input graph,\n           having the ability to express unsigned comparisons\n           in HIR is useful for all sorts of optimizations.\n\nChange-Id: I4543c96a8c1895c3d33aaf85685afbf80fe27d72\n"
    },
    {
      "commit": "94991077ed66e3c329e8bf6f594ad6d30992b092",
      "tree": "119ed0e9109cbcb39140b3949ffc3192b1a98a0d",
      "parents": [
        "943e89e4000189473d1e82e1e395875ea9452431"
      ],
      "author": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Tue Oct 06 14:58:32 2015 -0400"
      },
      "committer": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Wed Oct 14 13:55:16 2015 -0400"
      },
      "message": "Move x86 constant area code to its own file\n\nMove the logic to constant_area_fixups_x86.cc to keep the graph\nmodifications out of the code generation file.\n\nChange-Id: I476f1fce80cb4ad38ae872b620ae58f6e52fe664\nSigned-off-by: Mark Mendell \u003cmark.p.mendell@intel.com\u003e\n"
    },
    {
      "commit": "943e89e4000189473d1e82e1e395875ea9452431",
      "tree": "57c352acb5cb11b056e301e5615f59c56802c870",
      "parents": [
        "392835deba1c62fd8858333db55ea2b5e6f53ceb",
        "805b3b56c6eb542298db33e0181f135dc9fed3d9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 14 17:21:56 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 14 17:21:56 2015 +0000"
      },
      "message": "Merge \"X86 jump tables for PackedSwitch\""
    }
  ],
  "next": "392835deba1c62fd8858333db55ea2b5e6f53ceb"
}
