)]}'
{
  "log": [
    {
      "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": "aa98061dd65b7449999ce3f48088e24df693a042",
      "tree": "9ac8da80ba45a11a9caba557011366ee7ec0effb",
      "parents": [
        "e09c0fc7ce4b522f8b3e981572d6fa4954b95878"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Oct 20 15:58:57 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Oct 20 17:42:50 2014 +0100"
      },
      "message": "Add perf option to art tool\n\n\u0027art --perf\u0027 will record user space cycle information\n\u0027art --perf-report\u0027 will also report the saved data.\n\nWhen using perf, the temporary data directory is not deleted.\n\nChange-Id: Iadceeb3883f815cac8ed2b8a96b9b8363661d156\n"
    },
    {
      "commit": "87bb26f87fe33da6d372b5d5e2ad14390c67c96f",
      "tree": "2cfbf39ac54eccb79ca3ebf07000970f473e2fec",
      "parents": [
        "38510082135a7fb438afb515fa3174596e644e9b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 08 11:13:47 2014 -0700"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 09 21:26:56 2014 +0100"
      },
      "message": "Remove art-* targets in favor of build-art-* targets.\n\n- Build both archs version when available.\n- Add --64 and --32 command line flags to the art script.\n\nChange-Id: I037ec94670767f1761adb26f44aafc5592ea3a2b\n"
    },
    {
      "commit": "9d740016b6ce35e9b596391eafe64be5ceaec76b",
      "tree": "26cad3c1da72cf0f6e51fa313682a439bfb03a76",
      "parents": [
        "0a1d91a69919fe4c8c5f227f9b35d76d3c05bd46",
        "f63a0a529ef9d2b819dc1bc7754fcf9e1d60bd74"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 08 14:41:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 08 14:41:40 2014 +0000"
      },
      "message": "Merge \"Clean-up and make the art script usable on target.\""
    },
    {
      "commit": "f63a0a529ef9d2b819dc1bc7754fcf9e1d60bd74",
      "tree": "e9e746230d5474f343c8e9fdf779836b5d309d20",
      "parents": [
        "7c7686e62d262f1823876cebb3700e20f967dd56"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 02 15:24:25 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 08 15:26:05 2014 +0100"
      },
      "message": "Clean-up and make the art script usable on target.\n\nAlso add a phony target to build what\u0027s needed to use it.\n\nChange-Id: I0bca6b0cbe921653de05fec0ae0cbbff63df580e\n"
    },
    {
      "commit": "54fc26c7350beb782d042ba61cb06284b3a367e4",
      "tree": "210758446cb200d1497172e7664152db16118348",
      "parents": [
        "ed20a4d80bcd8d47b5bcdd51ef17c786c0e5015c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Sep 04 21:47:42 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 05 21:54:26 2014 -0700"
      },
      "message": "ART: Refactor elf_writer_quick, add symbolizer\n\nRefactors some classes in elf_writer_quick.h to elf_builder.h to\nbe more friendly for re-use. Use this in oatdump to add a symtab\nto an oat file.\n\nBug: 17187621, 17322125\nChange-Id: I2333291334fd98bd09cc5717fb83cb18efe3a029\n"
    },
    {
      "commit": "689c3bb1dd8987d0d057f93bae360f1268f66b33",
      "tree": "d064fb40292c532e8fc42a81c821d6ce9e94696e",
      "parents": [
        "8b2e9cde4aa3dc96b903c9eee3a7b3b7ee8422e4"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Aug 06 15:44:12 2014 -0700"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 06 23:32:03 2014 +0000"
      },
      "message": "Make tools/art non-executable\n\nChange-Id: I11c2989020de14057ffbfc80bd5baac01234f54b\n"
    },
    {
      "commit": "c2e02609a03da6abe7e97c7ef85c50368058a4df",
      "tree": "c49931457fc8e185ff14d9de7f33a2c2e73fcfed",
      "parents": [
        "1cad41d900201422cedcbe7837935d17bbf28ed8"
      ],
      "author": {
        "name": "Bernhard Rosenkränzer",
        "email": "Bernhard.Rosenkranzer@linaro.org",
        "time": "Mon Jul 14 13:30:58 2014 +0200"
      },
      "committer": {
        "name": "Bernhard Rosenkränzer",
        "email": "Bernhard.Rosenkranzer@linaro.org",
        "time": "Mon Jul 14 15:47:00 2014 +0200"
      },
      "message": "Make generate-operator-out.py compatible with Python 3.x\n\nAdapt generate-operator-out.py to work with both Python 2.x (x \u003e\u003d 6)\nand 3.x\n\nChange-Id: I20f1b212069f368f3cf289dfd6b2aaee393cac68\nSigned-off-by: Bernhard Rosenkränzer \u003cBernhard.Rosenkranzer@linaro.org\u003e\n"
    },
    {
      "commit": "6354bb830cc9ccec61c6fd47580842a1b4673cd5",
      "tree": "01ee42fbc39a0c378c32ab3cca15090272098068",
      "parents": [
        "395fa7286ca2c6cd3dd55c0eab5b0f69dc063fb8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 02 16:25:12 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 02 16:25:12 2014 +0100"
      },
      "message": "Fix art script for \u0027clean\u0027 environments.\n\nWe need to define ANDROID_HOST_OUT in the script before using it.\n\nChange-Id: I6b415d8de5fb6001bc579b013683957abb33f394\n"
    },
    {
      "commit": "fc3c67a6c45553cb4d21a9b40e99ffb345baf9b6",
      "tree": "d2e9a903dc579ab09122455e80b2e04ea94cd3d6",
      "parents": [
        "ea7ead2d98d812a4a8967934630cacfba41dc552"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 02 14:57:53 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 02 14:58:41 2014 +0100"
      },
      "message": "Fix art-host rule and art script after build changes.\n\nChange-Id: Ideb6a83d71cda126d94ad01965b2dcf5005d449a\n"
    },
    {
      "commit": "833a48501d560c9fa7fc78ef619888138c2d374f",
      "tree": "add308298a5486d44caddea120cc9200dd70c38a",
      "parents": [
        "b849f6dd638fd1246724160cd5c01ab1a5ff33bd"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 21 18:46:59 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 25 19:34:58 2014 -0700"
      },
      "message": "ART: Native support for multidex\n\nNative support for zip files with multiple classesX.dex.\n\nWorks by explicitly looking for those files in ascending order. As\nthese files have no file system representation for themselves,\nintroduce synthetic dex locations: the name of the originating file\nplus a colon plus the name of the dex file, e.g., test.jar:classes2.dex.\n\nOpening a zip dex file will return all dex files in this way. This\nkeeps the changes to dex2oat minimal.\n\nTo hide multidex/synthetic names from the Java layer, let the handle\nof dalvik.system.DexFile refer to a vector of DexFile objects. When\nopening a location, test possible synthetic names and add them to the\nvector. Thus, the original multidex jar in the classpath will be\nassociated with all embedded dex files.\n\nChange-Id: I0de107e1369cbc94416c544aca3b17525c9eac8b\n"
    },
    {
      "commit": "c5f17732d8144491c642776b6b48c85dfadf4b52",
      "tree": "811daa488ae5ee5dfd9b3b73bd210bc1506e5ca1",
      "parents": [
        "08654d40cdd256f6a6c8619bf06d04d4c819714a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jun 05 20:48:42 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jun 10 23:19:29 2014 -0700"
      },
      "message": "Remove deprecated WITH_HOST_DALVIK.\n\nBug: 13751317\nFix the Mac build:\n - disable x86 selector removal that causes OS/X 10.9 kernel panics,\n - madvise don\u0027t need does zero memory on the Mac, factor into MemMap\n   routine,\n - switch to the elf.h in elfutils to avoid Linux kernel dependencies,\n - we can\u0027t rely on exclusive_owner_ being available from other pthread\n   libraries so maintain our own when futexes aren\u0027t available (we\n   can\u0027t rely on the OS/X 10.8 hack any more),\n - fix symbol naming in assembly code,\n - work around C library differences,\n - disable backtrace in DumpNativeStack to avoid a broken libbacktrace\n   dependency,\n - disable main thread signal handling logic,\n - align the stack in stub_test,\n - use $(HOST_SHLIB_SUFFIX) rather than .so in host make file variables.\n\nNot all host tests are passing on the Mac with this change. dex2oat\nworks as does running HelloWorld.\nChange-Id: I5a232aedfb2028524d49daa6397a8e60f3ee40d3\n"
    },
    {
      "commit": "f5656ce680de254bdd336bf834aa1de0a945a8fe",
      "tree": "ccecfa8a351c4c0f4d161934be12f8f8380bb178",
      "parents": [
        "9a16f222cdf40e68b084316b6e768c14d4b9e020"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu May 01 15:14:34 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu May 01 15:51:45 2014 -0700"
      },
      "message": "Fix the tools/art script about the ISA-specific dalvik cache.\n\nBug: 14470552\nChange-Id: I71367052d2a5f0dcf66cf2dfdbc260aff4ac952e\n"
    },
    {
      "commit": "89c4e28d4d319a4905fe4db3d5e79fe12dedf9a3",
      "tree": "ff0884158120c24a8329d3c6cf12715a3c5815c2",
      "parents": [
        "89ff4f99ae477758b8e2300dc1a9cb828ed3a53c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 24 09:33:30 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 26 17:15:00 2014 +0000"
      },
      "message": "Art script: Use PWD for android-data and cleanup after running.\n\nChange-Id: I79ef402196ba875f51f924b3eeafffadc012834f\n"
    },
    {
      "commit": "d2f6f77f797bf34dd4ef0f1dc05604f07746bcae",
      "tree": "9232a28eabb1989fbc54c9747bcac05a36d3b8ff",
      "parents": [
        "37d4c1db4d705f5a28001f65afdd68d0527948d8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 17 18:26:00 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 17 18:26:00 2014 +0000"
      },
      "message": "ART change: Script is using function(), which is bash specific.\n\nChange-Id: Ieb2a9674c95aafadbdb26c060f186f3f2d0f5e15\n"
    },
    {
      "commit": "9583fbcf597eff6d0b3c5359b8e8d5f70ed82c40",
      "tree": "847912709f811adda0fa63e89e4bf8af27769f2e",
      "parents": [
        "093aad184b4451639951a7e012d9b55cbf8c8a07"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 28 15:21:07 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 04 16:30:48 2014 +0000"
      },
      "message": "Remove oat file location in the image.\n\nThe oat file is now always in the same directory, and has the\nsame name as the image file. Only difference is the extension.\n\nThis also removes the need for host-prefix.\n\nChange-Id: I16d1f7aeb1d58372d41921694664e9c321afc1ad\n"
    },
    {
      "commit": "b48b9eb6d181a1f52e2e605cf26a21505f1d46ed",
      "tree": "117d99c16f201b2f14adfe0922e56b9ff433c133",
      "parents": [
        "3c506f9877b4a106d93169b6bb5610b24a84d61c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 28 16:20:21 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 28 19:03:57 2014 -0800"
      },
      "message": "Fix clang to compile and run host tests.\n\nDon\u0027t use the computed goto interpreter with clang 3.4 as it causes compilation\nto hang.\nAvoid inclusion of LLVM_(HOST|DEVICE)_BUILD_MK except for with portable as it\nsets clang incompatible cflags.\nMost fixes are self-evident, for the quick dex file method inliner the enums\nwere being used with ostreams, so fix the enums and operator out python script\nto allow this.\nNote this change effects portable but this is untestable as portable was broken\nby ELF file and mc linker changes.\n\nChange-Id: Ia54348f6b1bd3f76d3b71c6e8c5f97626386b903\n"
    },
    {
      "commit": "97f4489166ae31c12d35ad3f550a5fc8d143b4fa",
      "tree": "3fc0e914648425587960fb12b7369e0020015da0",
      "parents": [
        "4b23250f4cbf3047924c646c1a0c078394f8362d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 14 23:10:04 2014 +0000"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 14 23:10:04 2014 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Add a script for running art standalone.\"\"\"\n\nThis reverts commit 4b23250f4cbf3047924c646c1a0c078394f8362d.\n\nChange-Id: Ib749a8267abf35e51552b741ba749d6ed6975f95\n"
    },
    {
      "commit": "4b23250f4cbf3047924c646c1a0c078394f8362d",
      "tree": "62bae8c857c85293bcba4bf920ed47ed094e458a",
      "parents": [
        "8b8adace3511e6fd68c6ae0eb80046d68186f8eb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 13 08:45:56 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 13 14:36:28 2014 +0000"
      },
      "message": "Revert \"Revert \"Add a script for running art standalone.\"\"\n\nThis reverts commit 41dcb9f856a2051527cd595f8fe7d200066acba4.\n\nChange-Id: Ide6fa696c6fb43fe17e0993e8c9d1b588c99b1f3\n"
    },
    {
      "commit": "41dcb9f856a2051527cd595f8fe7d200066acba4",
      "tree": "2ced313e1f56d616d4a5a2317781aea86ea04b4c",
      "parents": [
        "707c96a9d3b23182d1515a7e683c0885eee08a06"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Feb 12 12:25:56 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Feb 12 12:25:56 2014 -0800"
      },
      "message": "Revert \"Add a script for running art standalone.\"\n\nThis reverts commit 1f5a90f28443886ebefcfbd531b8e41ece298cca.\n"
    },
    {
      "commit": "1f5a90f28443886ebefcfbd531b8e41ece298cca",
      "tree": "55aa67a2549526ed14d51092663be0fd9803ba19",
      "parents": [
        "a52214230ad091359956ed7566670963aedf2045"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 07 18:33:04 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 12 09:54:40 2014 +0000"
      },
      "message": "Add a script for running art standalone.\n\nChange-Id: I0c48856d811c40662a6e4a4782478a0bc8e0f697\n"
    },
    {
      "commit": "2248c17cd3483c030571cc6163a0e0870da998c2",
      "tree": "b2e4ca7370c5d51791884676c4c9f9030b8b05f9",
      "parents": [
        "00ce185371be9930dfd75e5acc2258a1139b558e"
      ],
      "author": {
        "name": "Chirayu Desai",
        "email": "cdesai@cyanogenmod.org",
        "time": "Wed Nov 06 20:43:21 2013 +0530"
      },
      "committer": {
        "name": "Chirayu Desai",
        "email": "chirayudesai1@gmail.com",
        "time": "Thu Nov 28 13:49:31 2013 +0000"
      },
      "message": "tools: use \u0027/usr/bin/env python\u0027 instead of \u0027/usr/bin/python\u0027\n\n* This is how it is done in other scripts in the AOSP tree, as\n  \u0027/usr/bin/python\u0027 may be python3 on some distros, which isn\u0027t\n  supported yet.\n\nChange-Id: I0d9857fc6a122f505953fddcd6244dad75b1838a\n"
    },
    {
      "commit": "d320a9a7850fabd62329d5b287787c8e31d047cc",
      "tree": "c4f3d5d2ecca6dfd9dd8e246d872ba5964208e42",
      "parents": [
        "a6b22c5be364a4ea926bfd2d0ea6169b22bdd10b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 06 21:48:46 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 06 21:48:46 2013 -0700"
      },
      "message": "Fix generate-operator-out.py\u0027s copyright header.\n\nWhen I created this file I just copied the license from the first .py\nfile I came across, without noticing it wasn\u0027t the appropriate license.\n\nChange-Id: I63ccec962a7a906a393a9889fdda35861d977e9c\n"
    },
    {
      "commit": "02e25119b15a6f619f17db99f5d05124a5807ff3",
      "tree": "7be4cbbf28033e5ee0621565b410fe5d8170a8fb",
      "parents": [
        "7d70a7932f0ba09eb01a93caab060aef1403d4e6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 14 16:14:24 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 16 13:15:37 2013 -0700"
      },
      "message": "Fix up TODO: c++0x, update cpplint.\n\nNeeded to update cpplint to handle const auto.\n\nFixed a few cpplint errors that were being missed before.\n\nReplaced most of the TODO c++0x with ranged based loops. Loops which\ndo not have a descriptive container name have a concrete type instead\nof auto.\n\nChange-Id: Id7cc0f27030f56057c544e94277300b3f298c9c5\n"
    },
    {
      "commit": "3b074e60b2b906e9da5257d09de62b14867cb48e",
      "tree": "1ef980779ea131d817938badfc65febabd02c2c4",
      "parents": [
        "a6468f681b6e5feff940d0c32363847e795e97c6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 19 16:51:57 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 19 16:51:57 2013 -0700"
      },
      "message": "readdir is safer than readdir_r.\n\nThe upstream cpplint.py already made this change.\n\nChange-Id: I9614d51080557eab6730cffd476e01e7872729d0\n"
    },
    {
      "commit": "1895ea386ca78573302483f589ebabd8ce1480e7",
      "tree": "d8c2d27ac746f29c8248fe17fd6b8e9872556fc4",
      "parents": [
        "3e3d591f781b771de89f3b989830da2b6ac6fac8"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 18 13:28:37 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 18 14:38:27 2013 -0700"
      },
      "message": "Fix cpplint readability/fn_size issues\n\nChange-Id: I1efdb07a948a2af49db1a9d21ccab16dacc03a54\n"
    },
    {
      "commit": "df62950e7a32031b82360c407d46a37b94188fbb",
      "tree": "038bf95a2ce296ae3e0c30a131ac22c0986f0f52",
      "parents": [
        "0cd7ec2dcd8d7ba30bf3ca420b40dac52849876c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 17 22:39:56 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 18 00:13:18 2013 -0700"
      },
      "message": "Fix cpplint whitespace/parens issues\n\nChange-Id: Ifc678d59a8bed24ffddde5a0e543620b17b0aba9\n"
    },
    {
      "commit": "fc0e3219edc9a5bf81b166e82fd5db2796eb6a0d",
      "tree": "5fc7f5b941724a62f8e3411df09fae431ff5e3cf",
      "parents": [
        "56d947fbc9bc2992e2f93112fafb73e50d2aaa7a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 17 14:40:12 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 17 16:49:05 2013 -0700"
      },
      "message": "Fix multiple inclusion guards to match new pathnames\n\nChange-Id: Id7735be1d75bc315733b1773fba45c1deb8ace43\n"
    },
    {
      "commit": "7940e44f4517de5e2634a7e07d58d0fb26160513",
      "tree": "ac90242d96229a6942f6e24ab137bc1f8f2e0025",
      "parents": [
        "5cd9e3b122f276f610980cbaf0d2ad6ed4cd9088"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 13:46:57 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 17:49:01 2013 -0700"
      },
      "message": "Create separate Android.mk for main build targets\n\nThe runtime, compiler, dex2oat, and oatdump now are in seperate trees\nto prevent dependency creep.  They can now be individually built\nwithout rebuilding the rest of the art projects. dalvikvm and jdwpspy\nwere already this way. Builds in the art directory should behave as\nbefore, building everything including tests.\n\nChange-Id: Ic6b1151e5ed0f823c3dd301afd2b13eb2d8feb81\n"
    },
    {
      "commit": "fa42b4410d49134a8e63dc2196be4013d286f2d6",
      "tree": "71e325089092167f202fbdf763daaf700cfd4a4b",
      "parents": [
        "7675e16bcae06c0fe258aad89b3d511037dec399"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 17 12:53:45 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 17 19:01:40 2013 -0700"
      },
      "message": "Move to new art dalvikvm\n\nChange-Id: Ib04bc9853b7084965fa0c9899c3e5f5ac42d4ce7\n"
    },
    {
      "commit": "7675e16bcae06c0fe258aad89b3d511037dec399",
      "tree": "7b1ef4555225ba2e6d9b63fe61549c52d291a757",
      "parents": [
        "5f4bd97519aad4f075346f8c5c0a84c6105951d8"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 10 16:18:04 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 10 16:18:04 2013 -0700"
      },
      "message": "Rename art-cache to dalvik-cache\n\nChange-Id: I294995066aecc29fbd739c3e9e6f60934f743064\n"
    },
    {
      "commit": "addf1a8da2ece5ee9d6747a176f960ab7291f718",
      "tree": "9806306981ca16bab1671feac53d6810af5b2fb2",
      "parents": [
        "abe640f873536f4f0b5953558c086fe82123e6ca"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 19 10:50:50 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 19 10:50:50 2013 -0800"
      },
      "message": "Fix the last failing host -Xint JDWP test.\n\nThere\u0027s a test that asserts that the bootclasspath is non-empty.\n\nChange-Id: I9cd93f658255361cdd9dd73e6ecda6da37219cb7\n"
    },
    {
      "commit": "b6f0f78b0cbf53e2d551653911f1cda96f5e456b",
      "tree": "be6a4eed9f8f332cb5caadbdbf46f4193b6f4976",
      "parents": [
        "7db619bb2a4e01e8532a04b613745d4926b205d7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 17 10:28:23 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 17 10:28:23 2013 -0800"
      },
      "message": "Make the tools/art script appear to work from any directory.\n\nThis isn\u0027t the real fix, and it means that your oatexec will be running\nfrom $(ANDROID_BUILD_TOP) rather than your current directory, but it lets\nme use a modified vogar that just calls \"art\" instead of \"dalvikvm\", as\nlong as I use absolute paths.\n\nChange-Id: Iac35fcd2114316a06780b4f1f27eee9fbe95282d\n"
    },
    {
      "commit": "54b3747f197fec38f91b1b74e81d812d8b55f1ad",
      "tree": "ef2f96eb5103e85825d77328e146845e51c53f69",
      "parents": [
        "7688767f265f4f1e44018d3fa82e5b189e4bdf3e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 08 15:45:41 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 08 15:45:41 2013 -0800"
      },
      "message": "Fix art script argument quoting.\n\n$* is always a mistake, which is a shame because that\u0027s what everyone\nlearns first.\n\nChange-Id: I0c18d13a42653cdde72b55ba7a4284e3454a5ba8\n"
    },
    {
      "commit": "cae6f06d19da0eba4c6eb8480545a3ecb7c9fba9",
      "tree": "e7fd86589a3ce4384d96a4b85b7d8469a652a973",
      "parents": [
        "937b73eea7a473395f3572e0db1fdc9c6a094db5"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 02 17:16:27 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 02 17:16:27 2012 -0700"
      },
      "message": "Change art script to use exec\n\nChange-Id: I0ae2a7e35ba4bc2675836b45677aa535eccf0850\n"
    },
    {
      "commit": "08fc03ae5dded4adc9b45b7014a4b9dfedbe95a6",
      "tree": "3e767d037fd3e47e792b88d982ad38bce26d39e9",
      "parents": [
        "f94404ead1f2e4a1b5a2ff8bbdb65c5e4d4a77ea"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 26 17:34:00 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 27 12:18:25 2012 -0700"
      },
      "message": "Include held locks in SIGQUIT thread dumps.\n\nHandy if you have an ANR that\u0027s locking related. Quick tour:\n\n   at org.apache.harmony.dalvik.NativeTestTarget.emptyJniStaticSynchronizedMethod0(Native method)\n   - locked \u003c0x60135aa8\u003e (a java.lang.Class\u003corg.apache.harmony.dalvik.NativeTestTarget\u003e)\n   at java.lang.reflect.Method.invoke(Native method)\n   at C.whileTrue(Main.java:63)\n   at C.synchronizedOnClassString(Main.java:56)\n   - locked \u003c0x60002a70\u003e (a java.lang.Class\u003cjava.lang.String\u003e)\n   at C.nestedSynchronizationWithTryCatch(Main.java:44)\n   - locked \u003c0x61336b90\u003e (a java.lang.String)\n   - locked \u003c0x61336bd0\u003e (a java.lang.String)\n   at C.nestedSynchronization(Main.java:35)\n   - locked \u003c0x61336b18\u003e (a java.lang.String)\n   - locked \u003c0x61336b50\u003e (a java.lang.String)\n   at C.synchronizedOnClassC(Main.java:30)\n   - locked \u003c0x613366f8\u003e (a java.lang.Class\u003cC\u003e)\n   at C.noLocks(Main.java:27)\n   at C.\u003cclinit\u003e(Main.java:24)\n   - locked \u003c0x613366f8\u003e (a java.lang.Class\u003cC\u003e)\n   at Main.main(Main.java:19)\n\nA non-static synchronized native method works too:\n\n   at org.apache.harmony.dalvik.NativeTestTarget.emptyJniSynchronizedMethod0(Native method)\n   - locked \u003c0x613371a8\u003e (a org.apache.harmony.dalvik.NativeTestTarget)\n   ...\n\nNote that most stack traces don\u0027t look any different; the above is a\npathological example that exercises different kinds of locking. Testing\nwith system_server shows most threads don\u0027t hold any locks.\n\nFuture work (marked by TODO) is that explicit JNI MonitorEnter calls in\nnative code aren\u0027t shown.\n\nChange-Id: I2747f5cddb4ef64b1935736f084a68fe8e4005e9\n"
    },
    {
      "commit": "4e181288cc6bd67baa1024e2fdb7201dde3d100e",
      "tree": "f2e51b932e8446d87d41e1a724b2129f5e54a134",
      "parents": [
        "ba67d7d31efbbdc6e8e8870b2cf0faf7d22db454"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 25 10:07:40 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 25 10:07:40 2012 -0700"
      },
      "message": "Make art script work for the first time\n\nChange-Id: Iab8d5e1e3abf372d7a7a567bce55becdb5a139d7\n"
    },
    {
      "commit": "db385708bfcfbd64bdc9cb46fdc0e66344363848",
      "tree": "3e2172c857a6bae61bba54587e8fcdc5bbd65b6d",
      "parents": [
        "5937e047bd15b3ce48c95e0457e501ab6feb7234"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 21 10:41:20 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 21 10:41:57 2012 -0700"
      },
      "message": "Update cpplint.py.\n\nFrom https://code.google.com/p/google-styleguide/source/browse/trunk#trunk%2Fcpplint .\n\nChange-Id: Ie9c0efe36c9af5c1fead502ae673ca6693f3cf7b\n"
    },
    {
      "commit": "a9719eb4167b544438268d46692389761652fc5d",
      "tree": "cb4399b94b8e61b41818969940babc4fb461b414",
      "parents": [
        "7bda15835732b2ce874a093c136ca406d4f20e00"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 07 11:09:48 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 07 11:09:48 2012 -0700"
      },
      "message": "Clean up the confusing comment-related logic a bit.\n\nThis still passes 034, but is a bit clearer because we get all comments\nout of the way early on.\n\nChange-Id: I580ebdca24a4a0738ee102536c8d5b076427264d\n"
    },
    {
      "commit": "a91bc63a27a0201f58ced75ff85dcfe6a3d358c6",
      "tree": "9a15319ae9d31d2b7d5b4445287cc8cdf16923f0",
      "parents": [
        "d06dfe7b09de95c035fa736d2b62aa9fee2347b5"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jun 06 23:18:10 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jun 06 23:18:10 2012 -0700"
      },
      "message": "Make generate-operator-out.py only skip // line comments\n\nChange-Id: I5d279b735b383a901fd25034fdd9202c8e97582d\n"
    },
    {
      "commit": "4825756c621ff709079ef3cd3f981e7036c0ebdb",
      "tree": "29f2db93457dc7eca2ccc95d20e0e159283e9edf",
      "parents": [
        "6c564a8138d1b2a230d55e1f5850a95b6fb42582"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 06 17:42:44 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 06 17:44:43 2012 -0700"
      },
      "message": "Auto-generate operator\u003c\u003c for enum ::art:Class::Status.\n\nThis requires a bit more work in the script to support\nenums nested inside classes.\n\nChange-Id: Id0e3561c3675214f74f47ac9f36ba82c41fa775d\n"
    },
    {
      "commit": "08b82a99de4dfeb0a74b0922051f46516ca85398",
      "tree": "d1ecec26d1c0668e182ab2addf5e5580a98ab95e",
      "parents": [
        "c8eeb9b283d5053c1b1092363320646dc7c0deab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 05 12:13:56 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 05 12:13:56 2012 -0700"
      },
      "message": "Don\u0027t explicitly request python2.4.\n\nThis is obsolete historical cruft.\n\nChange-Id: I140a93ac04f5be0034812f90204e6f9ae36d2d5f\n"
    },
    {
      "commit": "460384f04f933f94546db7bfbfa02896b9e77962",
      "tree": "e95299a4a62f63c9a3ca981d26993f440f2b02c0",
      "parents": [
        "5e284224e5525ee0a8494a73d84c8ef86e022a0a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 04 16:53:10 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 04 16:53:10 2012 -0700"
      },
      "message": "Use the operator\u003c\u003c generator more widely.\n\nChange-Id: Iae3b8f32f49f4c91cd41c53bbafb95db071d57bb\n"
    },
    {
      "commit": "ef67aec56cfc8b43239027f8ddc331162eb103a1",
      "tree": "9157685396253f815cf130124af3d1887bc61be8",
      "parents": [
        "899214c7b94b2f21d2fee2b77e2482ea6b18c0d1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 04 12:01:27 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 04 12:01:27 2012 -0700"
      },
      "message": "Fix the operator\u003c\u003c generation to work with \"mmm\" as well as \"mm\".\n\nChange-Id: I457a74f1be68debfd351c63f282c3579c6becda2\n"
    },
    {
      "commit": "0e57ccbbc2de9eeaeecd699575aab22a3f555619",
      "tree": "3137981abc7f07f3cdcc87bfbf5fbd73fa0c966a",
      "parents": [
        "0879504b6ac72f6d93dcccf9e1b7e1769a73b230"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 03 16:04:52 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 04 11:18:48 2012 -0700"
      },
      "message": "Start automatically generating operator\u003c\u003cs for enums.\n\nChange-Id: I0f53db089b9a1ba38ce82b75ab22448877be67e0\n"
    },
    {
      "commit": "223f20fa939c386c695977263780dea2195093db",
      "tree": "642d1abe5dfbf2239bf239e8e91bebd333384378",
      "parents": [
        "a56fcd60596ae8694da21fccde5c56832e437c56"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Feb 04 23:06:55 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Feb 04 23:24:56 2012 -0800"
      },
      "message": "Remove old code to support multiple images\n\nChange-Id: I29bc2f216361ac4ed0cc0fefb7e3c46ee64e0ae8\n"
    },
    {
      "commit": "69b15fb098162f19a4c20e6dccdcead04d9c77f0",
      "tree": "84fdfc26f560fb618b652a0aff98347f875a2653",
      "parents": [
        "109bd6a38d0cd7c4b7797a9f2db8324c797d1368"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Sep 03 12:25:21 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 06 15:28:47 2011 -0700"
      },
      "message": "Working dex2oat and oatexec\n\nadb shell dex2oatd --dex-file\u003d/system/framework/core.jar     --image\u003d/system/framework/boot.oat --base\u003d0x50000000 \"\u0027--method\u003dLjava/lang/System;logI(Ljava/lang/String;)V\u0027\" \"\u0027--method\u003dLjava/lang/System;log(CLjava/lang/String;Ljava/lang/Throwable;)V\u0027\"\nadb shell dex2oatd --boot-dex-file\u003d/system/framework/core.jar --boot\u003d/system/framework/boot.oat --dex-file\u003d/system/framework/art-test-dex-HelloWorld.jar --image\u003d/system/framework/art-test-dex-HelloWorld.oat\nadb shell oatexecd -Xbootclasspath:/system/framework/core.jar -Xbootimage:/system/framework/boot.oat -classpath /system/framework/art-test-dex-HelloWorld.jar -Ximage:/system/framework/art-test-dex-HelloWorld.oat HelloWorld\n\n09-05 17:58:18.912  2385  2385 I System  : Hello, world!\n\nChange-Id: I53e534068584f0c3a837313e4d517a0e4a7154fc\n"
    },
    {
      "commit": "4b3b727d405da366f480f438e9b968ee09bf958d",
      "tree": "2330063ea97fdc96b5021ec05cc680454ee0bf46",
      "parents": [
        "b765be0d656c3073402693aeaf64e95a0e49f218"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 18 09:52:17 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 18 09:59:58 2011 -0700"
      },
      "message": "Add vogar-like --invoke-with to \u0027art\u0027, and fix a bug valgrind finds.\n\nAlso add -d to run aexecd.\n\nChange-Id: I38fefd9ad2e08b42039cb2a09351b4e6e30a9c5c\n"
    },
    {
      "commit": "f2682d5a6ce0f7de58da8fd4ec8aec200c43b92e",
      "tree": "e7669f0833a588eb5231fb4452bbac091cc5037e",
      "parents": [
        "0d666d8769714dcbc2acc4dd5b06f0deffa6e0a1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 15 16:37:04 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 15 18:34:59 2011 -0700"
      },
      "message": "Fix the invocation interface.\n\nPreviously, we just cast the Runtime* to a JavaVM*, which blew up as soon as\nthe caller tried to use their supposed JavaVM*.\n\nThis also implements NewObjectArray. Running aexecd on the host, this gets us\nas far as not having an x86 CreateInvokeStub...\n\nChange-Id: Iba5f148797d053fba1c69af99b20508ea6aff5cb\n"
    },
    {
      "commit": "40ef99eb9dd91c2fa549f40973964529c927bb3c",
      "tree": "317dfd56abeacb4c0dd3cf7f63a4801828d7dff9",
      "parents": [
        "5381cf941d26030199fcdbe61a614ff01e55a27c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 11 17:44:34 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 11 22:02:10 2011 -0700"
      },
      "message": "Start implementing JNI.\n\nThis patch replaces our JniEnvironment class with the regular JNIEnv.\n\nThis patch also adds support for .jar, .zip, and .apk files in the\nboot classpath.\n\nThere\u0027s also an attempt at implementing JNIEnv::FindClass.\n\nI\u0027ve also fixed a few scoped_ptr/scoped_array bugs (this kind of thing\nbeing the reason we use UniquePtr in libcore), and removed some\nunnecessary .\n\nThe \u0027tools/art\u0027 script makes it easier to play with aexec on the command-line.\n\nChange-Id: Ic4f704c12e0071f17e95b6e182fdab9370ead9b0\n"
    },
    {
      "commit": "59848dad0b711856fc1bfb81748bbe944b045640",
      "tree": "2ab0551f1c6420deb34b3b81d67e8a34a42368f8",
      "parents": [
        "f615a61aef972cfc1dc23931ac2ed0da14c3fedb"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Jul 23 20:35:19 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Jul 23 20:35:19 2011 -0700"
      },
      "message": "Import cpplint.py and make target cpplint-art\n\nImported without change from http://google-styleguide.googlecode.com/svn/trunk/cpplint/cpplint.py\nWill start making local changes to cpplint.py in followup changes.\n\nChange-Id: I0fda185f4a9f96815739db8f862cf8537402bf3b\n"
    }
  ]
}
