)]}'
{
  "log": [
    {
      "commit": "71fb52fee246b7d511f520febbd73dc7a9bbca79",
      "tree": "444d91e910433aaf887bbdada28dfaa3160bebc2",
      "parents": [
        "420457e6040184a6e1639a4c84fcc8e237bd8a3d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Dec 29 17:43:08 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 15 10:21:11 2015 -0800"
      },
      "message": "ART: Optimizing compiler intrinsics\n\nAdd intrinsics infrastructure to the optimizing compiler.\n\nAdd almost all intrinsics supported by Quick to the x86-64 backend.\nFurther intrinsics require more assembler support.\n\nChange-Id: I48de9b44c82886bb298d16e74e12a9506b8e8807\n"
    },
    {
      "commit": "3d5872eb090a04a9444b5621d381eec3846f47a3",
      "tree": "121bc995f1bb702cf1a01e7279dfeb46fda054ba",
      "parents": [
        "b994c437ae8ec6b9d85ceb1fb11e4c97eace32ef",
        "1cc7dbabd03e0a6c09d68161417a21bd6f9df371"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jan 05 19:26:08 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 05 19:26:09 2015 +0000"
      },
      "message": "Merge \"ART: Reorder entrypoint argument order\""
    },
    {
      "commit": "02d81cc8d162a31f0664249535456775e397b608",
      "tree": "8bce70d3d44dcc9384d72e4edc1505e4d1a6ea07",
      "parents": [
        "8558375377946aabbbda6ab584e13f754590bd89"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Mon Jan 05 16:08:49 2015 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Jan 05 18:23:33 2015 +0000"
      },
      "message": "Opt Compiler: ARM64: Add support for rem-float, rem-double and volatile.\n\nAdd support for rem-float, rem-double and volatile memory accesses\nusing acquire-release and memory barriers.\n\nChange-Id: I96a24dff66002c3b772c3d8e6ed792e3cb59048a\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\n"
    },
    {
      "commit": "1cc7dbabd03e0a6c09d68161417a21bd6f9df371",
      "tree": "8557bdff971e366909351af95a7c8ead82792986",
      "parents": [
        "5e0a9849d4e353c3726095b65ab07cefce40a636"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 17 18:43:01 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Dec 29 10:52:02 2014 -0800"
      },
      "message": "ART: Reorder entrypoint argument order\n\nShuffle the ArtMethod* referrer backwards for easier removal.\n\nClean up ARM \u0026 MIPS assembly code.\n\nChange some macros to make future changes easier.\n\nChange-Id: Ie2862b68bd6e519438e83eecd9e1611df51d7945\n"
    },
    {
      "commit": "6048838af46f41c08c4132ba242040dc49bd5f23",
      "tree": "5124300bf9a7106d534e126b1926cc9d787ae2dc",
      "parents": [
        "ca747ea9951188dbc6f5217d49aca34aeadcc2a6",
        "5b4b898ed8725242ee6b7229b94467c3ea3054c8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 18 17:46:12 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 18 17:46:13 2014 +0000"
      },
      "message": "Merge \"Revert \"Don\u0027t block quick callee saved registers for optimizing.\"\""
    },
    {
      "commit": "5b4b898ed8725242ee6b7229b94467c3ea3054c8",
      "tree": "46f6df76e49f9a42dae89a6b9cf8336eae1da519",
      "parents": [
        "6004796d6c630696127df2494dcd4f30d1367a34"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 18 17:45:56 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 18 17:45:56 2014 +0000"
      },
      "message": "Revert \"Don\u0027t block quick callee saved registers for optimizing.\"\n\nX64 has one libcore test failing, and codegen_test on\narm is failing.\n\nThis reverts commit 6004796d6c630696127df2494dcd4f30d1367a34.\n\nChange-Id: I20e00431fa18e11ce4c0cb6fffa91977fa8e9b4f\n"
    },
    {
      "commit": "e408f8c6ac0ee80543ee1a695695e8917e45eaf3",
      "tree": "8637636ea603b134b410cf535281fb56249f9d55",
      "parents": [
        "452a8bec86e7795c99f774e81c02f12f1b1e502f",
        "6004796d6c630696127df2494dcd4f30d1367a34"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 18 15:49:52 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 18 15:49:53 2014 +0000"
      },
      "message": "Merge \"Don\u0027t block quick callee saved registers for optimizing.\""
    },
    {
      "commit": "6004796d6c630696127df2494dcd4f30d1367a34",
      "tree": "850f3e82a47061200c4e34e2c7e7a934f4769a97",
      "parents": [
        "407d77f344cfbdbbfb50531c5f0766bc0892e2fe"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 15 00:01:18 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 18 14:59:50 2014 +0000"
      },
      "message": "Don\u0027t block quick callee saved registers for optimizing.\n\nThis change builds on:\nhttps://android-review.googlesource.com/#/c/118983/\n\n- Also fix x86_64 assembler bug triggered by this change.\n- Fix (and improve) x86\u0027s backend byte register usage.\n- Fix a bug in baseline register allocator: a fixed\n  out register must prevent inputs from allocating it.\n\nChange-Id: I4883862e29b4e4b6470f1823cf7eab7e7863d8ad\n"
    },
    {
      "commit": "4e44c829e282b3979a73bfcba92510e64fbec209",
      "tree": "42375a128b28bb886955214336f63391dfc41d5c",
      "parents": [
        "390f59f9bec64fd81b05e796dfaeb03ab6d4cc81"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 17 12:25:12 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 17 12:25:12 2014 +0000"
      },
      "message": "Revert \"Small optimization for recursive calls: avoid dex cache.\"\n\nFails on target.\n\nThis reverts commit 390f59f9bec64fd81b05e796dfaeb03ab6d4cc81.\n\nChange-Id: Ic3865b8897068ba20df0fbc2bcf561faf6c290c1\n"
    },
    {
      "commit": "390f59f9bec64fd81b05e796dfaeb03ab6d4cc81",
      "tree": "d418b4a488390d718144bf5a5a180d965d1d762e",
      "parents": [
        "240016da1d6615b26c8342bdeb4bae381570ac47"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 12 19:22:03 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 17 11:53:33 2014 +0000"
      },
      "message": "Small optimization for recursive calls: avoid dex cache.\n\nChange-Id: Ic4054b6c38f0a2a530ba6ef747647f86cee0b1b8\n"
    },
    {
      "commit": "e53798a7e3267305f696bf658e418c92e63e0834",
      "tree": "8979bbed96b107a5a6bbae9285ff4e0c362dad95",
      "parents": [
        "e6c0cdd11097dd72275ac24f1e98217c299d973e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 01 10:31:54 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 15 22:52:27 2014 +0000"
      },
      "message": "Inlining support in optimizing.\n\nCurrently only inlines simple things that don\u0027t require an\nenvironment, such as:\n- Returning a constant.\n- Returning a parameter.\n- Returning an arithmetic operation.\n\nChange-Id: Ie844950cb44f69e104774a3cf7a8dea66bc85661\n"
    },
    {
      "commit": "3e69f16ae3fddfd24f4f0e29deb106d564ab296c",
      "tree": "c796b1a2f71d4410af9fbdcb970b548a681f3955",
      "parents": [
        "776b880f66edb21cb3b4225877e494ec7a9ec1a2"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Wed Dec 10 10:36:50 2014 +0000"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Wed Dec 10 14:36:14 2014 +0000"
      },
      "message": "Opt compiler: Add arm64 support for register allocation.\n\nChange-Id: Idc6e84eee66170de4a9c0a5844c3da038c083aa7"
    },
    {
      "commit": "01fcc9ee556f98d0163cc9b524e989760826926f",
      "tree": "db932611fcfb1390c761ae589a99dee5e956c271",
      "parents": [
        "dff1069220465f93dc2e3636a0acd7522a5ba639"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 01 14:16:20 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 01 14:38:56 2014 +0000"
      },
      "message": "Remove type conversion nodes converting to the same type.\n\nWhen optimizing, we ensure these conversions do not reach the\ncode generators. When not optimizing, we cannot get such situations.\n\nChange-Id: I717247c957667675dc261183019c88efa3a38452\n"
    },
    {
      "commit": "02164b352a1474c616771582ca9a73a2cc514c1f",
      "tree": "6c124ec6e19f18343b69df8cddcb74e17447f294",
      "parents": [
        "32f5b4d2c8c9b52e9522941c159577b21752d0fa"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Thu Nov 13 14:05:07 2014 +0000"
      },
      "committer": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Fri Nov 28 13:10:25 2014 +0000"
      },
      "message": "Opt Compiler: Arm64: Add support for more IRs plus various fixes.\n\nAdd support for more IRs and update others.\n\nChange-Id: Iae1bef01dc3c0d238a46fbd2800e71c38288b1d2\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\n"
    },
    {
      "commit": "32f5b4d2c8c9b52e9522941c159577b21752d0fa",
      "tree": "1b30de145c7865fd8a79f17a4cfe67b1b890878c",
      "parents": [
        "eea79dd779ba199658ada7264f8f96d776e53f19"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Tue Nov 25 20:05:46 2014 +0000"
      },
      "committer": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Fri Nov 28 12:02:58 2014 +0000"
      },
      "message": "Vixl: Update the VIXL interface to VIXL 1.7 and enable VIXL debug.\n\nThis patch updates the interface to VIXL 1.7 and enables the debug version of\nVIXL when ART is built in debug mode.\n\nChange-Id: I443fb941bec3cffefba7038f93bb972e6b7d8db5\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\n"
    },
    {
      "commit": "eace45873190a27302b3644c32ec82854b59d299",
      "tree": "73fbf327839263b6847bdc4359ac1dbea2b897e3",
      "parents": [
        "8ac8d5556fae9c728bcebcc9036a1bbf40087c76"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 24 18:29:54 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 25 16:02:04 2014 -0800"
      },
      "message": "Move dexCacheStrings from ArtMethod to Class\n\nAdds one load for const strings which are not direct.\n\nSaves \u003e\u003d 60KB of memory avg per app.\nImage size: -350KB.\n\nBug: 17643507\nChange-Id: I2d1a3253d9de09682be9bc6b420a29513d592cc8\n\n(cherry picked from commit f521f423b66e952f746885dd9f6cf8ef2788955d)\n"
    },
    {
      "commit": "9aec02fc5df5518c16f1e5a9b6cb198a192db973",
      "tree": "fe924b37f395af1bb50f55ee6c87c66b727f00af",
      "parents": [
        "20032e512c003a8f42735c4e1eca19c1472bb95e"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Nov 18 23:06:35 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Nov 24 16:06:55 2014 +0000"
      },
      "message": "[optimizing compiler] Add shifts\n\nAdded SHL, SHR, USHR for arm, x86, x86_64.\n\nChange-Id: I971f594e270179457e6958acf1401ff7630df07e\n"
    },
    {
      "commit": "86a8d7afc7f00ff0f5ea7b8aaf4d50514250a4e6",
      "tree": "3db61320369973e463f67927a8983d7eb0d9f860",
      "parents": [
        "255a5bde2f0014dc86a564555106a4291c0867b4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 19 08:47:18 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 19 08:47:18 2014 +0000"
      },
      "message": "Consistently use k{InstructionSet}WordSize.\n\nThese constants were defined prior to k{InstructionSet}PointerSize. So\nuse them consistently in optimizing as a first step. We can discuss\nwhether we should remove them in a second step.\n\nChange-Id: If129de1a3bb8b65f8d9c816a8ad466815fb202e6\n"
    },
    {
      "commit": "4a962e5373bc0992d6e9ba6a43bb65845e7a8783",
      "tree": "21728df3c8be24b1ad132055ee8652bbb03b0f29",
      "parents": [
        "f90866a4966eda94d1b28767c62504ef97974e51"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 18 13:48:34 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 18 13:48:34 2014 -0800"
      },
      "message": "ART: Build fix\n\nChange-Id: I0c4d1c2981bdfb95e12c8c624826349281ada0cf\n"
    },
    {
      "commit": "2d7210188805292e463be4bcf7a133b654d7e0ea",
      "tree": "7705a3bf841ae44b2396728fa22ed0b5dcb44dbf",
      "parents": [
        "e0491682d101c69bf88c3c24a965312129cbfa38"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 10 11:08:06 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 18 12:27:37 2014 -0800"
      },
      "message": "Change 64 bit ArtMethod fields to be pointer sized\n\nChanged the 64 bit entrypoint and gc map fields in ArtMethod to be\npointer sized. This saves a large amount of memory on 32 bit systems.\nReduces ArtMethod size by 16 bytes on 32 bit.\n\nTotal number of ArtMethod on low memory mako: 169957\nImage size: 49203 methods -\u003e 787248 image size reduction.\nZygote space size: 1070 methods -\u003e 17120 size reduction.\nApp methods: ~120k -\u003e 2 MB savings.\n\nSavings per app on low memory mako: 125K+ per app\n(less active apps -\u003e more image methods per app).\n\nSavings depend on how often the shared methods are on dirty pages vs\nshared.\n\nTODO in another CL, delete gc map field from ArtMethod since we\nshould be able to get it from the Oat method header.\n\nBug: 17643507\n\nChange-Id: Ie9508f05907a9f693882d4d32a564460bf273ee8\n\n(cherry picked from commit e832e64a7e82d7f72aedbd7d798fb929d458ee8f)\n"
    },
    {
      "commit": "67555f7e9a05a9d436e034f67ae683bbf02d072d",
      "tree": "9a01b7c69032b08b3c55c18076f68c1e397d8a35",
      "parents": [
        "bf75c5cf32a47eecadcc5e4a324237c1f1d09cde"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Tue Nov 18 10:55:16 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 18 15:36:36 2014 +0000"
      },
      "message": "Opt compiler: Add support for more IRs on arm64.\n\nChange-Id: I4b6425135d1af74912a206411288081d2516f8bf\n"
    },
    {
      "commit": "bacfec30ee9f2f6fdfd190f11b105b609938efca",
      "tree": "1fb08fa38b27627ab59a54895ef098b43bb70ce1",
      "parents": [
        "ff5298ff1640b730ee62c90ca78fc96b7ee82ec4"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Nov 14 15:54:36 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Nov 17 11:19:35 2014 +0000"
      },
      "message": "[optimizing compiler] Add REM_INT, REM_LONG\n\n- for arm, x86, x86_64\n- minor cleanup/fix in div tests\n\nChange-Id: I240874010206a5a9b3aaffbc81a885b94c248f93\n"
    },
    {
      "commit": "9574c4b5f5ef039d694ac12c97e25ca02eca83c0",
      "tree": "2ad3cb7ffaf3579b9ca2a7bb0d7d7e99b3c758b6",
      "parents": [
        "59321e0e10ea09694efecf6154704e2743b9bffd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 12 13:19:37 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 12 13:55:36 2014 +0000"
      },
      "message": "Implement and/or/xor in optimizing.\n\nChange-Id: I7cf6da1fd334a7177a5580931b8f174dd40b7cec\n"
    },
    {
      "commit": "b7baf5c58d0e864f8c3f889357c51288aed42e61",
      "tree": "a665b8b4935f99eab4bb81ad703fe0ec4efc1d10",
      "parents": [
        "15136cb06f0a0fd5f60a832c33870de53c74696a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 11 16:29:44 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 12 11:41:19 2014 +0000"
      },
      "message": "Implement monitorenter/monitorexit.\n\nPretty simple as they just invoke the runtime.\n\nChange-Id: I5fcb2c783deac27e55e28d8b3da3e68ea4b77363\n"
    },
    {
      "commit": "57a88d4ac205874dc85d22f9f6a9ca3c4c373eeb",
      "tree": "af321a2f2d4555f56e0ffcbe31cb4e313b8d35c7",
      "parents": [
        "401da919c67ceb8fbcac81596327ecc10b73389b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 10 15:09:21 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 12 09:18:41 2014 +0000"
      },
      "message": "Implement checkcast for optimizing.\n\n- Ended up not using HTypeCheck because of how\n  instanceof and checkcast end up having different logic\n  for code generation.\n\n- Fix a x86_64 assembler bug triggered by now enabling\n  more methods to be compiled. Difficult to test today\n  without b/18117217.\n\nChange-Id: I3022e7ae03befb1d10bea9637ad21fadc430abe0\n"
    },
    {
      "commit": "fc19de8b201475231751b9df08fce01a093e5c2b",
      "tree": "7c0e9c923a37d059f1707156d69f4908aca308ac",
      "parents": [
        "a89086e3be94fb262c4c4feb15241b30616c3b8f"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Fri Nov 07 17:13:31 2014 +0000"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Mon Nov 10 17:31:38 2014 +0000"
      },
      "message": "Opt compiler: Add arm64 support for a few more IRs.\n\nChange-Id: I781ddcbc61eb2b04ae80b1c7697e1ed5694bd5b9"
    },
    {
      "commit": "a89086e3be94fb262c4c4feb15241b30616c3b8f",
      "tree": "82878d8a6c5418c43ff45857b81db7c88af7d455",
      "parents": [
        "974bc2747b345667e07692109d63675ec50955a3"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Fri Nov 07 17:13:25 2014 +0000"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Mon Nov 10 17:31:17 2014 +0000"
      },
      "message": "Opt compiler: Add arm64 support for floating-point.\n\nChange-Id: I0d97ab0f5ab770fee62c819505743febbce8835e"
    },
    {
      "commit": "9806199033fc2fb61bfd2260f0156d1b38d56beb",
      "tree": "14a5cd067fb01ace19fb5e0f7d494bd9e8744845",
      "parents": [
        "255507d9c695aa9c774b882308faa8278382006b",
        "52839d17c06175e19ca4a093fb878450d1c4310d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 10 10:36:59 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 10 10:37:00 2014 +0000"
      },
      "message": "Merge \"Support invoke-interface in optimizing.\""
    },
    {
      "commit": "52839d17c06175e19ca4a093fb878450d1c4310d",
      "tree": "552ea632ad4d1f688bdfd04b66102e25312bd237",
      "parents": [
        "a453307957afdc3ef0a7988025539ab8919464bc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 07 17:47:25 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 10 10:33:37 2014 +0000"
      },
      "message": "Support invoke-interface in optimizing.\n\nChange-Id: Ic18d7c3d2810557231caf0571956e0c431f5d384\n"
    },
    {
      "commit": "582271847f58fd88db95894984f8d6b83dd90719",
      "tree": "ded34db8f18c80aa5751762fd8385637e969b911",
      "parents": [
        "da6b3e5417d3d14849a70bea818dec56bbb25e6f",
        "4e5965100bd508162c4990fc8e779d6c25e38b9c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 07 15:59:41 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 07 15:59:42 2014 +0000"
      },
      "message": "Merge \"Opt compiler: Fix HNot on ARM64.\""
    },
    {
      "commit": "da6b3e5417d3d14849a70bea818dec56bbb25e6f",
      "tree": "55f87dd39618b627ff331293f7b4ed2abd91fc31",
      "parents": [
        "6b80013e5fb8c858e1a249ae6fcfd27a8f1e817a",
        "6f5c41f9e409bc4da53b5d7c385202255e391e72"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 07 15:57:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 07 15:57:50 2014 +0000"
      },
      "message": "Merge \"Implement instanceof in optimizing.\""
    },
    {
      "commit": "4e5965100bd508162c4990fc8e779d6c25e38b9c",
      "tree": "b40656b04506e3f56e398dd4f04880a330676559",
      "parents": [
        "6b80013e5fb8c858e1a249ae6fcfd27a8f1e817a"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Fri Nov 07 15:56:50 2014 +0000"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Fri Nov 07 15:56:50 2014 +0000"
      },
      "message": "Opt compiler: Fix HNot on ARM64.\n"
    },
    {
      "commit": "5dffc05f6a64d44b4045f3bc00ca40082452875d",
      "tree": "c3235fd9776ef857c3df59705956b1f479f57632",
      "parents": [
        "8d7ef0f6a443676c00c5df0ae97f1090296b1ec5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 07 15:36:32 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 07 15:36:32 2014 +0000"
      },
      "message": "Fix codegen_test: HNot has only one input.\n\nChange-Id: I13e54d39dfbf80593f2e9592dbd286c54938e95a\n"
    },
    {
      "commit": "6f5c41f9e409bc4da53b5d7c385202255e391e72",
      "tree": "bea48b3f23fdac7d566dd3b32dde1f86014b5a02",
      "parents": [
        "86fe4e41720cab85e3e40c45c0436521e56b25d5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 06 08:59:20 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 07 15:32:37 2014 +0000"
      },
      "message": "Implement instanceof in optimizing.\n\n- Only fast-path for now: null or same class.\n- Use pQuickInstanceofNonTrivial for slow path.\n\nChange-Id: Ic5196b94bef792f081f3cb4d15157058e1381e6b\n"
    },
    {
      "commit": "fb4e5fac5fbaf9171a38aeb4bc082f3c2b3122dd",
      "tree": "05c6b632ce21725821e060890feb4bcad8ca3a00",
      "parents": [
        "86fe4e41720cab85e3e40c45c0436521e56b25d5"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Thu Nov 06 12:41:16 2014 +0000"
      },
      "committer": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Fri Nov 07 15:05:38 2014 +0000"
      },
      "message": "Opt compiler: specify that inputs and outputs don\u0027t overlap on arm64.\n\nChange-Id: I062b70c6534c0d203674dccddbf11f94da72cdb4\n"
    },
    {
      "commit": "f43083d560565aea46c602adb86423daeefe589d",
      "tree": "6c812e88723c40ee77ab5c9ba38625a10cc9b364",
      "parents": [
        "de87f405a5f8a4ffd57f01d0d667188e8f0ca8cd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 07 10:48:10 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 07 14:43:19 2014 +0000"
      },
      "message": "Do not update Out after it has a valid location.\n\nSlow paths use LocationSummary to know where to move\nthings around, and they are executed at the end of the\ncode generation.\n\nThis fix is needed for https://android-review.googlesource.com/#/c/113345/.\n\nChange-Id: Id336c6409479b1de6dc839b736a7234d08a7774a\n"
    },
    {
      "commit": "e257d2c27f5565fb55de9122e093371ea2671271",
      "tree": "0fc16707d24fdc258533cd03956bb879b3ab3234",
      "parents": [
        "38efdf51947eaec866059e62626f2409ef4c19db",
        "55dcfb5e0dd626993bb2b7b9f692c1b02b5d955f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 06 17:19:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 06 17:19:08 2014 +0000"
      },
      "message": "Merge \"Add support for not-long on ARM64 in the optimizing compiler.\""
    },
    {
      "commit": "de58ab2c03ff8112b07ab827c8fa38f670dfc656",
      "tree": "c872bfbcad1e90845008140bbddcc43e56dc19d2",
      "parents": [
        "3ed86e4e98dfe1b05c9a03aa2aee42c145a018c3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 05 12:46:03 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 06 16:49:52 2014 +0000"
      },
      "message": "Implement try/catch/throw in optimizing.\n\n- We currently don\u0027t run optimizations in the presence of a try/catch.\n- We therefore implement Quick\u0027s mapping table.\n- Also fix a missing null check on array-length.\n\nChange-Id: I6917dfcb868e75c1cf6eff32b7cbb60b6cfbd68f\n"
    },
    {
      "commit": "55dcfb5e0dd626993bb2b7b9f692c1b02b5d955f",
      "tree": "ee7bce7035220b6a1b630b54dfe743bbfc8941d8",
      "parents": [
        "3ed86e4e98dfe1b05c9a03aa2aee42c145a018c3"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Oct 24 18:09:09 2014 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 06 16:40:59 2014 +0000"
      },
      "message": "Add support for not-long on ARM64 in the optimizing compiler.\n\nChange-Id: I3e98ff411ba358d92774def18a12daccdc4f558f\n"
    },
    {
      "commit": "d0d4852847432368b090c184d6639e573538dccf",
      "tree": "47e31fe860ff1c3ace2f3f5945aa69689d42d998",
      "parents": [
        "a88b7b93e28ea86969dd3ec6a6bf6929d697fc31"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Nov 04 16:40:20 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Nov 06 14:42:58 2014 +0000"
      },
      "message": "[optimizing compiler] Add div-int and exception handling.\n\n- for backends: arm, x86, x86_64\n- fixed a register allocator bug: the request for a fixed register for\nthe first input was ignored if the output was kSameAsFirstInput\n- added divide by zero exception\n- more tests\n- shuffle around some code in the builder to reduce the number of lines\nof code for a single function.\n\nChange-Id: Id3a515e02bfbc66cd9d16cb9746f7551bdab3d42\n"
    },
    {
      "commit": "dff1f2812ecdaea89978c5351f0c70cdabbc0821",
      "tree": "5305173d341263ad32deb98c0299ee8bad03baa9",
      "parents": [
        "5e5632ff1651adbf95faaf8fb3239a36f9f61124"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Nov 05 14:15:05 2014 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Nov 05 16:51:59 2014 +0000"
      },
      "message": "Support int-to-long conversions in the optimizing compiler.\n\n- Add support for the int-to-float Dex instruction in the\n  optimizing compiler.\n- Add a HTypeConversion node type for control-flow graphs.\n- Generate x86, x86-64 and ARM (but not ARM64) code for\n  int-to-float HTypeConversion nodes.\n- Add a 64-bit \"Move doubleword to quadword with\n  sign-extension\" (MOVSXD) instruction to the x86-64\n  assembler.\n- Add related tests to test/422-type-conversion.\n\nChange-Id: Ieb8ec5380f9c411857119c79aa8d0728fd10f780\n"
    },
    {
      "commit": "277ccbd200ea43590dfc06a93ae184a765327ad0",
      "tree": "d89712e93da5fb2748989353c9ee071102cf3f33",
      "parents": [
        "ad17d41841ba1fb177fb0bf175ec0e9f5e1412b3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 21:36:10 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 04 18:40:08 2014 -0800"
      },
      "message": "ART: More warnings\n\nEnable -Wno-conversion-null, -Wredundant-decls and -Wshadow in general,\nand -Wunused-but-set-parameter for GCC builds.\n\nChange-Id: I81bbdd762213444673c65d85edae594a523836e5\n"
    },
    {
      "commit": "6a3c1fcb4ba42ad4d5d142c17a3712a6ddd3866f",
      "tree": "9df58b57af13240a93a6da4eefcf03f70cce9ad9",
      "parents": [
        "c6e0955737e15f7c0c3575d4e13789b3411f4993"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 31 00:33:20 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Nov 03 20:01:04 2014 -0800"
      },
      "message": "Remove -Wno-unused-parameter and -Wno-sign-promo from base cflags.\n\nFix associated errors about unused paramenters and implict sign conversions.\nFor sign conversion this was largely in the area of enums, so add ostream\noperators for the effected enums and fix tools/generate-operator-out.py.\nTidy arena allocation code and arena allocated data types, rather than fixing\nnew and delete operators.\nRemove dead code.\n\nChange-Id: I5b433e722d2f75baacfacae4d32aef4a828bfe1b\n"
    },
    {
      "commit": "b5f62b3dc5ac2731ba8ad53cdf3d9bdb14fbf86b",
      "tree": "fb2d33e43de1476af33112f263fd3c3a775917d0",
      "parents": [
        "29ce77f654412dbb5fb3d5949da4053952917101"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 30 10:58:41 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 31 12:21:53 2014 +0000"
      },
      "message": "Support for CONST_STRING in optimizing compiler.\n\nChange-Id: Iab8517bdadd1d15ffbe570010f093660be7c51aa\n"
    },
    {
      "commit": "42d641bfd9ef3c03c68177b2a429b20056670d86",
      "tree": "8b19599c5c293ac1a7b8a6d5d9b56c8e7385c2fe",
      "parents": [
        "560473c74cc3755b652f86a61039e4a12c08afe2"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Mon Oct 27 14:00:51 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 29 19:21:54 2014 +0000"
      },
      "message": "Opt compiler: Add ARM64 support for the Mul IR.\n\nAlso disable compilation and use of the boot image with\nthe optimizing compiler: this won\u0027t work with the way\nwe\u0027re bringing up arm64 and we need to find a better\nsolution.\n\nBug: 18147756\n\nChange-Id: I6ec0de73681f9226d095bc3db92338dbd46499aa\n"
    },
    {
      "commit": "19a19cffd197a28ae4c9c3e59eff6352fd392241",
      "tree": "265b971afd0e33afc8986317aea2f5a6fe817aec",
      "parents": [
        "7c049c1f34220b0dc1a7f68f3b30f388bae7bdb9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 22 16:07:05 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 29 13:01:48 2014 +0000"
      },
      "message": "Add support for static fields in optimizing compiler.\n\nChange-Id: Id2f010589e2bd6faf42c05bb33abf6816ebe9fa9\n"
    },
    {
      "commit": "7c4954d429626a6ceafbf05be41bf5f840894e44",
      "tree": "9d4a088cc2e259235819f105a21e5a3d58bd0139",
      "parents": [
        "4816ecfc1b2d544685ec5edcdeaad6870f6bfd7e"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Oct 28 16:57:40 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Oct 28 17:53:33 2014 +0000"
      },
      "message": "[optimizing compiler] Add division for floats and doubles\n\nbackends: x86, x86_64, arm.\n\nAlso:\n- ordered instructions based on their name.\n- add missing kNoOutputOverlap to add/sub/mul.\n\nChange-Id: Ie47cde3b15ac74e7a1660c67a2eed1d7871f0ad0\n"
    },
    {
      "commit": "5319defdf502fc4569316473846b83180ec08035",
      "tree": "909c6b29f065c79c8368a283946947cbb582d1c7",
      "parents": [
        "37a7188810e865a1ee0a7bdc2d01d62c1f1ea49e"
      ],
      "author": {
        "name": "Alexandre Rames",
        "email": "alexandre.rames@arm.com",
        "time": "Thu Oct 23 10:03:10 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 23 13:44:42 2014 +0100"
      },
      "message": "ART: optimizing compiler: initial support for ARM64.\n\nThe ARM64 port uses VIXL for code generation, to which it defers work\nlike label binding and branch resolving, register type coherency\nchecking, and immediate values handling.\n\nChange-Id: I0a44508c0c991f472a63e67b3469cdd878fe1a68\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\nSigned-off-by: Alexandre Rames \u003calexandre.rames@arm.com\u003e\n"
    }
  ]
}
