)]}'
{
  "log": [
    {
      "commit": "a70b683cd796f7e5bb50d8d282f72c50c89af250",
      "tree": "5db2cb848bf248c5ecf5103e7a4aa075dcea4d6b",
      "parents": [
        "e0abec751ce81b14a57522b51d43138fa1541d33",
        "467d94a3d926620b01b034eff68fdcaf2b5fb579"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 16 12:55:57 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 16 12:55:57 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"ARM: VIXL32: Use VIXL backend by default.\"\"\""
    },
    {
      "commit": "467d94a3d926620b01b034eff68fdcaf2b5fb579",
      "tree": "64f16e96e416902e5a203eb94fb33e09f9d3a4e8",
      "parents": [
        "25275bef429dc6a48b79411e0d0b32207294523b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 16 10:24:17 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 16 10:24:17 2017 +0000"
      },
      "message": "Revert \"Revert \"ARM: VIXL32: Use VIXL backend by default.\"\"\n\nbug:35977033\n\nThis reverts commit 25275bef429dc6a48b79411e0d0b32207294523b.\n\nChange-Id: I440bf8415e2bf550607595499701fb3e7c33b37e\n"
    },
    {
      "commit": "70b21bdba7237d83e7f9567a2b29feaacb84fabf",
      "tree": "b0da50bdcbc5d5e47b94adf368295dd00c6c1b58",
      "parents": [
        "31c6ea571197d227fa62ee563461f35ec10ca838"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 15 10:18:50 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 15 10:21:58 2017 +0000"
      },
      "message": "Run all \u0027compiler\u0027 variants by default.\n\nMaking sure our presubmits catch more potential errors.\n\ntest: testrunner, test-art-host\nChange-Id: I72236c141d801c0210e863a01499a51f9623f3f7\n"
    },
    {
      "commit": "5e03a305edafb49a34b436d9a858281e53d390f2",
      "tree": "97b34d7eb5ab9b1408325c7d8f9085c9f6f6cf67",
      "parents": [
        "fbe1516b91f2117bb9c7282aaea5537572f62dd7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 13 13:10:00 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 14 08:18:08 2017 -0700"
      },
      "message": "ART: Refactor libopenjdkjvmti\n\nMove jvmti.h to its own folder and fix up include setup.\n\nBug: 31455788\nTest: m\nChange-Id: I5beb66fc5d0178746216f61f9214cda54fc2c7ac\n"
    },
    {
      "commit": "8a78a77b12862af650dab978c4d5e642a4409187",
      "tree": "9a28fa3bee9a395718093e1a86a97fed47553e83",
      "parents": [
        "224f6ab7620ddbc20a338e56ccf9952d86b08b51",
        "25275bef429dc6a48b79411e0d0b32207294523b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 14 09:10:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 14 09:10:42 2017 +0000"
      },
      "message": "Merge \"Revert \"ARM: VIXL32: Use VIXL backend by default.\"\""
    },
    {
      "commit": "25275bef429dc6a48b79411e0d0b32207294523b",
      "tree": "90a96d151b5f01c5fd5961a67b2368175074c091",
      "parents": [
        "e6316892821287b1d1906b9962eae129fbdc37be"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 14 08:57:02 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 14 08:57:02 2017 +0000"
      },
      "message": "Revert \"ARM: VIXL32: Use VIXL backend by default.\"\n\nRevert while investigating.\n\nbug:35977033\n\nThis reverts commit e6316892821287b1d1906b9962eae129fbdc37be.\n\nChange-Id: I51e24a6e539072a6d0d470dfe41855a4847f3e96\n"
    },
    {
      "commit": "7cc3ae5705416bd8fc4b7096904e2871aa761e73",
      "tree": "7828e0346d1961b1454a56fa7759b72c13e1b67a",
      "parents": [
        "a86b359441f349d9057d05c32c88c375d794cf86"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 07 14:33:37 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 07 17:44:43 2017 +0000"
      },
      "message": "Return the right value in VerifyClass.\n\nWe used to return kNoFailure when a class was already processed.\nBut it could have had soft failures.\n\nAlso remove IsCompileTimeVerified to avoid future confusions and\nintroduce ShouldVerifyAtRuntime.\n\nAdd some more checks to make sure we record the right things in\nthe vdex file.\n\nbug: 33845394\ntest: verifier_deps_test test-art-host\nChange-Id: Iff11a96e825c85db416083413761981515f405b7\n"
    },
    {
      "commit": "556cba0f0a08611acd7853c996a6cb0b91e79fad",
      "tree": "525772d56e3e430bb6a3dc102d16d7f3e5fdcd9b",
      "parents": [
        "69dcdead8a6271587e0686798a26f95e92629fc1"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Feb 28 17:06:29 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Feb 28 17:06:29 2017 +0000"
      },
      "message": "Don\u0027t include patch information when generating images.\n\nBecause we always compile pic, patch information is not needed.\n\nTest: test-art-host, test-art-target\nBug: 33192586\nChange-Id: Iaa4750117ecc464850daa50c32f80546fe716039\n"
    },
    {
      "commit": "3b6f440dbd066f03a737da6d292074f47b3fbc29",
      "tree": "af0da4bdea7ff689929c8e23e1eaf6361dfc3ee8",
      "parents": [
        "5c19b373ae45ec6d67b41917af63cac8c3ebbe89"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 16 16:13:17 2017 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Feb 21 11:40:51 2017 -0800"
      },
      "message": "jni: Switch to @FastNative for all JNI functions. Deprecate !bang JNI.\n\nSwitches all (248) methods that previously used !bang JNI in art/libcore\nto all use @FastNative.\n\nAlso deprecate !bang JNI since nothing in Android seems to (or should\nbe) using it anymore.\n\nThis measures to be a 3% startup time improvement in system_server.\n\nTest: make test-art-host\nBug: 34955272\nChange-Id: I0881f401c7660c79f275235362777bfa58241deb\n"
    },
    {
      "commit": "e6316892821287b1d1906b9962eae129fbdc37be",
      "tree": "64f16e96e416902e5a203eb94fb33e09f9d3a4e8",
      "parents": [
        "dfe9c30c7214c0874edacfd3bb602df86369c7e0"
      ],
      "author": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Tue Dec 20 15:46:34 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 21 09:39:32 2017 +0000"
      },
      "message": "ARM: VIXL32: Use VIXL backend by default.\n\nexport ART_USE_OLD_ARM_BACKEND\u003dtrue to use the previous backend.\n\nTest: mma test-art-host \u0026\u0026 mma test-art-target\n\nChange-Id: I4024a4ea15fa8ce1269c0837f6ea001b6c809df5\n"
    },
    {
      "commit": "bb00f8164845cea70921cdf4817646fc3156f62b",
      "tree": "b64baca0a8bd924091f1896bea9e952c4e2cfcc5",
      "parents": [
        "69ed58348af817176734c5541f41737f00f9a1e9"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Feb 16 14:21:10 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Feb 17 09:36:04 2017 +0000"
      },
      "message": "Remove testing of prebuilt npic boot images.\n\nBecause we always compile prebuilt images pic.\n\nTest: test-art-host, test-art-target.\nBug: 33192586\nChange-Id: I7cd3d3bb7b6cfbf79c2e442f3793a4967f37d84c\n"
    },
    {
      "commit": "67e1dc5ae1357de26039151a61ad2599ef21de2f",
      "tree": "b97a67fee4d3461ec28722fee477ab91cf390361",
      "parents": [
        "e92ba687f9ab2a3cd9724f494b6899e8e6e472ec"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Feb 06 16:50:17 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Feb 15 10:47:27 2017 +0000"
      },
      "message": "Remove use of npic image for gtests.\n\nTest: art gtests on host and target\nBug: 33192586\nChange-Id: Ic56e304eb539b4cf353281280a48ce23c74bf218\n"
    },
    {
      "commit": "84f50aecdeed2d9ed3206681820e41ad6af73a9c",
      "tree": "8b2b6de40365dcfc41d9139c9c5d73b95a541b67",
      "parents": [
        "69bcf2c940d26d65767bea7417317cf9a0431e0c"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Feb 06 15:12:45 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Feb 14 09:14:20 2017 +0000"
      },
      "message": "Remove remaining uses of DexFile::GetChecksum.\n\nRemove or replace with DexFile::GetMultiDexChecksums as appropriate.\n\nBug: 34604632\nTest: m test-art-host, added image_space_test to test ValidateOatFile.\nChange-Id: I1042e87f29a242046d055f0be374ad9fbce4671a\n"
    },
    {
      "commit": "69bcf2c940d26d65767bea7417317cf9a0431e0c",
      "tree": "7458a29402ff70a49b6d1cd6ca28d1eebb162063",
      "parents": [
        "3f38398380b80d1ded078ebed1211b7e4f51460f"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Jan 24 10:25:21 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Feb 14 09:11:30 2017 +0000"
      },
      "message": "Improve checking of multidex dex checksums.\n\n* Fall back to odex file for all multidex entries if the apk is stripped,\n  not just for the main multidex entry.\n* Verify the number of multidex entries has not changed.\n* Improve performance by getting all checksums from the apk in one go\n  and cache the results instead of repeatedly opening the apk.\n* Stop referring to non-main multidex entries as \"secondary\" dex files.\n\nBug: 34604632\nTest: added tests to dex_file_test and oat_file_assistant_test\nTest: m test-art-host\n\nChange-Id: I58b17ecfbc9165a5bfeffd5281ee21d108f64479\n"
    },
    {
      "commit": "7a2a3407a8c0832a4683e103c8d9a7f0ddcb8d51",
      "tree": "66b7de8ea30803df7a605dfe9df321ef255c008f",
      "parents": [
        "71953d82e802d8e8e1619562aea26ed3204bafd7",
        "15357706f68a5ca807a2f470e956e9adf0284f6b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 13 18:05:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 13 18:05:06 2017 +0000"
      },
      "message": "Merge \"Use VerifierDeps test file for dex2oat swap tests.\""
    },
    {
      "commit": "15357706f68a5ca807a2f470e956e9adf0284f6b",
      "tree": "7ab8d75c4a78afb2196dd656ae752b18630d4c4e",
      "parents": [
        "357dcb73934356239292c46d6fbedba734da5e00"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Feb 09 10:37:31 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Feb 09 17:50:07 2017 +0000"
      },
      "message": "Use VerifierDeps test file for dex2oat swap tests.\n\nHoping that storing more data in the swap for the bigger\ndex file shall outweigh the noise in heap usage.\n\nTest: m test-art-host-gtest-dex2oat_test\nBug: 29259363\nChange-Id: I42d170cb4717c886fab58dbba5a3bcb23ac5fbcb\n"
    },
    {
      "commit": "6dde4d32747eb80b67a4b2ab5d38e324dcbc7874",
      "tree": "7215ae77b020aa8735f35e58a0a7191578f7ae8f",
      "parents": [
        "f8512f8515f7568984e1ca209929262ea88e4b59",
        "cd1ed41d0608bd5fec096a01030defb51e464faa"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 07 17:44:45 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 07 17:44:46 2017 +0000"
      },
      "message": "Merge \"Revert to `-fstack-protector-strong` in read barrier config.\""
    },
    {
      "commit": "ae3bcac9d834fda0ce4f9f10ea2660f277d2d272",
      "tree": "6a2cdabaee91ed072b1018200a823f16eedeb50e",
      "parents": [
        "b78a8af993e877d74c5938f65f95feaf2fa01321"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Feb 03 15:19:00 2017 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Feb 03 15:41:53 2017 -0800"
      },
      "message": "Enable thread annotations for std::mutex\n\nTurn on c++ library support for clang thread safety annotations.  This\nwill allow using std::mutex and related classes directly for\nsynchronization.\n\nBug: 22322814\nTest: build\nChange-Id: Ib8eda18a1f4f0d7a6f99c4d1b1438293b8e22de6\n"
    },
    {
      "commit": "ae78c2643375c7536affcec318a60d13d430f181",
      "tree": "d7299730b4e84107d544f66b6a046af75f367669",
      "parents": [
        "a85111c5f25310e3d0eac68a6f0d8cd7c6612dfe"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Feb 01 20:40:44 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Feb 02 10:53:14 2017 -0800"
      },
      "message": "ART: Add UnstartedRuntime support for Class.getSimpleName\n\nThis requires two native methods, isAnonymousClass and\ngetDeclaringClass.\n\nAdd tests.\n\nBug: 34890992\nTest: m\nTest: m test-art-host\nTest: Device boots\nChange-Id: Ib3fca2a6bb6e367ef202ff864719cab979d6c793\n"
    },
    {
      "commit": "ad93db3171b9d5ab26488adeb2734269169ae4c2",
      "tree": "b548a41cc20128d0c7c1780a139570435140cff1",
      "parents": [
        "c01d49091f4588777db5bf45345f388058caa99f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 30 12:35:50 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 30 12:35:50 2017 +0000"
      },
      "message": "Add ART_TEST_RUN_TEST_IMAGE.\n\nTo prepare disabling this run on the no-image bot config.\n\nChange-Id: Iebd51761ebde42d07beb7ecce3b84e738d03afe3\n"
    },
    {
      "commit": "94e25db37ea9e8e2ccaeeb78ba2c01238fd9f6e3",
      "tree": "0b3c9a9bbe324fe245629b033fa4663c9ee20920",
      "parents": [
        "ca21dc47adeed92a15a9d3fd090bdd0e6654679c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 27 14:54:28 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 27 16:15:01 2017 +0000"
      },
      "message": "Make no-relocate the default.\n\nWith the move to not support relocatable oat files, testing \"relocate\"\ndoes not make sense anymore (the runtime would just discard the prebuild\noat file and generate a new one in dalvik-cache).\n\nJust make no-relocate the default for now. We can remove relocation types\nonce Richard is done removing relocation.\n\nTest: test-art-host test-art-target\nbug:33192586\n\nChange-Id: If39a0ad63451c68d4cfbbb26b767ad98b97d208e\n"
    },
    {
      "commit": "56f06cb0fa5dfc289fa85307418fc54ab97a2f34",
      "tree": "b255b6d52727985bec43a6991089da7b88830182",
      "parents": [
        "63fcc81127262d9d185fe789e3ccde7c6ec35141",
        "da75ad710aab3667e5e826dba5864e55c24bcdfc"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Jan 24 23:49:43 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 24 23:49:44 2017 +0000"
      },
      "message": "Merge \"Enable PRODUCT_ART_USE_READ_BARRIER by default.\""
    },
    {
      "commit": "63fcc81127262d9d185fe789e3ccde7c6ec35141",
      "tree": "41672aa86ee4eba1905ff0b8da01a11ba632df88",
      "parents": [
        "2d2cc41059ff4fbc3b56399217ca073ae9396a7d",
        "36eb313c805713c1367e5b9d73897ade1c24174b"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jan 24 22:14:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 24 22:14:11 2017 +0000"
      },
      "message": "Merge \"Add dexoptanalyzer tool\""
    },
    {
      "commit": "36eb313c805713c1367e5b9d73897ade1c24174b",
      "tree": "a2485977f12299a493217ead13a0cb5510c4251d",
      "parents": [
        "d713d29507fb98bea3eee9277f05422a9b641ca1"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Jan 13 16:32:38 2017 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jan 24 11:29:34 2017 -0800"
      },
      "message": "Add dexoptanalyzer tool\n\ndexoptanalyzer is a command line tool which analyzes whether or not a\ngiven dex file needs to be dexopted. It is a wrapper around\nOatFileAssistant::GetDexOptNeeded and its results have a mapping to\nOatFileAssistant::DexOptNeeded.\n\nThis is needed for the management of secondary dex file. We need a way\nto retrieve the DexOptNeeded status from installd outside system server.\nWe can\u0027t simply use the system server path (as we do for the main apks)\nbecause system server can\u0027t access content writable by the apps.\n\nBug: 32871170\nTest: m test-art-(host|target)\nChange-Id: Ife1534560ca2658079d4a38a30bc8d94f35fe9c8\n"
    },
    {
      "commit": "da75ad710aab3667e5e826dba5864e55c24bcdfc",
      "tree": "5d861b403189b1ed3996661a0bc00500ccd56e21",
      "parents": [
        "461bbbf6f2e8dddb33a124c598e806b75929c9bb"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Jan 24 11:06:47 2017 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Jan 24 11:26:16 2017 -0800"
      },
      "message": "Enable PRODUCT_ART_USE_READ_BARRIER by default.\n\nBug: 34084559\nBug: 34576638\nTest: Boot gce_x86_phone on master\nChange-Id: I4ccedf52b71f305792998262bcee4110a05df9cc\n"
    },
    {
      "commit": "cd1ed41d0608bd5fec096a01030defb51e464faa",
      "tree": "113e360210cc4b9781778d5d4559fd32c0db4816",
      "parents": [
        "461bbbf6f2e8dddb33a124c598e806b75929c9bb"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jan 24 17:56:49 2017 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jan 24 17:56:49 2017 +0000"
      },
      "message": "Revert to `-fstack-protector-strong` in read barrier config.\n\nInstead of `-fstack-protector`, which was used temporarily\nfor performance reasons.\n\nTest: m test-art-host\nBug: 26744236\nBug: 12687968\nChange-Id: Ifefa93ef40249b616b278692907c1f9d9b6d41b6\n"
    },
    {
      "commit": "72ab684871f870aead76b23cb67deb046107b380",
      "tree": "d4bb40cab65df449246b35ae582234238676b7bb",
      "parents": [
        "e36c51aee58e61e9fc89851b767379c587f050e3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jan 20 19:32:50 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jan 24 12:05:02 2017 +0000"
      },
      "message": "Add class status for resolved erroneous classes.\n\nSplit the old ambiguous status mirror::Class::kStatusError\ninto kStatusErrorUnresolved and kStatusErrorResolved. Once\na class has been resolved, IsResolved() shall return true\neven if the class later becomes erroneous. Allow returning\nerroneous class from ClassLinker::EnsureResolved() if it has\nbeen previously resolved. This allows consistent behavior\nfor retrieving classes, immune to multi-threaded races and\nmulti-dex weirdness. It also allows JVMTI to properly report\n\"prepared\" (i.e. resolved) classes that are also erroneous.\n\nThe new behavior is consistent with the RI.\n\nAdd regression tests to 008-exceptions for inconsistent\nbehavior for multi-dex retrieval of erroneous resolved class\n(wrapping or not wrapping the old exception based on which\ndex file is used for lookup) and for a CHECK(IsResolved())\ncrash in ClassLinker::LoadSuperAndInterfaces() (without any\ntests for similar checks that could have previously failed\nonly due to extremely unlikely race conditions; these should\nnow also be fixed).\n\nInconsistency still remains for class verification as shown\nby the new exceptionsForSuperClassInitFailure() test in\n008-exceptions, where interpreter and Optimizing still\ncause different exceptions to be thrown.\n\nNote: This is partially changing behavior implemented for\nbug 28787733. Since we allow the class loader to retrieve an\nerroneous resolved class, the ExceptionInInitializerError is\nnot thrown at all from VMClassLoader_findLoadedClass(), so\nthere is nothing to wrap in ClassNotFoundException.\n\nTest: m test-art-host\nBug: 30627598\nBug: 28787733\nChange-Id: I86cdca00f35a0d6221d2559e3026ac0428a3613c\n"
    },
    {
      "commit": "b0dde4397fa5b0756312b46bd18477a2c1f6a7da",
      "tree": "6a76cc50a8b2746aefaaefe5c8e1c6eee3d3d7a8",
      "parents": [
        "17aba3529161ddd6f351608da383fdedb985ba44",
        "6ad2f6d0e17b8cd1fd20aeb1958196e856475e80"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jan 23 15:08:01 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 23 15:08:02 2017 +0000"
      },
      "message": "Merge \"Fix inserting classes to initiating loader\u0027s class table.\""
    },
    {
      "commit": "6ad2f6d0e17b8cd1fd20aeb1958196e856475e80",
      "tree": "ceb67cae125206390513b660a785500c01cce4db",
      "parents": [
        "a8b4390a3b817a455b0abdf575922fea6182170d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jan 18 15:22:59 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jan 20 17:29:39 2017 +0000"
      },
      "message": "Fix inserting classes to initiating loader\u0027s class table.\n\nFix two cases that were missed in\n    https://android-review.googlesource.com/312285\n\nFirst, copy all class references to app image class table,\nincluding boot image classes where the class loader used for\nAOT is only the initiating loader, not the defining loader.\n\nSecond, add array classes to the initiating loader\u0027s class\ntable.\n\nWithout these fixes, ClassLinker::LookupResolvedType() was\nactually relying on the type being in the dex cache because\nin some cases the slow path would not be able to find it.\n\nAdd a test for ClassLinker::LookupResolvedType() with an\narray type and fix that function to avoid null pointer\ndereference.\n\nTest: m test-art-host\nBug: 30627598\nChange-Id: I7cb14788700e6a22d16c364f8a35e2b6b3d954e4\n"
    },
    {
      "commit": "2c532ed685b2fa2ceb6868ff1aafc3e9a64554de",
      "tree": "c963a197b9c311e7dce1643ceef851d45a53d8c1",
      "parents": [
        "c93d203b5d9d6e5672ebfdc87f2b72ef99ae8c09",
        "cdcbddf7efe4d731f03b17efd088fbb653a1aed1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 20 08:47:51 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 08:47:51 2017 +0000"
      },
      "message": "Merge \"Do not use npic image for oat file assistant tests.\""
    },
    {
      "commit": "dedb22a0e099c81435a764881bdfa8bb050c3d3f",
      "tree": "6435efdec2e5f68e9d8c5034892a5b68567515e2",
      "parents": [
        "2c19ea93088d7cd187524f49137417279e99096d",
        "fd3161acfbe82c54ef49958f0ccc62511f224f91"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 20 03:14:44 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 03:14:45 2017 +0000"
      },
      "message": "Merge \"Enable CC (ART_USE_READ_BARRIER) by default.\""
    },
    {
      "commit": "0f01b583c3952d0219696480654a0db8fac4b661",
      "tree": "33184022e0c9bc0a6af4d89b21864fd460f32df4",
      "parents": [
        "04bbb5be5b9c0f0b3a72116353d23ea63c8bc5e9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 18 15:22:37 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 15:12:12 2017 -0800"
      },
      "message": "ART: Add ClassLoadCallback\n\nAdd callback for class-load and class-prepare events. Move Dbg\nover. Add tests.\n\nBug: 31684920\nTest: m test-art-host-gtest-runtime_callbacks_test\nTest: art/tools/run-jdwp-tests.sh --mode\u003dhost\nChange-Id: I871f6b3c54448fd6ece8d9a7571b2042be50d525\n"
    },
    {
      "commit": "fd3161acfbe82c54ef49958f0ccc62511f224f91",
      "tree": "f0a000daa1240058af17cc87b4e82bbb239e8804",
      "parents": [
        "f78f64b2bef1646a87f011b3b146d705aedb0bde"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Jan 18 14:47:25 2017 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Jan 19 11:08:05 2017 -0800"
      },
      "message": "Enable CC (ART_USE_READ_BARRIER) by default.\n\nBug: 34084559\nBug: 12687968\nTest: boot on angler\nTest: test-art-host\nChange-Id: I0287b813335b472dd59aa6b94aeeab2da60b9c99\n"
    },
    {
      "commit": "cdcbddf7efe4d731f03b17efd088fbb653a1aed1",
      "tree": "5f2161e271be9a7ed1a3e3faa3ec8d6242658b07",
      "parents": [
        "a8b4390a3b817a455b0abdf575922fea6182170d"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jan 19 16:58:39 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jan 19 16:58:39 2017 +0000"
      },
      "message": "Do not use npic image for oat file assistant tests.\n\nBecause patchoat will no longer support relocating npic images.\nAll that matters for the oat file assistant test is that the secondary\nboot image has a different checksum than the primary one.\n\nBug: 33192586\nTest: oat_file_assistant_test\nChange-Id: I7ece86337221a9d0c56534b2045026ba5d3d7d89\n"
    },
    {
      "commit": "cb6a5916cce4f18c7183fa8731446a084fb28fe5",
      "tree": "ee5dc4db783f67fa83e0ba36fc84f052ac6b8d60",
      "parents": [
        "e7ec8b25dd6ac1b8ad8a68f808048bd6a61138f0"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jan 19 10:53:59 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jan 19 10:56:22 2017 +0000"
      },
      "message": "Revert^3 \"Remove unused code for patching oat files.\"\n\nThis reverts commit e7ec8b25dd6ac1b8ad8a68f808048bd6a61138f0.\nBecause tests are failing.\n\nBug: 33192586\n\nChange-Id: I3e575c6c037873195c2177241153e3646d58e8a6\n"
    },
    {
      "commit": "e7ec8b25dd6ac1b8ad8a68f808048bd6a61138f0",
      "tree": "15ff579bc746e0852b5c7ea3a04ad2335d80360a",
      "parents": [
        "404b0120615fd4590bc51b506074c2dc19d48a65"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jan 18 14:27:51 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jan 18 15:27:16 2017 +0000"
      },
      "message": "Revert \"Revert \"Remove unused code for patching oat files.\"\"\n\nThis reverts commit 78985875702c52657066da158c0246ef07115385.\n\nBug: 33192586\nTest: m test-art-host\nTest: m test-art-target\nTest: device boots\n\nChange-Id: I848b39a2b9b3c48beca2c68f9a316626a81abb39\n"
    },
    {
      "commit": "78985875702c52657066da158c0246ef07115385",
      "tree": "c2df327bbd61e6c231effce854c0bf816fd6fe04",
      "parents": [
        "c9f76628ce1dc54f852b689ed1722b7e154b2a9d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 17 21:18:34 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 17 21:18:34 2017 +0000"
      },
      "message": "Revert \"Remove unused code for patching oat files.\"\n\noat_file_assistant_test fails on target.\n\nBug: 33192586\n\nThis reverts commit c9f76628ce1dc54f852b689ed1722b7e154b2a9d.\n\nChange-Id: Ie3b8900ed16d0f4033a76c7eb60ac8e9ad13f089\n"
    },
    {
      "commit": "c9f76628ce1dc54f852b689ed1722b7e154b2a9d",
      "tree": "6f27d109c43d5e23a8b213e48021f5cd070a17f9",
      "parents": [
        "aa89a4c6fca095904521842c018399f1e3501a45"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jan 12 15:27:45 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Jan 17 09:34:40 2017 +0000"
      },
      "message": "Remove unused code for patching oat files.\n\npatchoat is now only used for patching images. It no longer needs to\nsupport patching of non-PIC oat files. This change removes code from\npatchoat that was specific to patching of non-PIC oat files.\n\nBug: 33192586\nTest: m test-art-host\nTest: device boots\nChange-Id: I8918a708e441493a21f25d537ed0b74748bb9641\n"
    },
    {
      "commit": "3a2e78ebade9f7e0444be6f6817cbf116b34e7b1",
      "tree": "da8d025ac510215e89224fed43660749665c5e3d",
      "parents": [
        "91db41f315f6c2366b7098c531224bee01170364"
      ],
      "author": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Fri Jan 06 13:33:42 2017 +0000"
      },
      "committer": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Mon Jan 09 12:20:04 2017 +0000"
      },
      "message": "Fix some issues reported by Valgrind\n\n* Update the target suppression file.\n* Disable the detection of mismatched free() / delete / delete []\ncalls, since it results in a lot of false positives (a known\nValgrind limitation associated with asymmetric inlining of\noperator new() and operator delete()).\n* Avoid a memory leak in the code generator tests, caused by the\nfact that the VIXL-based ARM code generator does not always use\nthe arena allocator.\n* Fix an access to uninitialized memory.\n\nTest: m valgrind-test-art-target\nTest: valgrind --leak-check\u003dfull --show-mismatched-frees\u003dno \\\n               --ignore-range-below-sp\u003d1024-1 \\\n               --suppressions\u003dvalgrind-target-suppressions.txt \\\n               dalvikvm ...\nChange-Id: I891a3247aa9828226b4e62c69d6e1c8398d757b8\n"
    },
    {
      "commit": "1196ed88b66a5d09849a82aa0dc20709b818d3ba",
      "tree": "6476445795b03dc9b27d6513d95397c87a332491",
      "parents": [
        "2d76677d7a2ddf8506443b3de536fb2e52b6b8b7"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Dec 19 13:42:47 2016 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Dec 19 14:33:40 2016 -0800"
      },
      "message": "Handle ART_USE_READ_BARRIER as a product variable.\n\nBug: 33492005\nTest: top-level angler build.\nChange-Id: I4e8a0a0af07fec0a5764692d8340faf4c9bcf2b4\n"
    },
    {
      "commit": "1e4841e9fc77e34acb1823ad0f98a4828f2f2fb1",
      "tree": "ef632a2ba72def6d5dbc01592a0d1d8411e021f5",
      "parents": [
        "9538f9e2a5d03f1b1bc07ebfbd93b61dcf8ad604"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Dec 15 14:21:04 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Dec 15 14:34:25 2016 -0800"
      },
      "message": "Fill in empty iftable early\n\nPreviously it would not get filled in and remain null for some\nerroneous classes. This caused crashes for things like\nGetIfTableCount.\n\nAdded regression test (sample failure):\nclass_linker_test F 12-15 14:20:09 28771 28771 class-inl.h:532] Check failed: ret !\u003d nullptr java.lang.Class\u003cErroneous\u003e\n\nBug: 33650297\nBug: 33642884\n\nTest: test-art-host\n\nChange-Id: I506210bad17d6d2c58ca7870165f8a4a514f64fe\n"
    },
    {
      "commit": "979162601e1e1b8fb678bb158c66604de46405d3",
      "tree": "47d4b677853fd9ab3560752d4f539abe8781ccba",
      "parents": [
        "0955e348436130df87ee8f2075b492a66c5232ef"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Dec 09 14:47:29 2016 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Dec 13 13:39:43 2016 -0800"
      },
      "message": "Remove boolean arguments from NewLibrary()\n\nNewLibrary is going to be used for header only libraries.  Instead\nof adding more boolean arguments, replace the existing ones with\nBuildOnlyStatic and BuildOnlyShared calls on the libraryDecorator\nreturned by NewLibrary.\n\nTest: m -j, compare build.ninja\nChange-Id: I832627938f3fbc8cc1565c695048a5b5c3553090\n"
    },
    {
      "commit": "db70ce5e788404f36cb5dbb137c6a8f79f34a2a0",
      "tree": "b291c40e1b6c44f3744404f085706f4b07cbb73c",
      "parents": [
        "7d785fca4fd6cf3507aaa807681b3d73ed586c9b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Dec 12 11:06:59 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Dec 13 10:12:07 2016 -0800"
      },
      "message": "Address some review comments\n\nAddressed comments in dex cache and class table. Added class table\ntest.\n\nTest: mm test-art-host-gtest-class_table_test -j20\n\nChange-Id: I3ec0282247187acb1ec7af25b309501f001a1c3e\n"
    },
    {
      "commit": "982e0bf9ed2b00ef85b328de674e28342eb0b2dd",
      "tree": "168a1d48469c072794ef2adf441d80a85cf827a7",
      "parents": [
        "85b38bd1fdf4a3aaf073e0aa1f901271b7bab338",
        "657022c0881720fea6871a7b26b49ba4ae74bbd9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 01 09:12:31 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 01 09:12:32 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: A couple of fixes to have more tests passing.\""
    },
    {
      "commit": "9df8931359953803441accaa124ca454a33917dc",
      "tree": "8cd904585a4cdc10e64f8419b651e7c9be5ce521",
      "parents": [
        "424c03aac25835febbf5c695b943206bc40ef335"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 23 13:28:16 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 30 19:07:20 2016 +0000"
      },
      "message": "Add atomic method reference map\n\nLess RAM usage and faster than using a normal map with\nMethodReference. Speed is faster by avoiding locking and tree\ntraversal. RAM usage is lower since the map usually had a value\nfor most method references.\n\nPlan on using for marking methods for dex2dex, storing compiled\nmethods. Also use the new map for VerifiedMethods (refactoring).\n\nAdded test.\n\nBug: 32641252\n\nTest: test-art-host-run-test\n\nChange-Id: I46268031b8e0daf9be3597145cf6ecf579a039e2\n"
    },
    {
      "commit": "657022c0881720fea6871a7b26b49ba4ae74bbd9",
      "tree": "a70c0c65d74d566a031f2adc6d271d5ebb904203",
      "parents": [
        "725466c0207d4b3d997633f5c321adee2dcd5483"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Wed Nov 23 14:19:38 2016 +0000"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Wed Nov 30 17:31:36 2016 +0000"
      },
      "message": "ARM: VIXL32: A couple of fixes to have more tests passing.\n\nFix 103-string-append, CheckCast visitor, stop interpretting\nboot.oat, port Floating point compare optimization.\n\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-host\nTest: ART_USE_VIXL_ARM_BACKEND\u003dtrue m test-art-target\nChange-Id: I7e06f9bc1ec60a850a8fc4ef7a344b9cfc736033\n"
    },
    {
      "commit": "03bc659b04fefab6e1c9e08c5bd28fe8168c863f",
      "tree": "1e27d6e28fd18479bd812f2abf4a88dbd36092e0",
      "parents": [
        "88bc673b146cb5fda01b4139b6e8ceec5221f106"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Nov 22 09:42:04 2016 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Nov 24 16:49:27 2016 +0000"
      },
      "message": "Refine OatStatus enum.\n\nReplace Exists() with a separate OatStatus code, and distinguish\nbetween the oat file being out of date due to the dex being out of\ndate or the image being out of date.\n\nBug: 30937355\nTest: oat_file_assistant_test\nChange-Id: Ia3853e461beb07f0b417276b9277b9c562b20865\n"
    },
    {
      "commit": "01b70e8bca5e824ee3958ffbdd7727334e81eb0a",
      "tree": "3e23fef88de183fd0c7945a6198a68050640b656",
      "parents": [
        "81cae78d1853893ff9c3ecea4b5100002a538eb7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 17 10:58:36 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 18 10:44:15 2016 +0000"
      },
      "message": "Add dequickening support.\n\nBoth vdex and BCI require full dequickening support. This\nchange implements dequickening by using the existing encoded\nquickening, and adds the checkcast quickening to that encoding.\n\nbug: 30937355\nbug: 32369913\nTest: dex_to_dex_decompiler_test.cc test-art-host\n\nChange-Id: Ie95f46946d59b28157d6e47dcf4a859be032d1c3\n"
    },
    {
      "commit": "984b0813dfa4451f837720483213ddb963d78b09",
      "tree": "8ce80392185871694a9a35db7518d53fa68e310b",
      "parents": [
        "b4e4c279a0d96c5c9bd6d038d97c3c9992ff8d09"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Nov 09 16:38:42 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Nov 09 16:59:01 2016 +0000"
      },
      "message": "Have `make` report a failing gtest run as a top-level target.\n\nBefore, if an individual gtest such (as\n`test-art-host-gtest-output_stream_test64`) was invoked as\n`make`\u0027s top-level target and failing, `make` would not\nreport it as such through its exit status (it would be 0\nwhatever the result). However, when run as part of a\ncompound test target (such as\n`test-art-host-gtest-output_stream_test` or\n`test-art-host-gtest`), `make` would actually report this\ntest\u0027s (and maybe others\u0027) failure with a non-zero exit\nstatus. This CL forces `make` to report a non-zero exit\nstatus in the former case without breaking the latter one.\n\nTest: Amend a gtest such as compiler/linker/output_stream_test.cc\n    to make it artificially fail, and run it with:\n      make test-art-host-gtest-output_stream_test\n      make test-art-host-gtest-output_stream_test64\nBug: 31755702\n\nChange-Id: Icbb6fef592f14d73808576e7fcb0e9d7079ec9a2\n"
    },
    {
      "commit": "6150121df8530318f2609fd25feb0b1738f18e68",
      "tree": "da795faca0249fd64bce381d78ffb2759301b220",
      "parents": [
        "52edc855b2b7ccb0816e7a08006dd7bf9891838c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 03 16:48:51 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 04 09:11:35 2016 -0700"
      },
      "message": "ART: Ignore google-default-arguments tidy check\n\nIgnore the check for default arguments in virtual functions.\n\nBug: 32619234\nTest: m\nChange-Id: I62f1b36ca6fd0965cfd9f6be343b8a63ac4642c6\n"
    },
    {
      "commit": "d01f60cbed4ba360b84f1310d2e0d422d6a16534",
      "tree": "d9511ce632d9ae32a0447a9bfd50c1cb8821fcbf",
      "parents": [
        "b9b8cab87a275fad382fefbddd18daf495a58772"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 28 14:45:48 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Oct 29 22:09:28 2016 +0100"
      },
      "message": "Add a VerifierDeps::Dump method.\n\nAlso, fix the Encode/Decode logic around dex file order:\niterating over a std::map doesn\u0027t guarantee insertion order.\n\ntest: verifier_deps_test\nbug: 30937355\n\nChange-Id: Id3efd703b3c8ca21ab49c2600c612c132fb021cd\n"
    },
    {
      "commit": "2f2533f686f759ccd29d2712da2c7610382fb59f",
      "tree": "b4853d93d2427928bbf28aac135b939017360c9e",
      "parents": [
        "fc7a96464c58f2e3432cba2a3cfb19d84b033fdf",
        "a7812ae7939b199392f874b24a52454bbd0c13f2"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Oct 20 11:59:42 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 20 11:59:43 2016 +0000"
      },
      "message": "Merge \"ARM: VIXL32: Pass initial ART tests with new code generator.\""
    },
    {
      "commit": "f808786a543a157f4d00167c5e4fb9f7de1c5833",
      "tree": "b1cdeb7ebc7890e27f85018a9eeeb85eeb872ab6",
      "parents": [
        "8e92b9c4b5009af14da1dc1a82f87229f56f18fe"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Oct 19 11:05:04 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Oct 19 14:30:55 2016 +0100"
      },
      "message": "Build: Avoid using ppid to generate temporary directory name.\n\nWhen TMPDIR is left unset, use the BSD checksum of\n$(ANDROID_BUILD_TOP)-$(USER) instead of the PPID to construct a root\ndirectory for all test runs. This workaround lets us run tests from\nmultiple repos at the same time, and will also avoid having to deal\nwith path length issues on the build bots.\n\nThis is a hacky workaround, but the only proper fix is stop using a\ntest runner built on top of make.\n\nBug: 32165422\nTest: test-art-host\n\nChange-Id: I61bc1eb3cf57d498f910573926d826a36020067a\n"
    },
    {
      "commit": "a7812ae7939b199392f874b24a52454bbd0c13f2",
      "tree": "fcaff0417676c74ad7bf88e7c2571948e7eeef81",
      "parents": [
        "a497095b67c4ba2969d0b2a13f6959125c89d2bc"
      ],
      "author": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Mon Oct 17 10:03:36 2016 +0100"
      },
      "committer": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Mon Oct 17 13:41:40 2016 +0100"
      },
      "message": "ARM: VIXL32: Pass initial ART tests with new code generator.\n\n- Implement enough codegen to pass ~70 art/tests.\n\n- When ART_USE_VIXL_ARM_BACKEND is defined:\n  - Blacklist known-to-fail target tests\n  - interpret-only everything except the tests themselves\n  - Set a flag to use the VIXL based ARM backend\n\nTest: export ART_USE_VIXL_ARM_BACKEND\u003dtrue \u0026\u0026 mma test-art-target \u0026\u0026 mma test-art-host\n\nChange-Id: Ic8bc095e8449f10f97fa0511284790f36c20e276\n"
    },
    {
      "commit": "d82d4252f68ded1c41cfc940c3909796db96c894",
      "tree": "d729b78e19338f11bb2b93a144560a6ad8d5abc0",
      "parents": [
        "68f1128b3f98886ebe28c36e8a75f7a254db5431",
        "ab40c1108330caee9a01317628a28dac4c5a8bf1"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Oct 13 12:52:31 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 13 12:52:31 2016 +0000"
      },
      "message": "Merge \"Generate SHA-1 build ID for host-generated *.oat files (1/2).\""
    },
    {
      "commit": "96548c9ee00ba5b020626c6929e1d57dc2275f15",
      "tree": "a8278b1e520eed64bc52768450e71e1e80173353",
      "parents": [
        "f0ab2ec6008bbd495e59bb9bf81ac399d864f38b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Oct 12 14:26:55 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Oct 12 14:30:30 2016 -0700"
      },
      "message": "Move registration into android package\n\nMutator registration is tightly coupled with the android package, move\nall registration from the soong package to the android package.\n\nTest: build.ninja identical\nChange-Id: I0326d0c88f78edb79eebedb155b69415e351fb61\n"
    },
    {
      "commit": "a1ff30fcb3c23b855872ef83b87e6ee19f03cb8e",
      "tree": "43d6533d594bc898ffeb016bc8895bd8da3efe1e",
      "parents": [
        "5065b09332328477d489b8ce26c3a1381e6f8d49"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 27 12:19:45 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 10 14:29:26 2016 -0700"
      },
      "message": "ART: Switch to name-based IMT hashing\n\nUse a hash scheme based on the name. This keeps IMT slots stable\nwhen dex tables change.\n\nThis incurs a severe performance penalty for computing the slot.\nMeasurements on host degraded from 30ns to an average of 85mus.\nHowever, calls in compiled code will not incur this overhead.\n\nAdded a test comparing similar interfaces in similar dex files.\n\nBug: 31594153\nTest: test-art-host\nChange-Id: Ibb86679ee94bec561984ea25826e56b1a7964cd0\n"
    },
    {
      "commit": "ab40c1108330caee9a01317628a28dac4c5a8bf1",
      "tree": "0e03c80a8a74cc4bed3f8dba8f238ce6ba2f6f0a",
      "parents": [
        "2f61867045ffbd0c38a4ecec5f59632004f7efff"
      ],
      "author": {
        "name": "Alexey Alexandrov",
        "email": "aalexand@google.com",
        "time": "Mon Sep 19 09:33:49 2016 -0700"
      },
      "committer": {
        "name": "Alexey Alexandrov",
        "email": "aalexand@google.com",
        "time": "Wed Oct 05 19:20:14 2016 -0700"
      },
      "message": "Generate SHA-1 build ID for host-generated *.oat files (1/2).\n\nFor host-generated *.oat files, generate a SHA-1 build ID based on the\nfile content and write it to .note.gnu.build-id ELF section.  This\nshould allow various developer tools like profilers correlate the data\ncaptured for files like boot.oat on the device with the corresponding\nknown version of the file during an offline analysis.\n\nTest: Verified that boot.oat contains the build ID section now (with\n      this change and https://android-review.googlesource.com/#/c/275630\n      applied)\nTest: Added ElfWriterTest::CheckBuildIdPresent test.\nTest: make test-art-host\nBug: 31292208\nChange-Id: Ie5e89da2ef87e34c27c0237ab34ddc7d2dc0aa3b\n"
    },
    {
      "commit": "a82a1aca396cb9dca1f13aa284dbec5d428b82a1",
      "tree": "fa3eb3207fc9116eed461b8462fbdf9628c7e267",
      "parents": [
        "b1c17bb080ccf41b30909c0401df59e6f3a1ebb1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Oct 04 23:06:16 2016 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Oct 04 23:07:06 2016 +0000"
      },
      "message": "Revert \"Compute PPID at ninja time\"\n\nThis reverts commit b1c17bb080ccf41b30909c0401df59e6f3a1ebb1.\n\nIt breaks make test-art-host when /bin/sh is not bash, as \n/bin/sh -c /bin/bash -c echo $PPID \nreturns the pid of /bin/sh, not the pid of ninja.\n\nTest: none\nChange-Id: Ia4e5f76ea4c5f5b5c102ce54ae03c3fccb23a49f\n"
    },
    {
      "commit": "b1c17bb080ccf41b30909c0401df59e6f3a1ebb1",
      "tree": "ff647a196aeb299fe70e5dbafa6a505f076d46ce",
      "parents": [
        "6ba406580e73c69434d4d73ef5e5ccf47168854f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Oct 03 16:40:13 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Oct 03 17:55:48 2016 -0700"
      },
      "message": "Compute PPID at ninja time\n\nUsing $(shell $$PPID) to compute PPID will return the pid of kati, which\nwill be the same for multiple sequential runs of make without changing\nany makefiles.  Replace it with a bash subshell command to return the pid\nof ninja, which will be different for every call to make.\n\nART_HOST_TEST_DIR now contains $ that need to propagate to the final\nbash command, and must be evaluated exactly once.  Escape the $ in\n${ART_HOST_TEST_DIR} in define-test-art-run-test so that\n${ART_HOST_TEST_DIR} is not substituted in the function call to prevent\nevaluating its contents in the $(eval) that wraps it, which would\nsubstitute out the necessary $.\n\nTest: m -j test-art-host\nChange-Id: I3303805481cc1c77d1a321674e8c7c003043a7c4\n"
    },
    {
      "commit": "25352fc06c84cdab8a2ab6d173b0514066ade2b9",
      "tree": "bb8a6be0c9a144ccf33b07b3158409769a32daa2",
      "parents": [
        "51cbe84ca33800c57fef9c96f1155f60bcc70bba"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Aug 03 12:46:58 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 03 09:48:50 2016 +0100"
      },
      "message": "class_linker: Add support for resolving method types.\n\n- Add a new fixed size dex cache array for resolved method types.\n  The size of this array is set to 1024.\n- Also introduces a new runtime flag that controls this feature.\n\nTest: make test-art-host\nBug: 30550796\n\nChange-Id: I147b33398d71ee21f2e91b418d3700d4630801ff\n"
    },
    {
      "commit": "1ecc4fed5927143314111bc5f38b67f83488193d",
      "tree": "abee675d43f3308cddf1a1f632d6a5aa5d77e94d",
      "parents": [
        "0cfe19af3b7395658210ea6044a65c9811962a7a"
      ],
      "author": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Mon Sep 26 09:22:42 2016 -0700"
      },
      "committer": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Mon Sep 26 09:22:42 2016 -0700"
      },
      "message": "Increase frame size for ASAN enabled builds.\n\nThis CL increases the frame size for builds where SANITIZE_TARGET is\nnon-empty from 6400 to 7400 (6400 was insufficient for ASAN and\ncoverage) to ensure that it builds successfully.\n\nThis was previously submitted as ag/1353693 for Android.common_build.mk,\nbut it looks like the frame size modifications have now moved to art.go\ninstead (found out from ag/1468464).\n\nBug: 30766843\nTest: m test-art-host\nChange-Id: If05defdcf93e2f6f7179941d95d8ee99c4c9a385\n"
    },
    {
      "commit": "496577fb4d6d7baea9c093d35d17e208c831bbca",
      "tree": "1da9976883a8fea0dc05a58ec9bbd347b010fc19",
      "parents": [
        "304533ed8475e9438e6ca7ef5fa644fd5dab5e97"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 20 15:33:31 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 23 15:27:26 2016 -0700"
      },
      "message": "Smarter image layout\n\nPut strings in the dex file that resolves them.\n\nDepth first traversal with overrides for class and dex cache. The\nwork list keeps track of what oat_index with each pushed item. This\nmeans the static fields of a class will usually be in the same image.\n\nAdded layout test to image_test to make sure things are somewhat\nreasonably attributed.\n\nBug: 28640955\n\nTest: test-art-host\n\n(cherry picked from commit 4e9c4e746617bad6a012d799d2f5cf9e01d24ea2)\n\nChange-Id: I67a536c33aeed603b252d8e0f75622c9efbf2559\n"
    },
    {
      "commit": "25c3d8d8cbefc8c4ada4094ac0296498e9dc9b96",
      "tree": "653b9b625f129e82b6bea9f68eac71f23ae4706c",
      "parents": [
        "16cb669007859ebc986c5459fc302f62b0aa89db"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Wed Sep 21 16:58:11 2016 -0700"
      },
      "committer": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Wed Sep 21 17:11:31 2016 -0700"
      },
      "message": "Pass --root to cpplint.\n\ncpplint looks for .git to detect root, but in gitc, there\u0027s no art/.git\nunless I repo start in art/ first, but I\u0027m not working on art and\ncheckbuild fails in gitc because of this.\n\nBug: None\nTest: mma in art/ in gitc\n\nChange-Id: I6d418979a9bdceefc7a2c19297a7cc9aacb3e83f\n"
    },
    {
      "commit": "be332edb022cc32c7c34d22f2c8f96611401c529",
      "tree": "ec7dea592080ca08c694398e5e9b4fe7a74725e9",
      "parents": [
        "32e2826a027b080ad85f3ca980d64d64b418e2fd"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Sep 21 13:23:53 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Sep 21 13:23:55 2016 -0700"
      },
      "message": "Reimplement ART_NDEBUG_OPT_FLAG\n\nUse ART_NDEBUG_OPT_FLAG or ART_DEBUG_OPT_FLAG to override the default -O\ncompiler arguments.\n\nFixes: 31653144\nTest: mmma -j art\nTest: m -j dex2oat dex2oatd ART_NDEBUG_OPT_FLAG\u003d-O1 ART_DEBUG_OPT_FLAG\u003d-O0\nChange-Id: I9d48d94f5e262148ddac5c70068144a645ac9566\n"
    },
    {
      "commit": "71a155f17923925e351a294920ad10076028864b",
      "tree": "3be7c7983ab503e9a2db559b2d2b50097d8b266c",
      "parents": [
        "48d10ee126838f060aa6dcd304fc161b57bc14af"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 20 09:54:58 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 20 16:00:05 2016 -0700"
      },
      "message": "Remove unused build code\n\nAll of the native code in art that used the custom build logic is built\nwith soong now, remove the make build code, leaving the definitions that\nare still used by the test runner.\n\nTest: m -j test-art-host\nTest: m -j test-art-target\nChange-Id: Iaba34a5c52be007bea153401375f4d0ae3ffce06\n"
    },
    {
      "commit": "b20be21233c63b44fab51a63ac724b9c13ef333d",
      "tree": "46f27f60a1ea78195c5946f595fb69f741135ac6",
      "parents": [
        "d2c20805396fa6f424ed85546602bb84659fcca8"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 19 13:02:47 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 19 15:04:12 2016 -0700"
      },
      "message": "Always run oatdumps tests\n\nART_BUILD_HOST_STATIC is meaningless now, the static tools are always\navailable.  Add oatdumpds as a dependency of the host oatdump tests, and\nalways enable the oatdump static tests.\n\nTest: m -j test-art-host-gtest-oatdump_test\nChange-Id: Id749f453f82489dc81a2c9042d3cc3120ea3d308\n"
    },
    {
      "commit": "3174b68876642ac7f928440493dbf81ea90d43ea",
      "tree": "5897a79a605ad4594d77e4e3d486ab8b238a4a1e",
      "parents": [
        "2722620b24e400b5c0e645967352e9f5b349dd52"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 19 12:25:31 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 19 15:04:12 2016 -0700"
      },
      "message": "Increase host frame size limit for SANITIZE_HOST\n\nWhen SANITIZE_HOST\u003daddress, art/test/137-cfi/cfi.cc fails with:\nerror: stack frame size of 1944 bytes in function \u0027Java_Main_unwindInProcess\u0027\nIncrease the frame size when SANITIZE_HOST is set, the same way it is\nincreased for device builds.\n\nTest: m -j libarttest SANITIZE_HOST\u003daddress\nTest: run-test --host 137\nChange-Id: I08d8492e6629159b0e0306cb9499debbe6bb865c\n"
    },
    {
      "commit": "904614f008fa03b4443f1a0abdac1a1966805696",
      "tree": "4fb2578a78dcf514bccc6df9ad24674623bdf8c4",
      "parents": [
        "ec88abde5944eaa94e1299cc2ec040b51977b1f4",
        "afd3c9ea7f238afebd5073c1143d3c832ab10a71"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 19 17:12:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 19 17:12:37 2016 +0000"
      },
      "message": "Merge \"Convert art runtests to Android.bp\""
    },
    {
      "commit": "afd3c9ea7f238afebd5073c1143d3c832ab10a71",
      "tree": "ea95e66ac119b6f86f637ebbeba22e956d3a4c4e",
      "parents": [
        "be3a3ee02f148345ba6e1a0361532a3f7e8c0002"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Sep 16 13:47:21 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 19 10:10:42 2016 -0700"
      },
      "message": "Convert art runtests to Android.bp\n\nBuild the art runtest libraries with Android.bp.  The host test\nlibraries move from out/host/linux-x86/lib[64] to\nout/host/linux-x86/nativetest[64], and the device test libraires from\n/data/artest/${TARGET_ARCH} to /data/nativetest[64]/art/${TARGET_ARCH},\nwhich requires adding nativetest to the library search path, and fixing\nsome tests to support multiple entries in library search paths.\n\nTest: m -j test-art-host\nTest: m -j test-art-target\nChange-Id: I2118a3292f22f275954ddd7cdd4e12287fe47808\n"
    },
    {
      "commit": "834582c4b023b5cea5775bef238ca1854a3425c4",
      "tree": "bc6562fa9fcb2330e3275ee4211178be6e92b4b8",
      "parents": [
        "855c7eb6b44461211448ed1a13482c69c2e17443",
        "cd8a057350aceab9ca48a4720aaa21806b041799"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 19 11:41:32 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 19 11:41:32 2016 +0000"
      },
      "message": "Merge \"Move ART_HOST_TEST_DIR to Android.common_test.mk\""
    },
    {
      "commit": "8d0e6c5c189d3c839c0397f1242e5153095b7ca3",
      "tree": "b166a12a567c22815e01b0baaab4fffeaca10881",
      "parents": [
        "47c22ff721503c0eb325508450663adacf0bd377",
        "6bbea4c09a6f9cd85382891baefe87e4378c62be"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Sep 17 13:39:09 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Sep 17 13:39:10 2016 +0000"
      },
      "message": "Merge \"Fix 2ND arch gtest testing.\""
    },
    {
      "commit": "cd8a057350aceab9ca48a4720aaa21806b041799",
      "tree": "378276e297f3001b0b5698fae2a833da7219572a",
      "parents": [
        "be3a3ee02f148345ba6e1a0361532a3f7e8c0002"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 16 17:11:36 2016 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 16 17:35:21 2016 -0700"
      },
      "message": "Move ART_HOST_TEST_DIR to Android.common_test.mk\n\nI\u0027m improving Kati\u0027s re-run detection, and this $(shell echo $$PPID) now\nnow causes us to reparse all of the makefiles every time, since it\nreally does change on each execution. But if you aren\u0027t running the ART\ntests, this doesn\u0027t actually get used.\n\nSo punt this over to only executing when you\u0027re including the test\nrunner -- it\u0027s not ideal, since you\u0027ll be reparsing the makefiles every\ntime you want to run the tests. Depending on the desired behavior, this\nshould be able to be implemented without depending on the PID of Kati,\nor the test runner can be moved out of the build system, since most of\nthe builds here have moved to Soong now.\n\nBug: 30947985\nTest: Compare build.ninja before and after this change, only change is\n      the valgrind-test-art-target* targets.\nTest: m -j test-art-host\nChange-Id: Ibbc0f20e407bf70bce64d3428be5808d78bdaf91\n"
    },
    {
      "commit": "6bbea4c09a6f9cd85382891baefe87e4378c62be",
      "tree": "975b85db0d1c6c68c45f82ccb10baa61a6dc599d",
      "parents": [
        "31eb450500ae9d46e1cb253defd35c8d06539d4a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Sep 16 16:41:43 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Sep 16 20:41:35 2016 +0100"
      },
      "message": "Fix 2ND arch gtest testing.\n\nChange-Id: I944feac324c49a95904f69d7b03b072e7150c134\n"
    },
    {
      "commit": "f906f1219511936f8a66d091d813437a2507ebba",
      "tree": "4c1497b5f1afbb556d30402175c2a95dfb884ce8",
      "parents": [
        "bbefcb3c8f10ce5567980b6f9905d92a90d18360"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Sep 16 16:33:31 2016 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Sep 16 16:33:31 2016 +0100"
      },
      "message": "Fix build for VerifierDeps gtest on target\n\nForgot to specify the target for the .jar file.\n\nBug: 30937355\nChange-Id: Id44bdeb91474d8acfdf9e9144da9a4c9f4c6cf55\n"
    },
    {
      "commit": "ca3c8c33501bf199d6fd0a5db30a27d8e010cb23",
      "tree": "12a6c3a4266bd17c6b9fe7066fd0b25cb8d9b2d6",
      "parents": [
        "0764877e21f1230e718923d5b84b048cd4346afa"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Sep 06 14:04:48 2016 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Sep 16 10:08:18 2016 +0100"
      },
      "message": "Collect verifier dependencies\n\nMethodVerifier tests whether a DEX method is valid w.r.t. the classes\nin class path. Since the APK does not change across OTA updates, it\nis not necessary to analyze the bytecode again with MethodVerifier,\nas long as its dependencies on the class path (which may have changed)\nare satisfied.\n\nThis patch introduces VerifierDeps, a class path dependency collector,\nand adds hooks into MethodVerifier where classes/methods/fields are\nresolved and where assignability of types is tested.\n\nTest: m test-art-host-gtest-verifier_deps_test\nBug: 30937355\nChange-Id: Iee0b321d772a5c7d1cb471aaa6e13918310b7e2f\n"
    },
    {
      "commit": "124f8813856f13033dc2efd50c65562cd2f95816",
      "tree": "2bd22fd9d75ad99d0f6f44a77eb3e09f7fc5b7ed",
      "parents": [
        "6e95dd56e43b3a29fb8360bd94e31cd2eaab1d3d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Sep 15 20:57:47 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Sep 15 20:57:47 2016 -0700"
      },
      "message": "Fix HOST_PREFER_32_BITS tests\n\nWhen HOST_PREFER_32_BITS is set, HOST_ARCH is still x86_64 but art tests\nare only built for x86.  Use ART_HOST_ARCH, which will be set to x86,\nto find the list of host tests.\n\nTest: m -j HOST_PREFER_32_BITS\u003dtrue test-art-host-gtest32\nChange-Id: I11a9e1b5111c3c06139b44e364fdcd04bb8db4c6\n"
    },
    {
      "commit": "6e95dd56e43b3a29fb8360bd94e31cd2eaab1d3d",
      "tree": "c536c5588f8a96f4559ca00921c7852a82558ea5",
      "parents": [
        "6b22aa5106e60545119b9eeaceaa9f87ee597305"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 12 15:37:10 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Sep 15 12:27:06 2016 -0700"
      },
      "message": "Convert art gtests to Android.bp\n\nThis splits the compilation and running of the art gtests into two\nseparate locations.  The tests are now compiled in multiple Android.bp\nmodules in each directory.  art.go collects the installed locations of\neach test and exports it as make variables.  art/build/Android.gtest.mk\nconverts the list into the rules to run the tests.\n\nThis has a few changes in behavior:\n  - The rules to build tests are now always defined, and will build as\n    part of mmma art or make checkbuild.\n  - Host tests are no longer installed into out/host/linux-x86/bin, they\n    are in out/host/linux-x86/nativetest[64]/\u003cmodule name\u003e/\u003ctest name\u003e\n  - Target tests are now in\n    /data/nativetest[64]/art/\u003carch\u003e/\u003cmodule name\u003e/\u003ctest name\u003e\n\nTest: mmma -j art\nTest: m -j test-art-host\nTest: m -j test-art-target\nChange-Id: Iabcd99d43890e6b693688422b07a283c3226a496\n"
    },
    {
      "commit": "6b22aa5106e60545119b9eeaceaa9f87ee597305",
      "tree": "ab26f42ac9fb9fff52c6f0683561c0bcdebd9569",
      "parents": [
        "6b4d988feb18559204f7175914851baf28febd8c"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 12 14:35:39 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Sep 15 12:24:25 2016 -0700"
      },
      "message": "Convert libart-gtest to Android.bp\n\nChange-Id: Ibea17e3e002e6ad3f82158cd3c69d087fa9b15c9\n"
    },
    {
      "commit": "fce42f486d9a607fb4fb472ec142a82ceccb6b5f",
      "tree": "393cd58ff2c57f136abf245f2c1d10e6421ba2e0",
      "parents": [
        "6f41ec68d3a3fae7bcd9ebd70b39b60e954449f3",
        "b76bc78ed20629966f4358b2031e75897d616d53"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 15 11:42:30 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 15 11:42:30 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Re-apply \"Cleanup run-test and Makefile around boot image and PIC.\"\"\"\""
    },
    {
      "commit": "b76bc78ed20629966f4358b2031e75897d616d53",
      "tree": "7d78d94551dfb83f2d5c0aaca5f451392892c7a4",
      "parents": [
        "e305eaf2c08a203e3e046c3a8608b90b9dc5a080"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 14 12:33:34 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 15 10:55:08 2016 +0100"
      },
      "message": "Revert \"Revert \"Re-apply \"Cleanup run-test and Makefile around boot image and PIC.\"\"\"\n\nThis reverts commit 8522758c5ef6050e355613630ff81c2b49373b44.\n\nChange-Id: Ie18417bd3d528673e3da39d92f43f20b853facda\n"
    },
    {
      "commit": "755bebaa1922436e6a9568042e975cec8a23bf66",
      "tree": "ea8e42919b9a99b2df19a7477dd182d2c6a1347b",
      "parents": [
        "602700c3051c0b7721b622b1c94772208cc598ea",
        "d9c90373d640a5e08072cf469c372e24a8c0fc35"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Sep 15 09:14:49 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 15 09:14:49 2016 +0000"
      },
      "message": "Merge \"Move ArrayRef to runtime/base\""
    },
    {
      "commit": "d9c90373d640a5e08072cf469c372e24a8c0fc35",
      "tree": "35615699aa6c12b21d9c0de7d11ccf0f088ba0d8",
      "parents": [
        "b180b893b5acb5c55251522465f9d20ed45c3b5a"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Sep 14 16:53:55 2016 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Sep 14 19:57:21 2016 +0100"
      },
      "message": "Move ArrayRef to runtime/base\n\nWill be used in upcoming CLs regarding VDEX and VerifierDeps.\n\nTest: m test-art-host\nChange-Id: I68e611a4a52246c2bdf45eab7c61f3212908afd4\n"
    },
    {
      "commit": "79f6d706185714dccf80aca20d9f3261337473ae",
      "tree": "fa74230fea2e66210378c6c877fe5fdb40b651b3",
      "parents": [
        "52a8da639e161905122191ddf9c30caabb214ef1",
        "6e511782ec2796cd187ee7bc1bce82b35f5d9092"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Sep 14 16:50:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 14 16:50:18 2016 +0000"
      },
      "message": "Merge \"Update art to use hooks instead of customizer\""
    },
    {
      "commit": "02a73354b3af61b39d83f036b89d175e46e74688",
      "tree": "7176025b2c7cb917a807b9352c749fe6417a99ec",
      "parents": [
        "979d85df3e5974ddf34c93b40e153244de6929c5"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 13 16:47:02 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 13 17:14:51 2016 -0700"
      },
      "message": "Add test dependency on dexlist\n\ndexlist_test depends on dexlist, add a new list of non-debuggable\nexecutables for tests to depend on.\n\nBug: 31469510\nChange-Id: I3e8f5798be523753ed8eda6cbbabe3251436877f\n"
    },
    {
      "commit": "2048da5f03a62c87660d981861ce393b8e9ab3c8",
      "tree": "9a72a783b74c4b7c31c90e48064d078483659eb6",
      "parents": [
        "54ec35e4295b83939d7213d8fc73b065c6a2c1d1",
        "8522758c5ef6050e355613630ff81c2b49373b44"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 13 21:20:21 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 13 21:20:21 2016 +0000"
      },
      "message": "Merge \"Revert \"Re-apply \"Cleanup run-test and Makefile around boot image and PIC.\"\"\""
    },
    {
      "commit": "6e511782ec2796cd187ee7bc1bce82b35f5d9092",
      "tree": "cdc388657ef9118fa40f92d9887aec26d58c8ba0",
      "parents": [
        "54ec35e4295b83939d7213d8fc73b065c6a2c1d1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 13 13:41:03 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 13 13:41:03 2016 -0700"
      },
      "message": "Update art to use hooks instead of customizer\n\nChange-Id: I46de5ea6ffbc0e32a0b306b8fe82b66b986e33cd\n"
    },
    {
      "commit": "54ec35e4295b83939d7213d8fc73b065c6a2c1d1",
      "tree": "52015182d822e8f1470a6a0fd8d720c1cd5481db",
      "parents": [
        "f8f81ea81df1c4191482b3ced33b951b27f20e73",
        "c7376e0f8002d7838c3d69569028fbc9b91a38f3"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 13 20:40:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 13 20:40:06 2016 +0000"
      },
      "message": "Merge \"Convert more of art to Android.bp\""
    },
    {
      "commit": "8522758c5ef6050e355613630ff81c2b49373b44",
      "tree": "a172ffb897d996006381a40b8e01d4251eacd22c",
      "parents": [
        "9b5515ebb4502119c44e898b05c69312a45c5f49"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Sep 13 19:37:22 2016 +0000"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Sep 13 19:37:22 2016 +0000"
      },
      "message": "Revert \"Re-apply \"Cleanup run-test and Makefile around boot image and PIC.\"\"\n\nThis reverts commit 9b5515ebb4502119c44e898b05c69312a45c5f49.\n\nBreaks some gtests.\n\nChange-Id: Ic9c9061b05219f19d5c7713ce0239e60c9d6e287\n"
    },
    {
      "commit": "1f43979c43458abab928310ecb510a08b5bd54c7",
      "tree": "9496e5a4d929745674f113f20d531d170def0c2f",
      "parents": [
        "dc0c7e10741c15f76930a4c4084145b337920b0f",
        "9b5515ebb4502119c44e898b05c69312a45c5f49"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 13 15:36:26 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 13 15:36:27 2016 +0000"
      },
      "message": "Merge \"Re-apply \"Cleanup run-test and Makefile around boot image and PIC.\"\""
    },
    {
      "commit": "9b5515ebb4502119c44e898b05c69312a45c5f49",
      "tree": "555f994681a4f27c6e3dd83b97b1bdff9119adec",
      "parents": [
        "f029fb6dbcff10384e32c1bcd5c9e70691c22f34"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 12 16:08:02 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 13 14:30:47 2016 +0100"
      },
      "message": "Re-apply \"Cleanup run-test and Makefile around boot image and PIC.\"\n\nThis reverts commit 1ba223b2e6dab206b02613bc8b523553477fc4a0.\n\nChange-Id: I0048afcefc5b654b62ddaf3c0d45ab201e4d3027\n"
    },
    {
      "commit": "9ef68a3ad02eb7e2242a6d7f6a208c7a9b8ac407",
      "tree": "e5424f2d755404a76e07a0316dc4bfa66fc8fe94",
      "parents": [
        "5e49b5058917194de8871d673ca2a414d5dc5359",
        "eeb436f36a2d58be927b4f0f09f9d9078db6c1c2"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Sep 13 03:47:01 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 13 03:47:02 2016 +0000"
      },
      "message": "Merge \"Rename libicuuc-host/libicui18n-host to libicuuc/libicui18n\""
    },
    {
      "commit": "c7376e0f8002d7838c3d69569028fbc9b91a38f3",
      "tree": "c325af4f653255d5957cd16463afbe880d5cdb0d",
      "parents": [
        "47b451546d1a5c0fbb5e3816373395762a736515"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Sep 08 12:52:18 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 12 16:29:02 2016 -0700"
      },
      "message": "Convert more of art to Android.bp\n\nConvert dex2oat, imgdiag, patchoat, and profman to Android.bp.\n\nTest: m -j test-art-host\nTest: mmma -j art\nChange-Id: If2acd47189e5a944732c2c00c2bf31265f887161\n"
    },
    {
      "commit": "f9decf915f6fa5b33fceba7c10c119e4cad481e5",
      "tree": "80a2268fa79c4096d9ebddf8ffd66f68f89fcbb2",
      "parents": [
        "e204051d3cc3b1be2e91f26621966c79c82fa74c",
        "fda5714edb368270b7ef639054f4cba1d5f4874c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 12 23:18:38 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 12 23:18:39 2016 +0000"
      },
      "message": "Merge \"ART: Add generic system-weak holder infrastructure\""
    },
    {
      "commit": "eeb436f36a2d58be927b4f0f09f9d9078db6c1c2",
      "tree": "8072b440f4b9504c4b56b69c6a9054dc53d51c1c",
      "parents": [
        "47b451546d1a5c0fbb5e3816373395762a736515"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Sep 12 14:33:43 2016 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Sep 12 14:33:51 2016 -0700"
      },
      "message": "Rename libicuuc-host/libicui18n-host to libicuuc/libicui18n\n\nThese modules can be named the same between the target and host\nlibraries, which simplifies references to them, particularly in\nSoong.\n\nTo prevent accidentally loading the system copy of the library,\nwe still rename the installed name to be libicu*-host.so. But\nmodules do not need to know that in order to build against them.\n\nChange-Id: Iede535d884a4b230ac511bae0d1687133f5801fe\n"
    },
    {
      "commit": "fda5714edb368270b7ef639054f4cba1d5f4874c",
      "tree": "154e3575910441f76ba121c72b47b04f2069f3dc",
      "parents": [
        "97750797e1195651228698877724ae8599eb1e44"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Sep 08 20:29:18 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 12 12:52:22 2016 -0700"
      },
      "message": "ART: Add generic system-weak holder infrastructure\n\nAdd an \"interface\" for a generic system-weak holder that is\nintegrated with the well-known instances in Runtime. Add a\nsimple implementation handling synchronization.\n\nAdd a test.\n\nBug: 31385027\nTest: m test-art-host-gtest-system_weak_test\nTest: m ART_USE_READ_BARRIER\u003dtrue test-art-host-gtest-system_weak_test\nTest: m ART_DEFAULT_GC_TYPE\u003dSS test-art-host-gtest-system_weak_test\nTest: m ART_DEFAULT_GC_TYPE\u003dGSS test-art-host-gtest-system_weak_test\nChange-Id: I1100e2cbd9ee57860993d0039de73d197681c542\n"
    },
    {
      "commit": "935cf1b7a5e55a8d9aeab7e8955012849f0c1b68",
      "tree": "28f986edf17c314cda8ea7b03ee17d203d8318d5",
      "parents": [
        "f029fb6dbcff10384e32c1bcd5c9e70691c22f34",
        "7b49e6cade09bc65b3b5f22d45fc9d0a7184e4f2"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Sep 12 14:57:19 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 12 14:57:19 2016 +0000"
      },
      "message": "Merge \"Introduce VDEX file, use it for DEX files\""
    },
    {
      "commit": "7b49e6cade09bc65b3b5f22d45fc9d0a7184e4f2",
      "tree": "36bb77d376708ba0f054c9820f4b7ed51437fbb2",
      "parents": [
        "3bac5443975cd6312e7c6282b94014db25f369d7"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Sep 01 11:06:18 2016 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Sep 12 14:39:07 2016 +0100"
      },
      "message": "Introduce VDEX file, use it for DEX files\n\nThis patch introduces a new output file called VDEX. In the future,\nVDEX files will store pre-validated DEX files which do not need to be\nre-extracted and re-verified when recompiling, e.g. due to new\nprofiling information or after a system update.\n\nWith this CL, the OatWriter writes DEX files into the VDEX and the\nrest of its output into OAT. The OatFile class and related classes\nare updated to load the VDEX at runtime and mmap the DEX file section\nfrom it. Patchoat creates symlinks to the source VDEX files in the\ntarget directory or copies the files if passed in as file descriptors.\n\nThe feature can be disabled by setting the environment variable\nART_ENABLE_VDEX to false.\n\nTest: m test-art-host\nBug: 30937355\nChange-Id: I54dcaececf6814c258c80524ec15e2e2ef69c8dd\n"
    },
    {
      "commit": "1ba223b2e6dab206b02613bc8b523553477fc4a0",
      "tree": "1816c620ba73357ecdbad8175a3de6b9f751232f",
      "parents": [
        "87068b4782c184d1d2e5b99a640a0328ca1198f2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 12 14:24:36 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 12 14:24:36 2016 +0100"
      },
      "message": "Squashed commit of the following:\n\ncommit 487bc26b726a839b2e46424ee3779ac3bb2033f6\nAuthor: Nicolas Geoffray \u003cngeoffray@google.com\u003e\nDate:   Mon Sep 12 14:24:12 2016 +0100\n\n    Revert \"Cleanup run-test and Makefile around boot image and PIC.\"\n\n    This reverts commit 8c9ccac080e98fc5f33ba940a1216e9c2cc079db.\n\ncommit cefadb4b835390b508ae1d2b899f39f3769a593a\nAuthor: Nicolas Geoffray \u003cngeoffray@google.com\u003e\nDate:   Mon Sep 12 14:23:47 2016 +0100\n\n    Revert \"Update test and dependencies after boot image changes.\"\n\n    This reverts commit 2a1a8d7fa450a8196a63afb3bf647b2bec723497.\n\nChange-Id: I58731d845c1166406039a9b74c833d72a82c88fb\n"
    },
    {
      "commit": "2a1a8d7fa450a8196a63afb3bf647b2bec723497",
      "tree": "0104cefbf38dbd97bad659cbcba28fe13aa58f93",
      "parents": [
        "cfe0703329c2bf9f88cc53683d13d14a7cd176ca"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 12 09:53:53 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 12 09:53:53 2016 +0100"
      },
      "message": "Update test and dependencies after boot image changes.\n\nChange-Id: Ia7862e0f8b551c9a98bef8fbc350761c6d931f0c\n"
    }
  ],
  "next": "4bd3d6b9b98be600a1f5906d6d09ed6867d1376b"
}
