)]}'
{
  "log": [
    {
      "commit": "8cf9cb386cd9286d67e879f1ee501ec00d72a4e1",
      "tree": "88e86e214b425e444760fe4e0ffeee677e1558a2",
      "parents": [
        "914b7b6a6c9f399b26b41e9160e9871ef749e0db"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 19 09:28:38 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 24 16:07:10 2017 -0700"
      },
      "message": "ART: Include cleanup\n\nLet clang-format reorder the header includes.\n\nDerived with:\n\n* .clang-format:\n BasedOnStyle: Google\n IncludeIsMainRegex: \u0027(_test|-inl)?$\u0027\n\n* Steps:\n find . -name \u0027*.cc\u0027 -o -name \u0027*.h\u0027 | xargs sed -i.bak -e \u0027s/^#include/ #include/\u0027 ; git commit -a -m \u0027ART: Include cleanup\u0027\n git-clang-format -style\u003dfile HEAD^\n manual inspection\n git commit -a --amend\n\nTest: mmma art\nChange-Id: Ia963a8ce3ce5f96b5e78acd587e26908c7a70d02\n"
    },
    {
      "commit": "c043d006845afef99b17aeab8bb6d6da1a42ad37",
      "tree": "756ce3caca2a7ff62a169c003639657bd7124d2f",
      "parents": [
        "9983e302384c12a975c8d2d5ae239f79fd8e1996"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jul 14 16:39:16 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 17 18:00:40 2017 +0100"
      },
      "message": "Remove the old ARM assemblers from ART.\n\nNow that the old ARM code generator for ART\u0027s Optimizing\ncompiler is gone, these assemblers no longer have users;\nretiring them.\n\nTest: test.py\nBug: 63316036\nChange-Id: Iaea42432a9e0d3288b71615f85c58846c0336944\n"
    },
    {
      "commit": "6d729a789d3d7771e13d9445ee0be1d9d48a81b5",
      "tree": "360b9af68920f411be5fe6753aaf7ab4976385ea",
      "parents": [
        "8cfbbb826a3ab7bb680cfcd8a8148570b165d620"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jun 30 18:34:01 2017 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jul 13 16:41:07 2017 +0100"
      },
      "message": "Introduce a Marking Register in ARM code generation.\n\nWhen generating code for ARM, maintain the status of\nThread::Current()-\u003eGetIsGcMarking() in register R8,\ndubbed MR (Marking Register), and check the value of that\nregister (instead of loading and checking a read barrier\nmarking entrypoint) in read barriers.\n\nTest: m test-art-target\nTest: m test-art-target with tree built with ART_USE_READ_BARRIER\u003dfalse\nTest: m test-art-host-gtest\nTest: ARM device boot test\nBug: 37707231\nChange-Id: I30b44254460d0bbb9f1b2adc65eca52ca3de3f53\n"
    },
    {
      "commit": "8f840f805579896809f6a17705402a85793ebce9",
      "tree": "82426258ac64a453b869896f0ced39b038d9e1f8",
      "parents": [
        "b73e659be3fb6474ff3a993cd25ecbfa1cc4715c"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Dec 15 17:56:27 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 19 09:31:04 2016 +0000"
      },
      "message": "ARM: Fix vixl related branch issue in JNI.\n\nFix VIXL asserts in EncodeLabelFor in JNI macro assembler when\nlabel is out of range of 16-bit branch (now a veneer is correctly\nused).\n\nbug:32545704\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: Ie6401394cf364daeaaf107b42275997d2edf5b6d\n"
    },
    {
      "commit": "b77051ea5718fe017f2fa884b9ca4c8186c95190",
      "tree": "bb51782f8350be00195becabc3cd8758f15010a0",
      "parents": [
        "d0111420a9f924fe560a97132d09ae531852fd69"
      ],
      "author": {
        "name": "Scott Wakeling",
        "email": "scott.wakeling@linaro.org",
        "time": "Mon Nov 21 19:46:00 2016 +0000"
      },
      "committer": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Fri Nov 25 14:16:31 2016 +0000"
      },
      "message": "ARM: VIXL32: Fix breaking changes from recent VIXL update.\n\nTest: m test-art-host\nTest: m test-art-target\nChange-Id: I02a608bf51b889a2bfff43272a3619582bf9cf20\n"
    },
    {
      "commit": "af1e2990cd1406a0fb7cba1d2e208208e950e413",
      "tree": "07e80e4dcc31931003a87be7884134ea42ceec07",
      "parents": [
        "3f699ae23266b2c4adc98958dcbd80c71c2c3284"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Oct 12 17:44:50 2016 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Oct 19 11:38:54 2016 -0700"
      },
      "message": "jni: Support @FastNative methods that return objects\n\nBug: 32088975\nChange-Id: I16f8b7ec6b251812af60ab25f2153d9b72f37044\n"
    },
    {
      "commit": "aad75c6d5bfab2dc8e30fc99fafe8cd2dc8b74d8",
      "tree": "c1b9e1eabcf35c5cbb5b4f46313a4e062f2d5d51",
      "parents": [
        "82d4838d6bb3480cd25327cedc5179fb2d86881c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 03 08:46:48 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 04 17:51:46 2016 +0100"
      },
      "message": "Revert \"Revert \"Store resolved Strings for AOT code in .bss.\"\"\n\nFixed oat_test to keep dex files alive. Fixed mips build.\nRewritten the .bss GC root visiting and added write barrier\nto the artResolveStringFromCode().\n\nTest: build aosp_mips-eng\nTest: m ART_DEFAULT_GC_TYPE\u003dSS test-art-target-host-gtest-oat_test\nTest: Run ART test suite on host and Nexus 9.\nBug: 20323084\nBug: 30627598\n\nThis reverts commit 5f926055cb88089d8ca27243f35a9dfd89d981f0.\n\nChange-Id: I07fa2278d82b8eb64964c9a4b66cb93726ccda6b\n"
    },
    {
      "commit": "5f926055cb88089d8ca27243f35a9dfd89d981f0",
      "tree": "8d87d400e36301eb648e19bcd225f13c469648ad",
      "parents": [
        "9e5739aaa690a8529c104f4c05035a657616c310"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 30 17:04:49 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 30 18:08:09 2016 +0100"
      },
      "message": "Revert \"Store resolved Strings for AOT code in .bss.\"\n\nThere are some issues with oat_test64 on host and aosp_mips-eng.\n\nAlso reverts \"compiler_driver: Fix build.\"\n\nBug: 20323084\nBug: 30627598\n\nThis reverts commit 63dccbbefef3014c99c22748d18befcc7bcb3b41.\nThis reverts commit 04a44135ace10123f059373691594ae0f270a8a4.\n\nChange-Id: I568ba3e58cf103987fdd63c8a21521010a9f27c4\n"
    },
    {
      "commit": "63dccbbefef3014c99c22748d18befcc7bcb3b41",
      "tree": "60a498041bebff43bc1f43d438e3bc34a30887f7",
      "parents": [
        "6bee25976782a063d6b44f7718a6302761bf6403"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Sep 21 13:51:10 2016 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Sep 29 15:58:43 2016 +0100"
      },
      "message": "Store resolved Strings for AOT code in .bss.\n\nAnd do some related refactorings.\n\nBug: 20323084\nBug: 30627598\nTest: Run ART test suite including gcstress on host and Nexus 9.\nTest: Run ART test suite including gcstress with baker CC on host and Nexus 9.\nTest: Build aosp_mips64-eng.\nChange-Id: I1b12c1570fee8e5da490b47f231050142afcbd1e\n"
    },
    {
      "commit": "367f3dd32454858b8b25d87feb8f6599d3b4c9dd",
      "tree": "9fe45c9f6785c31918f70ed2d12683f9c8d702af",
      "parents": [
        "fa7b5c97db681e3d64d145807927cfafae78729b"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Sep 01 17:00:24 2016 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Sep 09 10:48:56 2016 -0700"
      },
      "message": "jni: Add @CriticalNative optimization to speed up JNI transitions\n\nChange-Id: I963059ac3a72dd8e6a867596c356d7062deb6da7\n"
    },
    {
      "commit": "0e851e2fb55773e2ad5f06b89ed5e655ca3eb846",
      "tree": "caaa0c8655628cafeba73c44d98525dfc2262326",
      "parents": [
        "ca11dc008457e1596554eb9b1b77c823ae9dcf54"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Aug 25 18:17:56 2016 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Aug 25 18:20:25 2016 +0100"
      },
      "message": "Fix VIXL assembler test for heap-poisoning configurations.\n\nAnd fix a typo in test name.\n\nTest: ART_HEAP_POISONING\u003dtrue m test-art-host-gtest-assembler_thumb_test\nChange-Id: Ibc3750676aa7a7b23c93ee0babb8d9c207cb762a\n"
    },
    {
      "commit": "12e097c84cef710fa4f254b1811ff70b876e9e9a",
      "tree": "d8044470b0006a5ff22207ae589a8b05829dfdfa",
      "parents": [
        "ba6b679bd34449ec56508966706ca1b8d5e7cb17"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Mon Aug 08 15:13:26 2016 +0100"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Aug 19 15:52:58 2016 +0100"
      },
      "message": "ARM: VIXL32: Implement VIXL-based assembler.\n\nThis patch introduces new ARM assembler (Thumb2) based on VIXL and\nARM VIXL JNI Macro Assembler. Both are turned off by default (JNI\none will be turned on in the following patch).\n\nChange-Id: I5f7eb35da5318d7170b3c7e8553364ebe29cc991\n"
    },
    {
      "commit": "bb661c0f0cb72d4bbfc2e251f6ded6949a713292",
      "tree": "4fe7e66f3385b1955934d3ec6f02e00bde6e13b8",
      "parents": [
        "f7cda8088ec57ab1422f85f08df78e217a9f7094"
      ],
      "author": {
        "name": "Bilyan Borisov",
        "email": "bilyan.borisov@linaro.org",
        "time": "Mon Apr 04 16:27:32 2016 +0100"
      },
      "committer": {
        "name": "Bilyan Borisov",
        "email": "bilyan.borisov@linaro.org",
        "time": "Fri Apr 22 13:33:30 2016 +0100"
      },
      "message": "Refactor use of __ANDROID__ macro\n\nWe use the __ANDROID__ macro, which is provided by the toolchain, in\nnumerous places. This patch refactors the usage of this by defining a\nnew macro, ART_TARGET_ANDROID, that is being passed during build to\nART_TARGET_CFLAGS in Android.common_build.mk on the same line as\nART_TARGET. The codebase currently assumes that the existence of the\n__ANDROID__ macro implies that we are compiling art for an android\ntarget device. This is because, currently, target builds are compiled\nwith target toolchains that provide the macro, while host toolchains\ndo not.  With this change this assumption is still preserved. However,\nin a future patch we will add the ability to compile art for a linux\ntarget, and in that case the ART_TARGET_ANDROID macro won\u0027t be passed\nanymore.\n\nChange-Id:  I1f3a811aa735c87087d812da27fc6b08f01bad51\n"
    },
    {
      "commit": "93205e395f777c1dd81d3f164cf9a4aec4bde45f",
      "tree": "1d08efd9b7bca9fe23df9ae9489c5dd575d3c6df",
      "parents": [
        "6990775e323cd9164d6cc10955a047b9d9f15f32"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 13 11:59:46 2016 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 13 17:50:16 2016 +0100"
      },
      "message": "Move Assemblers to the Arena.\n\nAnd clean up some APIs to return std::unique_ptr\u003c\u003e instead\nof raw pointers that don\u0027t communicate ownership.\n\nChange-Id: I3017302307a0253d661240750298802fb0d9585e\n"
    },
    {
      "commit": "ac6ac10a0801fa6eb95e0ab0c72b2ed562210b34",
      "tree": "3758a1903dbdd273c35d4bae4ee0e820857946c0",
      "parents": [
        "1201804d1813d7db0accead9721d67c40b3de564"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 17 12:14:00 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 22 11:51:33 2015 +0000"
      },
      "message": "Optimizing/ARM: Fix CmpConstant().\n\nCMN updates flags based on addition of its operands.\nDo not confuse the \"N\" suffix with bitwise inversion\nperformed by MVN.\n\nAlso add more special cases analogous to AddConstant()\nand use CmpConstant() more in code generator.\n\nChange-Id: I0d4571770a3f0fdf162e97d4bde56814098e7246\n"
    },
    {
      "commit": "f5c09c3ed5bca4c34d8476dd9ed2714106fafbcf",
      "tree": "6521df348c2fd8d692bb751ed8dffdf70c8f6051",
      "parents": [
        "7f3b38cc23b638ab84ac01a94e90f0456da3b688"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 17 12:08:08 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 17 15:13:39 2015 +0000"
      },
      "message": "Optimizing/ARM: Fix AddConstant() to adhere to set_cc.\n\nAnd improve it to use shorter code sequences.\n\nBug: 26121945\n\nChange-Id: Ia4f1688652c195a7ca19af36d919388a550e2841\n"
    },
    {
      "commit": "b4536b7de576b20c74c612406c5d3132998075ef",
      "tree": "5265c07b51b4d79b2fd64c63d9b78d38b7601a8f",
      "parents": [
        "883ef45b5d5a2e4005914c7b339881900976b6e7"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 24 13:45:23 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 01 11:38:03 2015 +0000"
      },
      "message": "Optimizing/ARM: Implement kDexCachePcRelative dispatch.\n\nChange-Id: I0fe2da50a30a3f62bec8ea01688dd1fec84b1831\n"
    },
    {
      "commit": "f180af0fc0d0bd981dd6356848df2ba237e1a227",
      "tree": "bea248023c5823bbb28a1864655e3afce9226400",
      "parents": [
        "97cd5bb34ca97e7e87a030b2e1acec004fd26275",
        "f9d741e32c6f1629ce70eefc68d3363fa1cfd696"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 23 11:20:35 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 23 11:20:35 2015 +0000"
      },
      "message": "Merge \"Optimizing/ARM: Improve long shifts by 1.\""
    },
    {
      "commit": "f9d741e32c6f1629ce70eefc68d3363fa1cfd696",
      "tree": "409005e5b1d01d2830c20421f8466125e110d6af",
      "parents": [
        "beb709a2607a00b5df33f0235f22ccdd876cee22"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 20 15:08:11 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 20 16:18:39 2015 +0000"
      },
      "message": "Optimizing/ARM: Improve long shifts by 1.\n\nImplement long\n    Shl(x,1) as LSLS+ADC,\n    Shr(x,1) as ASR+RRX and\n    UShr(x,1) as LSR+RRX.\n\nRemove the simplification substituting Shl(x,1) with\nADD(x,x) as it interferes with some other optimizations\ninstead of helping them. And since it didn\u0027t help 64-bit\narchitectures anyway, codegen is the correct place for it.\nThis is now implemented for ARM and x86, so only mips32 can\nbe improved.\n\nChange-Id: Idd14f23292198b2260189e1497ca5411b21743b3\n"
    },
    {
      "commit": "6fd0ffe8da212723a3ac0256ce350b5872cc61d4",
      "tree": "122c89d874460662d3feba523cb9f2553fb78bd3",
      "parents": [
        "beb709a2607a00b5df33f0235f22ccdd876cee22"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 19 21:13:52 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 20 11:55:49 2015 +0000"
      },
      "message": "Optimizing/Thumb2: Improve load/store for large offsets.\n\nThis reduces the boot.oat size on Nexus 5 by 568KiB (0.8%).\n\nAlso change 32-bit ADD/SUB immediate to use the recommended\nencoding T3 when both T3 and T4 are available.\n\nChange-Id: I174382bda2b22da70560b947f5536acf8c1814a9\n"
    },
    {
      "commit": "d2b4ca2d02c86b1ce1826fd2b35ce6c9c58c1ff1",
      "tree": "dab4cdfacd3e7cb529f3b0de931c8a173039571f",
      "parents": [
        "fb11bab9bc96ff05dcb12f43abf58df256b7c7aa"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Sep 14 15:13:26 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 14 12:20:59 2015 +0100"
      },
      "message": "Improve Thumb2 bitwise operations.\n\nAllow embedding constants in AND, ORR, EOR. Add ORN to\nassembler, use BIC and ORN for AND and ORR when needed.\n\nChange-Id: I24d69ecc7ce6992b9c5eb7a313ff47a942de9661\n"
    },
    {
      "commit": "73cf0fb75de2a449ce4fe329b5f1fb42eef1372f",
      "tree": "d5b0957414c355254babfcd1a797ce87a0eb85a2",
      "parents": [
        "9ee5d6cdc14ac94b64ea1961bf221bad48746929"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 30 15:07:22 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Sep 01 10:10:37 2015 +0100"
      },
      "message": "ART: Add 16-bit Thumb2 ROR, NEGS and CMP for high registers.\n\nAlso clean up the usage of set_cc flag. Define a SetCc\nenumeration that specifies whether to set or keep condition\ncodes or whether we don\u0027t care and a 16-bit instruction\nshould be selected if one exists.\n\nThis reduces the size of Nexus 5 boot.oat by 44KiB (when\ncompiled with Optimizing which is not the default yet).\n\nChange-Id: I047072dc197ea678bf2019c01bcb28943fa9b604\n"
    },
    {
      "commit": "c60e1b755c5632dfeb04c333489ede52ee5c945f",
      "tree": "9582a0ffc99e4ad11dcd5d95dd97b09bc6acc5bf",
      "parents": [
        "7b926cdacc2b67241bc9cb5f2d4b04b13ca79d0e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 30 08:57:50 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 30 08:57:50 2015 -0700"
      },
      "message": "ART: Use __ANDROID__ instead of HAVE_ANDROID_OS\n\nUse the proper define.\n\nChange-Id: I71e291ac25f5d5f0187ac9b6ef2d6872f19e6085\n"
    },
    {
      "commit": "cf93a5cd9c978f59113d42f9f642fab5e2cc8877",
      "tree": "55162627fcbf2cb7913a735c7ed89e8e4b5e84d7",
      "parents": [
        "db40ea768bd914125c3754dacb9b6f534a2e2399"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jun 16 11:33:24 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jun 17 09:43:51 2015 +0100"
      },
      "message": "Revert \"Revert \"ART: Implement literal pool for arm, fix branch fixup.\"\"\n\nThis reverts commit fbeb4aede0ddc5b1e6a5a3a40cc6266fe8518c98.\n\nAdjust block label positions. Bad catch block labels were the\nreason for the revert.\n\nChange-Id: Ia6950d639d46b9da6b07f3ade63ab46d03d63310\n"
    },
    {
      "commit": "fbeb4aede0ddc5b1e6a5a3a40cc6266fe8518c98",
      "tree": "76ab28cf259def4dccec529df217fd760f27d2aa",
      "parents": [
        "f38caa68cce551fb153dff37d01db518e58ed00f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jun 16 11:32:01 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jun 16 11:32:01 2015 +0000"
      },
      "message": "Revert \"ART: Implement literal pool for arm, fix branch fixup.\"\n\nThis reverts commit f38caa68cce551fb153dff37d01db518e58ed00f.\n\nChange-Id: Id88b82cc949d288cfcdb3c401b96f884b777fc40\nReason: broke the tests.\n"
    },
    {
      "commit": "f38caa68cce551fb153dff37d01db518e58ed00f",
      "tree": "723612f20666f429b7c67321f0353d57425b1c63",
      "parents": [
        "bd8c725e465cc7f44062745a6f2b73248f5159ed"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 29 15:50:18 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 15 15:13:28 2015 +0100"
      },
      "message": "ART: Implement literal pool for arm, fix branch fixup.\n\nChange-Id: Iecc91418bb4ee1c957f42fefb737d0ee2ba960e7\n"
    },
    {
      "commit": "d56376cce54e7df976780ecbd03228f60d276433",
      "tree": "5a523ff4a1589a4462207f4c75fad921870a62a2",
      "parents": [
        "aa49c23d47e5fdfcf51380550ee864e9d30d082b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 21 12:32:34 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 22 15:06:45 2015 +0100"
      },
      "message": "Revert \"Revert \"Introduce a NearLabel in thumb2.\"\"\n\nThis reverts commit 1f277e3cef6c33cd35e91123978491d83338d2ad.\n\n- Fix CompareAndBranch to not use cbz/cbnz with high registers.\n- Add a test for CompareAndBranch with the *inc file, as the\n  other assembler test infrastructure does not handle labels.\n\nChange-Id: If552bf1112b96caa3b9bb6c73c4b40bb90a33db7\n"
    },
    {
      "commit": "fd11470897ea356e5870280e4ab38a18dc83b48f",
      "tree": "2afb5b99c8d57027ad7062e6abdf492d8f8f6560",
      "parents": [
        "c9c4232118a7aa517f33d3e26ca80f2e443f1e71"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 13 17:00:41 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 13 17:35:57 2015 -0700"
      },
      "message": "ART: Fix unused return-value in test\n\nCheck the return value of system() call.\n\nChange-Id: I1f5f9621f6a39029b9df5b0d4ab0e230ba6c79a3\n"
    },
    {
      "commit": "3e52aa4d406fe802dabee2a2e7ba8764cc13aaaa",
      "tree": "81b2d22b3fae45a0c92e688a3502335c02397934",
      "parents": [
        "f458ba7d9c04bc8d499532b5470af28db18e4149"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sun Apr 12 07:45:18 2015 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Apr 21 12:37:13 2015 +0100"
      },
      "message": "Move GetAndroidToolsDir to common location.\n\nMove the code which looks for the prebuilts directory\nto CommonRuntimeTest and add test for it.\n\nChange-Id: Id804de31c466656957fdd4b6a470f80a00477aed\n"
    },
    {
      "commit": "7b7e524c86a67f7357bbcfd0e7bde07ded50cca2",
      "tree": "24e3b5bb0af0d74f1d80fda69b56c93cb379e088",
      "parents": [
        "a1a0ffb72c4d7170dee9d46f055ca56932eedbae"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 02 19:17:11 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 02 19:17:11 2015 -0800"
      },
      "message": "ART: Fix assembler_thumb_test\n\nFix the inconsistent calls. This was bad practice, requiring that\nshape meant arm32 and thumb were not interchangeable.\n\nAlso fix an error in the assembler itself for tst and teq.\n\nChange-Id: I50242801002aa81cc17bfaa53eb8b7c1d9488fbc\n"
    },
    {
      "commit": "52ed9ad728bf03cc996feff6b3874c1c5a3d0a1f",
      "tree": "c9ad42c57337a3f1c7af42b9b6869fa1dbbc6bd5",
      "parents": [
        "b14339904c9cacc4af74260c7325e4eb32947f95"
      ],
      "author": {
        "name": "Tong Shen",
        "email": "endlessroad@google.com",
        "time": "Fri Sep 05 11:58:09 2014 -0700"
      },
      "committer": {
        "name": "Tong Shen",
        "email": "endlessroad@google.com",
        "time": "Fri Sep 05 12:16:12 2014 -0700"
      },
      "message": "ART: Fix host test failure (assembler_thumb_test).\n\nCheck if \"bin/{as,objcopy,objdump}\" exists in the tools dir we found in \"prebuilts/gcc/linux-x86/arm/\".\nNow there\u0027s an empty tree in platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9,\ncausing assembler_thumb_test to fail.\n\nChange-Id: If6ba4f778b79f95239aa85e54816ab168e7d8940\n"
    },
    {
      "commit": "3c7bb98698f77af10372cf31824d3bb115d9bf0f",
      "tree": "1cd4cc18babfbb16ab908f23929fa88d7678f06b",
      "parents": [
        "98cc1e552c2ccbe5d51bc81d49e79119280f5416"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 23 16:04:16 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 28 15:44:28 2014 +0100"
      },
      "message": "Implement array get and array put in optimizing.\n\nAlso fix a couple of assembler/disassembler issues.\n\nChange-Id: I705c8572988c1a9c4df3172b304678529636d5f6\n"
    },
    {
      "commit": "4470c1d5a94ebedd8e579a212eb4c60da1ae6b24",
      "tree": "b3bcc0e3acbaacff5917ed2b3e6c8e92f5b2049a",
      "parents": [
        "96823a6504d28cfbf2806ab301084291ddd1159e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 21 18:32:59 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 21 18:35:07 2014 -0700"
      },
      "message": "ART: Increase command buffer size in assembler_thumb_test\n\nChange-Id: I5fe0014a2928772650bdb120a877eb9624bf7651\n"
    },
    {
      "commit": "8baf0d9263f914aee8ca91df92660342ace9e671",
      "tree": "6079edee872b2d7da9237931bb4756b4ddbe268d",
      "parents": [
        "043f89b4e0e761c61350c2e620795826bde8f941"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 21 11:51:32 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 21 11:51:32 2014 +0100"
      },
      "message": "Fix sizeof -\u003e strlen to get the test to run on build servers.\n\nChange-Id: I8501d02a9bc5f84a769a80d46d0ec5754c972e5d\n"
    },
    {
      "commit": "96f89a290eb67d7bf4b1636798fa28df14309cc7",
      "tree": "ca2b484a18107f8253aa7774cde304586a31bc60",
      "parents": [
        "4436e926aa8e64ac7e4c4afb81f2a59b2477045a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 11 10:57:49 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 21 09:54:20 2014 +0100"
      },
      "message": "Add assembly operations with constants in optimizing compiler.\n\nChange-Id: I5bcc35ab50d4457186effef5592a75d7f4e5b65f\n"
    },
    {
      "commit": "0bb9ade51635559f991259a7ac90d8570ad886aa",
      "tree": "b8fc0e1a304eeefac2b7d8f46c8ff8aee5b0435e",
      "parents": [
        "fee5586dac3bf22a31dbbffe7b4ca7e978e53185"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jun 26 17:57:36 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jun 26 18:14:50 2014 -0700"
      },
      "message": "Fix off-by-one errors in limit checking for ldr/str instructions.\n\nThe LDR/STR encoder in the thumb assembler had an off-by-one\nerror for limit checking for immediates.  This resulted in an\nassertion failure for things like \u0027ldr rx,[ry,#128]\u0027\n\nBug: 15876206\n\nChange-Id: Ic866212e2feae94e0bd4c753724898d84f5cb944\n"
    },
    {
      "commit": "45fdb93f04b981f70f7b6d98949ab3986b7331f8",
      "tree": "8233265f998fdd9d4de38acb5ed56a663b10c26e",
      "parents": [
        "1528b02c4d5241e785bb680f13de70c355e67429"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Jun 25 12:37:10 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jun 26 10:46:19 2014 -0700"
      },
      "message": "Support additional instructions in ARM and thumb assemblers\n\nThis adds the following support for the ARM and thumb assemblers:\n\n1. Shifting by a register.\n2. LDR/STR with a register offset, possibly shifted.\n3. LDR(literal).\n4. STR PC relative.\n\nAlso adds tests for them in the thumb assembler gtest.\n\nChange-Id: Ie467e3c1d06b699cacbdef3482ed9a92e4f1809b\n"
    },
    {
      "commit": "d20ddb22891f083b762a81eb64ec391e0f60b43a",
      "tree": "c56d3f4a05acc1ed0b4eb50fcd54122e834e6a8b",
      "parents": [
        "f58b5d0c5600fda074a373e95716678923134fd8"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jun 05 14:16:30 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jun 05 14:17:32 2014 -0700"
      },
      "message": "Remove unused variable in assembler test.\n\nThis is flagged as an error when building master, but not others...\n\nChange-Id: Iaea5307b06d8e4fa1a9d1035905fc204eb98559a\n"
    },
    {
      "commit": "c819e0d9485f23a8dcfc94419292dcd053053eb9",
      "tree": "0f5815bd47c472d6bab53d281d771a632486d636",
      "parents": [
        "0eb3e752b65ef908e3790d81fae57cd85a41006b"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jun 05 13:58:56 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jun 05 13:58:56 2014 -0700"
      },
      "message": "Fix assembler test to use path if it can\u0027t find tools.\n\nThis fixes build breakage.\n\nChange-Id: I8074d47f1c1470cf886d517e9e68a6a6b4330485\n"
    },
    {
      "commit": "65fcc2cf3c5cd97b84330c094908f3a6a7a8d4e7",
      "tree": "fc0ce77d446477be37f0ec8c86d67df4941cac9b",
      "parents": [
        "e3b5cb502371aff7e7b7291facfc27b092e7803e"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Mon Apr 28 13:45:27 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jun 05 12:45:20 2014 -0700"
      },
      "message": "Thumb2 assembler for JNI compiler and optimizing compiler\n\nThis provides a programmatic assembler for the thumb2 instruction set for\nARM.  The interface is the same as the ARM assembler and the ARM assembler has\nbeen moved into Arm32Assembler.  The assembler handles most 16 and 32 bit instructions\nand also allows relocations due to branch expansion.  It will also rewrite cbz/cbnz\ninstructions if they go out of range.\n\nIt also changes the JNI compiler to use the thumb2 assembler as opposed\nto forcing it to use ARM32.  The trampoline compiler still uses ARM due to the\nway it returns the address of its generated code.  A trampoline in thumb2 is the\nsame size as that in ARM anyway (8 bytes).\n\nProvides gtest for testing the thumb2 instruction output.  This gtest only runs\non the host as it uses arm-eabi-objdump to disassemble the generated code.  On the\ntarget the output is not checked but the assembler will still be run to perform\nall its checks.\n\nChange-Id: Icd9742b6f13541bec5b23097896727392e3a6fb6\n"
    }
  ]
}
