)]}'
{
  "log": [
    {
      "commit": "dc15e8919c152357f3fcb40afcf3412d9b155c8a",
      "tree": "18646509125f3b812ce65f06061c623d9c41b68d",
      "parents": [
        "3d63118460dbcff330cb188ea86bd5ad5cda5f99"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Mar 10 13:49:14 2016 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Mar 11 10:21:15 2016 -0800"
      },
      "message": "Suppress a valgrind libc issue.\n\nTo prevent our valgrind tests from failing.\n\nBug: 27596582\nBug: 27156726\nChange-Id: Ic55256bd09fdffcf2a0c8fa4fa7951bc648b86a8\n"
    },
    {
      "commit": "07f6818ef68046d4749963b3bd59f7e93cf43fa9",
      "tree": "f92c036b6340bba99208ca2810f1453ed45d35d7",
      "parents": [
        "8411aa3d88f4baf583ec4ecd62bb619cacd28acb"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 10 17:25:50 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 10 17:30:25 2016 +0000"
      },
      "message": "ART: Do not use vixld - workaround to fix dex2oatds.\n\nThis is a quick workaround for ODR violations caused\nby linking libvixl.a compiled without VIXL_DEBUG with\nthe libartd-compiler.a compiled with VIXL_DEBUG.\n\nBug: 27588884\nChange-Id: Ib1af165f177f125f03cdd99777dff4c2912f6405\n"
    },
    {
      "commit": "970e19164326d93947441f9f0c2c754225dfb6e8",
      "tree": "2829252b919888076014bf727d396722b1c5a9dd",
      "parents": [
        "d15ede2df7d157ea5480614fd18c2bf0d37a6c2a"
      ],
      "author": {
        "name": "Bilyan Borisov",
        "email": "bilyan.borisov@linaro.org",
        "time": "Wed Feb 10 11:51:17 2016 +0000"
      },
      "committer": {
        "name": "Bilyan Borisov",
        "email": "bilyan.borisov@linaro.org",
        "time": "Wed Feb 24 14:49:55 2016 +0000"
      },
      "message": "Made art/runtime/arch/stub_test.cc compile with -O2 again.\n\nThe test file art/runtime/arch/stub_test.cc wasn\u0027t compiling with -O2\nas the optimisations interacted with -fstack-protector-strong. The\naarch64 _asm_ block in the Invoke3WithReferrerAndHidden function was\nclobbering all possible registers, and clang requires at least one\nregister to be live across an _asm_ block to do the checking.\n\nThe fix was to remove a callee-saved register, x20, from the clobber\nlist of the aarch64 asm block of Invoke3WithReferrerAndHidden. The\nblock was also modified to save and restore x20 to ensure that it\nwon\u0027t be clobbered by the stubs invoked by the blr instruction. Also\nadded some comments above the clobber list.\n\nChange-Id: I03597fd2d14cf2d6e32edf02835aee2eb68bab17\n"
    },
    {
      "commit": "bf63303f8a98c88fb8f0a726ab9431660f26df5a",
      "tree": "c31615ac4c02b2f9a0b56cf843d211729e3846fb",
      "parents": [
        "9baccdc75ee01dd96ac4e57e17965635f96def27",
        "944da603cde59a4277f3bbc31d860a90842a1a2a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 24 11:52:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 24 11:52:14 2016 +0000"
      },
      "message": "Merge \"ART: Allow method references across oat files for multi-image, 2nd attempt.\""
    },
    {
      "commit": "944da603cde59a4277f3bbc31d860a90842a1a2a",
      "tree": "733bc38a905822097a6a601a1de20b49f54440d3",
      "parents": [
        "52d9c2f0c584877e9c7f9e859d8068b3a2ccb12f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 19 12:27:55 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 24 11:19:23 2016 +0000"
      },
      "message": "ART: Allow method references across oat files for multi-image, 2nd attempt.\n\nThese were disabled because we didn\u0027t have sufficient\ninformation about the multi-image layout when processing\nlink-time patches in OatWriter. This CL refactors the\nELF file creation so that the information is available.\n\nAlso clean up ImageWriter to use oat file indexes instead\nof filenames and avoid reopening the oat file to retrieve\nthe checksum.\n\nChange-Id: Icc7b528deca29da1e473c8f079521a36d6c4892f\n"
    },
    {
      "commit": "2e2db786b8fbaa4dceb37603a4296b0b2aea4e9e",
      "tree": "7fef29d5fcdb997950fd1a2524ae853b4dcfac3d",
      "parents": [
        "3da74687e42de7d33a8e75df9bd64374e650f75e"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Feb 23 12:00:03 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Feb 23 12:00:03 2016 +0000"
      },
      "message": "Revert \"Revert \"Add profman tool: responsible to process profiles\"\"\n\nThis reverts commit 3da74687e42de7d33a8e75df9bd64374e650f75e.\n\nChange-Id: Id005096bd8063c6c602744d4476d5eb7e0d34e90\n"
    },
    {
      "commit": "3da74687e42de7d33a8e75df9bd64374e650f75e",
      "tree": "f3bf62678200380dc672647af1da136c562f60b3",
      "parents": [
        "6caefd983a800a063b219f1d3ed71b1416cecd70"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 22 22:37:52 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 22 22:37:52 2016 +0000"
      },
      "message": "Revert \"Add profman tool: responsible to process profiles\"\n\nNeeds a profile_assistant_test fix.\n\nBug: 26719109\nBug: 26563023\n\nThis reverts commit 6caefd983a800a063b219f1d3ed71b1416cecd70.\n\nChange-Id: Ibdeb7385737dd7846ed861e0a95f083abb9aa974\n"
    },
    {
      "commit": "6caefd983a800a063b219f1d3ed71b1416cecd70",
      "tree": "7fef29d5fcdb997950fd1a2524ae853b4dcfac3d",
      "parents": [
        "c017318a7c5a9142b1fff9f57eb4105b1d397bbd"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Feb 01 12:06:18 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Feb 22 13:55:18 2016 +0000"
      },
      "message": "Add profman tool: responsible to process profiles\n\nThis pulls out profile parsing from dex2oat into a separate tool.\nSome additional refactoring:\n- better return codes\n- dex2oat now accepts only one profile file\n\nThis is the first step towards support secondary dex files and\nextracting profiles out of the code_cache directory.\n\nBug: 26719109\nBug: 26563023\n\n(cherry picked from commit d81c289e58f4ced8ec7674fd377c356669f97227)\n\nChange-Id: I34d408faa318e866e1a23d4d04c369131ee5012b\n"
    },
    {
      "commit": "4fda4eb799c95be266f52aaf3461a440ea86b841",
      "tree": "54a7e56b5633caf2b868f6028010b488eb1923ce",
      "parents": [
        "3c258f4d7a6492af733a9351ba430d876a3e5ccf"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Feb 05 13:34:46 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Feb 08 11:33:50 2016 +0000"
      },
      "message": "Move code related to debug info generation to its own directory.\n\ndebug/dwarf/ contains helper classes which hide the details\nof the DWARF file format. It acts as independent DWARF library.\n\ndebug/ contains ART-specific code which generates ELF debug\nsections (which includes non-DWARF sections like .symtab).\n\nChange-Id: Id351f604e4e64be2ca395a78324ea02e30481497\n"
    },
    {
      "commit": "28b1cf779b8c438b01b28a4adfeb22a4a8ebdb12",
      "tree": "f0b99c5f28ebc07523b932b5c2b31f20ab539fbb",
      "parents": [
        "f74388daf23522dd4e9ebe6640030f4fd52c52ea"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jan 15 16:44:57 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jan 19 13:41:26 2016 -0800"
      },
      "message": "Change space base test to use parameters\n\nStill need to convert remaining space tests to use gtest value\nparameters.\n\nBug: 10245322\nChange-Id: Iad3183d46f2fff1ec2aee6923c989433885adf81\n"
    },
    {
      "commit": "f74388daf23522dd4e9ebe6640030f4fd52c52ea",
      "tree": "fe07a7150fbe132bdc7d78f62dbe039daf3eaae3",
      "parents": [
        "ecfd0df971c538456887866307c007c8b0a25470",
        "877fd963548a3175665bfef25b0d24bc0e5a0135"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jan 19 19:34:40 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 19 19:34:40 2016 +0000"
      },
      "message": "Merge \"Improve profile processing\""
    },
    {
      "commit": "877fd963548a3175665bfef25b0d24bc0e5a0135",
      "tree": "db4cae18266f7cd9415a362c21d50fef93a8488f",
      "parents": [
        "37a5abcf5e7644ae1fd1a85e865c8a71e38a9af2"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jan 05 14:29:29 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jan 19 11:17:24 2016 -0800"
      },
      "message": "Improve profile processing\n\n- allow file descriptors in addition to file names for profiles\n- fix some minor issues (wrong comparison signs, unhandled errors)\n- added gtests for profile_compilation_info, profile_assistant\nand compiler_driver\n\nBug: 26080105\nChange-Id: I136039fa1f25858399000049e48b01eafae54eb1\n"
    },
    {
      "commit": "10edbb159afae232817c86fc06a6801349f05bae",
      "tree": "ab487114d0f5e906471fa5459a075b3648b72a8e",
      "parents": [
        "fcad0099eeceb6f2c09a6de28d8e8f05dab69ed5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 06 17:59:49 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jan 08 09:48:43 2016 -0800"
      },
      "message": "ART: Use libopenjdkd\n\nLoad libopenjdkd in debug mode. Add dependencies for libopenjdkd\nin the Makefiles.\n\nBug: 26421792\nChange-Id: Ie64cd56f73901b9c7645e46384d753752bbd5351\n"
    },
    {
      "commit": "c7d4a5889085de271130c1ebeb83f96881195124",
      "tree": "2fa8b2afeb5e1621627cfa7732f7fa1db6fbd969",
      "parents": [
        "c09b13f0cfc86243a594893b38cdd7cf725ae371"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 30 11:52:02 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 05 08:33:47 2016 -0800"
      },
      "message": "ART: Use non-stripped core jars in gtests\n\nTo support emulators and other preopted device configurations, use\na special core-libart and core-oj version that will never be stripped.\n\nBug: 24535627\nChange-Id: Ie632bc382bbc753e9c100039f2ecc4ac1f2ab249\n"
    },
    {
      "commit": "aa0fab302b762c776ecda4a5dd80625ccd64bde3",
      "tree": "961904396907d5ae7bab13f64f9eae35044e3446",
      "parents": [
        "df0de0459ccd661c1c79aec3035dc64d4997ad3d",
        "453f41e99570adeeda6fd79eccc9d8b4ce55b722"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Dec 18 18:01:35 2015 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 18 18:01:35 2015 -0800"
      },
      "message": "Merge \"art: use -O1 to compile tests with clang for arm64\" am: 2f125e3c7a\nam: 453f41e995\n\n* commit \u0027453f41e99570adeeda6fd79eccc9d8b4ce55b722\u0027:\n  art: use -O1 to compile tests with clang for arm64\n"
    },
    {
      "commit": "ba257bc268f4f7ae4bb59d79c20bf0110dcb81fb",
      "tree": "7f2000acd5eff80d65086956860aa999ec754b7f",
      "parents": [
        "2cd15c35df125955e02d9c3c5178d90c6bb9a3bc"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Dec 18 17:48:50 2015 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Dec 18 17:48:50 2015 -0800"
      },
      "message": "art: use -O1 to compile tests with clang for arm64\n\narm64 clang fails to compile art/runtime/arch/stub_test.cc with:\nart/runtime/arch/stub_test.cc:178:9: error: inline assembly requires\nmore registers than available\n        \"sub sp, sp, #64\\n\\t\"\n        ^\n\nPass -O1 to all art tests compiled with clang for arm64.\n\nBug: 26275713\nChange-Id: Ib1a1c309aef73a2d33d37d720e5e11b8fe7a248e\n"
    },
    {
      "commit": "8701fc20130939b9a11f801992607daee7f70871",
      "tree": "e998ab6d3aab4e8dfd36f999ca216b07eecb609e",
      "parents": [
        "7c21c7cb329990fed53e9878ef2479e3009bf286",
        "0b81f1715d6af9f98f982d6511e48973aa5a836a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 08 16:25:47 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 08 16:25:47 2015 +0000"
      },
      "message": "Merge \"Allow initializing runtime with parsed options.\" am: e0d25b156e am: 2433d4e17c\nam: 0b81f1715d\n\n* commit \u00270b81f1715d6af9f98f982d6511e48973aa5a836a\u0027:\n  Allow initializing runtime with parsed options.\n"
    },
    {
      "commit": "88b2b80aed15bb1f931cddd40e44ca525ef10018",
      "tree": "04b2f9d27863cd469dae8050335f197496f24ff2",
      "parents": [
        "cf6bd55863ded11e0533966657871aca444505a5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 04 14:19:04 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Dec 07 12:38:21 2015 +0000"
      },
      "message": "Allow initializing runtime with parsed options.\n\nNeeded by upcoming refactoring of dex2oat to allow\nearly writing of dex files to the oat file.\n\nChange-Id: Ia13c26132846801522f181f51f64035d625e8416\n"
    },
    {
      "commit": "22ad8def99d0ee0f6d072e630c5414f8033446bf",
      "tree": "1107a9dc834d36ba7868246cec03b9631af97fff",
      "parents": [
        "248108e2d897a30ad328a8b05a0ab0e1e2788385",
        "4d7bd605663a01daea6a68bfe09dadc575ba95fc"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 04 18:10:15 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 04 18:10:15 2015 +0000"
      },
      "message": "Merge \"Add ElfWriter::GetStream().\" am: cf6bd55863 am: e3ce7c04c7\nam: 4d7bd60566\n\n* commit \u00274d7bd605663a01daea6a68bfe09dadc575ba95fc\u0027:\n  Add ElfWriter::GetStream().\n"
    },
    {
      "commit": "131980fc9aeb2b4d03480443e0fb494c76ce03a2",
      "tree": "a071f8a706146ed4279c3cbe933d9a46910f480d",
      "parents": [
        "68cebffee2f44f0345bd7be7e4cbad0f10e64082"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 03 18:29:23 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 04 15:58:02 2015 +0000"
      },
      "message": "Add ElfWriter::GetStream().\n\nThis will be used for writing the OatHeader which is\ncurrently oddly written through the .text stream.\n\nAlso move the error delaying output stream out of the\nElfBuilder\u003c\u003e to its own file and move all output stream\nfiles to compiler/linker/.\n\nChange-Id: I00db4e33ed80ac4757ec459946c7b5ae014a3a2e\n"
    },
    {
      "commit": "a7a4759946d9f11c88dc108b2b6a9518ce9c1e18",
      "tree": "f5522eb632ff53b4c285ff76a3966d37a995777a",
      "parents": [
        "099ab4d06857ccbe642d98ba25df1eb02aee99c7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 24 09:17:30 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 24 10:54:16 2015 +0000"
      },
      "message": "Revert \"lambda: Add support for invoke-interface for boxed innate lambdas\"\n\n955-lambda is flaky\n\nBug: 24618608\nBug: 25107649\n\nThis reverts commit 457e874459ae638145cab6d572e34d48480e39d2.\n\n(cherry picked from commit 3a0909248e04b22c3981cbf617bc2502ed5b6380)\n\nChange-Id: I24884344d21d7a4262e53e3f5dba57032687ddb7\n"
    },
    {
      "commit": "3a0909248e04b22c3981cbf617bc2502ed5b6380",
      "tree": "b0b7013ea78b10f23fae75ef145e53a696ff797c",
      "parents": [
        "457e874459ae638145cab6d572e34d48480e39d2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 24 09:17:30 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 24 09:17:30 2015 +0000"
      },
      "message": "Revert \"lambda: Add support for invoke-interface for boxed innate lambdas\"\n\n955-lambda is flaky\n\nBug: 24618608\nBug: 25107649\n\nThis reverts commit 457e874459ae638145cab6d572e34d48480e39d2.\n\nChange-Id: I24884344d21d7a4262e53e3f5dba57032687ddb7\n"
    },
    {
      "commit": "121b25e246b7012cfd895f205855c6102da48305",
      "tree": "8d7e4dae58b59e9a554db03a06c800f3caf5b6b9",
      "parents": [
        "31f7afcd651ca5836892d1c24010933fa40c29e4",
        "13ca74fed068a6a49221b5213ce0b1bebeda3ed6"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Fri Nov 20 11:24:33 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Sat Nov 21 16:28:15 2015 +0000"
      },
      "message": "Merge mnc-dr-enso-dev into goog/master\n\nBug: 25758743\nChange-Id: I19d433934f01856e7b5a7392a58b759c3ac386e7\n"
    },
    {
      "commit": "457e874459ae638145cab6d572e34d48480e39d2",
      "tree": "b192c4698c4889ae90db6abe2652199802213fe6",
      "parents": [
        "3944f7175dcf60316ba58a42698ccf23c65ac57c"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Oct 22 17:37:50 2015 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Nov 20 16:33:06 2015 -0800"
      },
      "message": "lambda: Add support for invoke-interface for boxed innate lambdas\n\nLambda closures created with the \u0027create-lambda\u0027 instruction\n(termed \"innate lambdas\") can be turned into an object with \u0027box-lambda\u0027.\n\nThis CL enables support for those kinds of lambdas to work with\n\u0027invoke-interface\u0027 by generating a proxy class for the lambda.\n\nNote: MIPS32/64 support not included.\n\nBug: 24618608\nBug: 25107649\nChange-Id: Ic8f1bb66ebeaed4097e758a50becf1cff6ccaefb\n"
    },
    {
      "commit": "763a31ed7a2bfad22a9cb07f5301a71c0f97ca49",
      "tree": "c90399f680cdd60be823692f9431ebd816f5d336",
      "parents": [
        "2f99a1c5b70852533a1c7406c1965d753efc810c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 16 16:05:55 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 18 17:03:50 2015 -0800"
      },
      "message": "Add immune spaces abstraction\n\nImmuneSpaces is a set of spaces which are not reclaimable by the GC in\nthe current collection. This set of spaces does not have requirements\nabout space adjacency like the old ImmuneRegion. ImmuneSpaces generates\nthe largest immune region for the GC. Since there is no requirement on\nadjacency, it is possible to have multiple non-adjacent applicaton\nimage files.\n\nFor image spaces, we also look at the oat code which is normally after\nthe application image. In this case, we add the code as part of the\nimmune region. This is required to have both the boot image and the\nzygote space be in the same immune region (for performance reasons).\n\nBug: 22858531\n\nChange-Id: I5103b31c0e39ad63c594f5557fc848a3b288b43e\n"
    },
    {
      "commit": "d7b3c7f0044bc5d120cd6d516866ab399489b4e7",
      "tree": "14e6a0444b3b50094971afcee7cecc483b5b95f2",
      "parents": [
        "472cb6bc8ae71db56558c5ab42c4bbde2cbd6daf"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Nov 18 09:49:10 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Nov 18 12:45:39 2015 +0000"
      },
      "message": "Rename native library.\n\nChange-Id: I3b89059a91ebb70ee5007a03d5dd237f6bff1251\n"
    },
    {
      "commit": "d50687efe56a0516e0df17f65e8fce43681b3c42",
      "tree": "94047e789847c4ae717bdc235db9c5e21c8327e4",
      "parents": [
        "51147f2188e96be9260170452d7c624c4fa81727"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Nov 17 12:37:27 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Nov 17 12:37:27 2015 +0000"
      },
      "message": "Fix a few art-test related issues.\n\n- Add core-oj to the list of sync targets.\n- Fix --no-image by setting the boot classpath properly.\n- Demonstrate T7-9 vision.\n\nChange-Id: I84b6afbbcf09a70c7afe6a35cb9782c86137db84\n"
    },
    {
      "commit": "bc36a0f4d8194f9e3e79dde3b7d01098894535ee",
      "tree": "9a9a1b42881b98103536ea87b798c4af17425e00",
      "parents": [
        "4678b6bb31123076c2d921b20b52e52459d8b650"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Wed Nov 11 12:04:04 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Nov 13 16:08:01 2015 +0000"
      },
      "message": "Build libxxavacore library for gtests\n\nIt is a dependency for exception_test, jni_compiler_test,\nreflection_test and stub_test.\n\nChange-Id: I0a4ed85762091617842901f9bd590d24fe39ec7b\n"
    },
    {
      "commit": "07ddb6f713f8c919e6da7c4b473cfb3bacb7cf10",
      "tree": "9b79188b4cb4a10a62a22f9e384a1ad01c13f421",
      "parents": [
        "3f96f42b3788f9b9b243822212ec686e599279ef"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 05 11:16:34 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 05 15:23:24 2015 -0800"
      },
      "message": "Fix elf writer to properly handle empty text sections\n\nPreviously, empty text sections caused an underflow in the oat file\nsize.\n\nAdded regression test.\n\nBug: 22858531\nChange-Id: I9391a3666ab04e32472a9776d5217fe1743417a9\n"
    },
    {
      "commit": "d9786b0e5be23ea0258405165098b4216579209c",
      "tree": "88641c107d29d0848ce8219652b8d0b1cdd3755c",
      "parents": [
        "57bee8dc2206404164606d4f5cabde272505f5fa"
      ],
      "author": {
        "name": "Artem Udovichenko",
        "email": "artem.u@samsung.com",
        "time": "Wed Oct 14 16:36:55 2015 +0300"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 29 09:38:06 2015 -0700"
      },
      "message": "Implementation of fast lookup table to search class_def by descriptor\n\nLookup table is a hash table which built at compile time and stored\ninto oat file. At runtime the table is restored and used in the\nmethod DexFile::FindClassDef(const char*) to perform fast search of\nthe class_def_idx by class descriptor. Advantages of the lookup table\nover the HashSet (runtime/base/hash_set.h) are:\n1. Lookup table is built at compile time and uses read-only memory at\nruntime\n2. Lookup table uses less memory then DexFile::Index (less by 80% for\n/system/framework/framework.jar on Nexus5)\n3. Lookup table does less string comparisons compared with HashSet\n(less by 70% for zygote process on Nexus5)\nThe disadvantage of the lookup table is it increased boot.oat size by\n0.2% on Nexus5 and application .oat file by 0.3% in average on Nexus5.\n\nmathieuc changes:\nCreate lookup table in dex2oat to speed up compilation. Clean up code\nto follow style guide and use less static functions. Added\nperformance measurements.\n\nCompile ~100 APKs 5 times with filter interpret-only:\nBefore:\nreal  1m8.989s\nuser  0m59.318s\nsys 0m7.773s\n\nAfter:\nreal  1m1.493s\nuser  0m52.055s\nsys 0m7.581s\n\nApp launch (AOSP N5 maps, average of 45 runs):\nBefore: 966.84ms\nAfter: 923.733ms\nLaunch speedup is 4.7%\n\nMemory usage compared to HashSet index on 50 various APK:\n32 bit: HashSet ~625694b vs TypeLookupTable ~404268b\n64 bit: HashSet ~1251390b vs TypeLookupTable ~404268b\n\nBug: 10921004\nBug: 20269715\n\nChange-Id: I7246c1d9ad9fe81fe5c5907a4bf70396d8f9242a\n"
    },
    {
      "commit": "35831e8bfa1c0944d4c978d99c4c5b9577945170",
      "tree": "a347ecaf4265a1713c86d528392e162d5edfaebc",
      "parents": [
        "171b12e8060f63cf900ffc43d6db35125f6b8c83"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 11 11:59:18 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 27 15:13:37 2015 +0000"
      },
      "message": "Reduce memory used by CompiledMethods.\n\nUse LengthPrefixedArray\u003c\u003es instead of SwapVector\u003c\u003es to store\nCompiledMethod data and get rid of the unnecessary members\nof CompiledMethod to reduce dex2oat memory usage. Refactor\nthe deduplication from CompilerDriver to a new class.\n\nUse HashSet\u003c\u003e instead of std::set\u003c\u003e for the DedupeSet\u003c\u003e to\nfurther decrease the memory usage and improve performance.\n\nThis reduces the dex2oat memory usage when compiling boot\nimage on Nexus 5 (with Optimizing, -j1) by ~6.75MiB (5%).\nThis also reduces the compile time by ~2.2% (~1.6% dex2oat\ntime; with Optimizing, without -j).\n\nChange-Id: I974f1f5e58350de2bf487a2bca3907fa05fb80ea\n"
    },
    {
      "commit": "66e33f1906be899f140d5fe2a657db4e3993106e",
      "tree": "eaef317e550fb4aa0612ba5d7a56ea42bc32f227",
      "parents": [
        "31e913fbea3d669b2067248f2163332940d8ec45",
        "0c3c2668ef44fdbd18d97f9134a85d1a7d561aa4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 21 10:00:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 21 10:00:34 2015 +0000"
      },
      "message": "Merge \"Use DlMallocSpace for the JIT code cache.\""
    },
    {
      "commit": "0c3c2668ef44fdbd18d97f9134a85d1a7d561aa4",
      "tree": "92e8e49ed1b4d5442f20721858c476ed5769d0ea",
      "parents": [
        "7edef7441d28db1403fbc5641b56a26ecf355879"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 15 13:53:04 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 21 10:59:27 2015 +0100"
      },
      "message": "Use DlMallocSpace for the JIT code cache.\n\n- Also tidy up some code in the JIT compiler.\n- And mprotect code space to be writable only when allocating.\n\nChange-Id: I46ea5c029aec489f2af63452de31db3736aebc20\n"
    },
    {
      "commit": "d57d454a11ac6f49eaa397ec14d6231e3a2727b7",
      "tree": "ab8e705584702d73a6f943a02838a3225b1a5118",
      "parents": [
        "2248d278460f18db9bcdc5a1bdb2dcdfdde2d301"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 14 10:55:30 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 15 08:38:29 2015 -0700"
      },
      "message": "Allocate dex cache arrays in their class loader\u0027s linear alloc\n\nFixes memory leak for class unloading where the dex cache arrays\nused to be in the runtime linear alloc which never got freed.\n\nTODO: Some of the callers like the compiler just use the runtime\nlinear alloc. We could clean this up if we want to have class\nunloading during compilation for some reason.\n\nAdded regression test.\n\nBug: 22720414\n\nChange-Id: Ia50333a06a339efbdaedb5ad94b7a1ae841124ec\n"
    },
    {
      "commit": "8c434dcc78d497e18590461700894d1c3e96013d",
      "tree": "6fc88cc839c0415aa90a1bbff25e93a09705d19b",
      "parents": [
        "35ef974da353b13938fb0f3272c03070ad728431"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Wed Aug 26 14:39:44 2015 +0200"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Tue Oct 06 16:34:25 2015 +0200"
      },
      "message": "MIPS: Assemblers changes needed for optimizing compiler\n\nAlso add assembler tests for MIPS32.\n\nChange-Id: I3ab1fba7f3b06eb3b5058861946d675494a30775\n"
    },
    {
      "commit": "dbce0d738e9d7956d2bd73e932a0fdd28f2229b4",
      "tree": "336a92e522c4f20386f65f2a34534f982cf28089",
      "parents": [
        "002117f95896ffa5db74bee808ae61e876b6e8b0"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Thu Sep 17 13:34:00 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 05 18:12:30 2015 -0700"
      },
      "message": "MIPS64r6 Assembler Tests\n\nAssembler tests for:\n\n- SQRT.fmt    - ABS.fmt     - ROUND.L.fmt - ROUND.W.fmt\n- CEIL.L.fmt  - CEIL.W.fmt  - FLOOR.L.fmt - FLOOR.W.fmt\n- SEL.fmt     - RINT.fmt    - CLASS.fmt   - MIN.fmt\n- MAX.fmt     - cvt.d.l     - BITSWAP     - DBITSWAP\n- DSBH        - DSHD        - WSBH        - ROTR\n- SELEQZ      - SELNEZ      - CLZ         - CLO\n- DCLZ        - DCLO        - SC          - SCD\n- LL          - LLD\n\nThese are the assembler instructions which were added to support\nintrinsic functions on MIPS64. Tests for additional assembler\ninstructions will follow.\n\nSupport added to the testing infrastructure for:\n\n- Assembler instructions which use three registers; previously\n  instructions were limited to one, or two, registers.\n- Immediate values which have their sizes specified by the number of\n  bits required to store them rather than the number of bytes, in both\n  signed and unsigned versions.\n\nChange-Id: I38c07dcbf2539825b25bed13aac05a26fa594b0b\n"
    },
    {
      "commit": "51c6c18f5f20ddbd6929ccdfd706451522712c27",
      "tree": "045dacde44078093efdaabd7f33287ff069ef2fb",
      "parents": [
        "cc245eab2148547f9df37ddc5f767656dc033b81"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 02 14:41:18 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 02 14:44:58 2015 +0100"
      },
      "message": "KNOWN_BROKEN/FAILING does not work for gtests.\n\nInstead disable the test in the gtest file.\n\nChange-Id: Iede5de7ca572c9454437981a5fa63cda444d0497\n"
    },
    {
      "commit": "b2ae66a0ac17904dd00dcae27ced18573c293f6d",
      "tree": "46b374ac17a913ec6ed3c49c684fd37f4dece017",
      "parents": [
        "1604cb973e96ede4af275e676f0f35af46641f03"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 02 10:39:55 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 02 10:39:55 2015 +0100"
      },
      "message": "Test fails on mips.\n\nbug:24596015\nChange-Id: Iad6ab18b287b398af82b6a0574cb74204619755d\n"
    },
    {
      "commit": "22af3bee34d0ab1a4bd186c71ccab00366882259",
      "tree": "793f358d498142a2e60d7d5131c347b0fd668cbd",
      "parents": [
        "fe9a1b05ea5a21b6d9a2e9e5081f5e80ff8a1ba2"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Sep 10 12:50:58 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Sep 15 17:03:13 2015 -0700"
      },
      "message": "Use induction variable range analysis in BCE (statically).\n\nRationale: Finally! After lots of very large CLs, now a small CL\n           that uses the new induction variable analysis in BCE\n           (statically, using this dynamically with de-opt is TBD).\n           Despite its relative small size, be aware though,\n           since the CL introduces a new phase to the compiler.\n\nChange-Id: If5555a173fd5d55d147c63138ef51fc296fa1414\n"
    },
    {
      "commit": "fc1ccd740b7c8e96dfac675cfc580122cd1b40a6",
      "tree": "95eb97f3cfebe13fa4c5928089ff9b7ee50c4793",
      "parents": [
        "ea33c3041e8db74d79a188703c9ec9c3879f9c1b"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jul 30 15:11:09 2015 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Sep 03 17:28:37 2015 -0700"
      },
      "message": "lambda: Infrastructure to support capture/liberate-variable dex opcodes\n\n* ArtLambdaMethod - wrap an ArtMethod with extra runtime lambda info\n* Closure - data representation for a runtime lambda closure (read-only)\n* ClosureBuilder - writer for creating a Closure at runtime\n* ShortyFieldType - char/enum wrapper for shorty_field_type in dex\n\nTests:\n* Closure, ClosureBuilder, ShortyFieldType have full unit test coverage.\n* ArtLambdaMethod does not, but it is tested indirectly and is otherwise\n  trivial getters.\n\nFuture CLs will include interpreter integration with minimal changes to\nthis Closure infrastructure.\n\nChange-Id: I38a7aea8df1da7b154fd6623258c6c228c8e51df\n"
    },
    {
      "commit": "b00ae4a328de9865c0b56ec45035cf2284705583",
      "tree": "fa7facd59717a82a2f4c7c258e1c08f301261a35",
      "parents": [
        "12b7025d0393a2ce15410df6019844e59b77314d",
        "b1b45bec6a3eed1fb95dabd95b1957a51341dc2a"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Aug 28 19:52:04 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 28 19:52:04 2015 +0000"
      },
      "message": "Merge \"Make Art\u0027s dexlist the real one!\""
    },
    {
      "commit": "b1b45bec6a3eed1fb95dabd95b1957a51341dc2a",
      "tree": "fd1f0ffdc319510e659fe0fbaa800b13c60dae57",
      "parents": [
        "2a7ea34cda9bf776339dfc7f4a22ab01f9525f2d"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Aug 28 11:09:29 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Aug 28 11:09:29 2015 -0700"
      },
      "message": "Make Art\u0027s dexlist the real one!\n\nRenaming dexlist2 into dexlist now that Dalvik\u0027s dexlist\nis gone. Unless dexdump, this migration is straightforward\nsince the windows SDK does not ship dexlist.\n\nBug: 22322814\nChange-Id: I721a72abdd9a17329b53020274495323467e388e\n"
    },
    {
      "commit": "30efb4e00c2a9aa318d44486b5eacaa7178d20ef",
      "tree": "90c4e84b5473def182fa443191ba8de80fa62d63",
      "parents": [
        "574d75597013cb12a961c0d4365d1618d8ef6977"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Jul 30 12:14:31 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Aug 26 17:20:28 2015 +0000"
      },
      "message": "Induction variable analysis (with unit tests).\n\nRationale:\nInduction variable analysis forms the basis of a wide\nvariety of compiler optimizations. This implementation\nfinds induction variables using the elegant SSA-based\nalgorithm defined by [Gerlek et al.].\n\nChange-Id: I79b8dce33ffb8b283c179699a8dff5bd196f75b2\n"
    },
    {
      "commit": "50fa993d67f8a20322c27c1a77e7efcf826531fc",
      "tree": "76d6b73a9d8a8ef2709aef6c01778af6a0d4ada1",
      "parents": [
        "4500fcbe682d666a24c2e8f6e0cb90cfb35d3fa3"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Aug 10 15:30:07 2015 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Aug 18 11:21:05 2015 -0700"
      },
      "message": "Svelter libart-compiler\n\nAdded new environment variable ART_{TARGET,HOST}_CODEGEN_ARCHS which\nmay be set to \u0027all\u0027, \u0027svelte\u0027 or a space separated list of architectures.\n\nWhen compiled with ART_{TARGET,HOST}_CODEGEN_ARCHS\u003d\u0027all\u0027 (the default\nvalue) dex2oat will be able to generate output for all supported\narchitectures.\n\nWhen compiled with ART_TARGET_CODEGEN_ARCHS\u003d\u0027svelte\u0027\nonly the architectures of the TARGET will be included. When\nART_HOST_CODEGEN_ARCHS\u003d\u0027svelte\u0027 all architectures the target includes\nand the host architectures will be included on the host dex2oat.\n\nIf a list of architectures is given only those will be included.\n\nChange-Id: I87f4ad0131ab1b37544d8799e947ce4733b6daec\n"
    },
    {
      "commit": "b1d8c314b55bb2df2b2bb72a3daaf5db65b7ebc7",
      "tree": "87e8252ee6ca23138f867989a098b7c4338c21a5",
      "parents": [
        "1d558db0bcd841140f6fe1c6ba2e9a6de131649d"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Aug 04 11:18:43 2015 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Aug 04 11:19:56 2015 -0700"
      },
      "message": "Revert \"cleanup: Replace pointers with out-parameters and fix-up formatting\"\n\nThis reverts commit a315f5c546b796f55f4872bb6efc15eb858d9639.\n\n--\n\nRevert \"runtime: cleanup class_linker out-parameters and formatting\"\n\nThis reverts commit bc1d78daa463572c5a770cdca858a3b51d8e1b7b.\n\n--\n\nRevert \"base: replace raw pointers for out-parameters with safer out\u003cT\u003e\"\n\nThis reverts commit fb326cffc679cab8eb873b9e44795706f023cb3c.\n"
    },
    {
      "commit": "fb326cffc679cab8eb873b9e44795706f023cb3c",
      "tree": "7ad4b524299195c42d38a5e7ef01b7fdb4c30e86",
      "parents": [
        "8433bb8a3120d064de97a692d98341d9bc29a985"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jul 23 16:53:53 2015 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jul 30 14:36:01 2015 -0700"
      },
      "message": "base: replace raw pointers for out-parameters with safer out\u003cT\u003e\n\nAdd a zero-cost type-safe abstraction for representing \"out\" parameters\n(i.e. when the calling function has to return multiple results out\nby-reference into the argument slots instead of using the return slot).\n\nChange-Id: I33a941e4863b6bed71d2bfa43d7f48e9b111f83f\n"
    },
    {
      "commit": "3f307f3e88140b792c20b9c3366afe059c77909f",
      "tree": "16a33a7b7883bb3cd3ec38e218315b3f69dfa66e",
      "parents": [
        "236d0a3c35a369da99bb1f0c617a29f23b2f4df8"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Jul 21 18:30:18 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Jul 21 18:30:18 2015 -0700"
      },
      "message": "Added unit tests to LICM.\n\nRationale:\nLICM did not have its own unit test yet, and it was a good\ntime to ensure that the improved side effect analysis does\nwhat it is supposed to. Also, a nice way for me to get\nfamiliar with the testing infrastructure.\n\nChange-Id: I16471e5fd99615c04a59b09c4a69126d7a94684f\n"
    },
    {
      "commit": "854a02b1b488327f80c544ca1119b386b8715c26",
      "tree": "7f48f01a7624d07b0c24bf589308673dcb05683c",
      "parents": [
        "8ae3588989ea99d8c60f885e3d830e6e0c87ff5f"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Jul 14 16:07:00 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Jul 20 10:25:26 2015 -0700"
      },
      "message": "Improved side effect analysis (field/array write/read).\n\nRationale:\nTypes (int, float etc.) and access type (field vs. array)\ncan be used to disambiguate write/read side-effects analysis.\nThis directly improves e.g. dead code elimination and licm.\n\nChange-Id: I371f6909a3f42bda13190a03f04c4a867bde1d06\n"
    },
    {
      "commit": "22c26f5b454b56a20215cb8bbc5e8afcaccafdb0",
      "tree": "25e224c087f006e75983a6f7fdcf55ee53797861",
      "parents": [
        "d10ee1ce1ccd92c003ec49c15edf339e74c13894"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Jul 08 21:20:13 2015 +0000"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Jul 08 21:20:13 2015 +0000"
      },
      "message": "Revert \"Make Art dexdump/list the real utilities.\"\n\nThis reverts commit d10ee1ce1ccd92c003ec49c15edf339e74c13894.\n\n\nREASON:\nwin_sdk is not happy with my migration :-(\n\nChange-Id: I2ed196da3f5883112883525f883d25b36e48352a\n"
    },
    {
      "commit": "d10ee1ce1ccd92c003ec49c15edf339e74c13894",
      "tree": "65f85f5bdf5dbc4141fc556d3389d3a7ca9d40c7",
      "parents": [
        "d9acfe21f6eb09a22db69958dfb05c1f48f779bd"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Jul 08 11:30:04 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Jul 08 11:30:04 2015 -0700"
      },
      "message": "Make Art dexdump/list the real utilities.\n\nNote: depends on pending CL that removes\n      old dexdump/list and libdex.\n\nBug: 22322814\nChange-Id: I99259553f0f4655a633989feb8d67aa11de8b29d\n"
    },
    {
      "commit": "3e40f4a7289bf0104e061dc36f17a776d4c122d4",
      "tree": "e812261b29900db86b35a777e3e52b792a447b78",
      "parents": [
        "a100332ee0f4b842c28ec2448f97e40a882cd837"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Jul 07 17:09:41 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Jul 07 17:36:41 2015 -0700"
      },
      "message": "Migrated dexlist from Dalvik (libdex) into Art (libart)\n\nRationale:\nThe new dexlist (temporarily called dexlist2 until we are\nsatisfied with the migration) is a re-implementation of the\noriginal dexlist utility that was based on Dalvik functions\nin libdex into a new dexlist that is now based on Art functions\nin libart instead.\n\nBug: 22322814\nChange-Id: I0f034d66c1a1f3c5450423f57fcdc23e2f5a1e29\n"
    },
    {
      "commit": "cfbe53c1f58c8292193d96671f6f59ed21c4d325",
      "tree": "4e87561c1a4c0a11dc591d1057be62ac8ee9693f",
      "parents": [
        "e7ea17b726ab415a0dc98c0a3901497bbcf3a4c3"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Jul 06 14:27:27 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Jul 06 15:06:19 2015 -0700"
      },
      "message": "List dependence of dexdump gtest on dexdump binary.\n\nChange-Id: I1293009a370eff808b5e31cc89110eb9fe3ce32f\n"
    },
    {
      "commit": "69ae54abd4eaad54dc73b75ea7c8051aa515581d",
      "tree": "aefa425ee72a15dff5f542c14808a717b266709a",
      "parents": [
        "01b2129de3e182b79aa820e71fc7fa1ef42f2d35"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Jul 01 14:52:26 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Jul 06 11:33:07 2015 -0700"
      },
      "message": "Migrated dexdump from Dalvik (libdex) into Art (libart)\n\nRationale:\nThe new dexdump (temporarily called dexdump2 until we are\nsatisfied with the migration) is a re-implementation of the\noriginal dexdump utility that was based on Dalvik functions\nin libdex into a new dexdump that is now based on Art functions\nin libart instead.\n\nThe output is identical to the original for *correct* DEX files.\nOutput in error messages and the usage() may differ, however,\nsince the new utility relies on Art parsing and verification.\n\nNOTE 1:\nODEX files are no longer supported.\n\nNOTE 2:\nWhere possible, I kept the file as close to the original\nas possible, including some archaic C idioms on memory\nallocation; those can be improved over time.\n\nNOTE 3:\nI used the standard Android.mk format for the new dexdump,\nbut this probably needs to be Art-i-fied.\n\nNOTE 4:\nSome minor issues that need resolution are marked with a TODO.\n\nBug: 17442393\nChange-Id: I753743f64afcf4b84b8d33efbd1cfcb7908f0c3e\n"
    },
    {
      "commit": "b1f3753d890e17b7b0d4e2779e8dfd8aa5bf0e2d",
      "tree": "160176ad18b64418b225b7031aa2bfbd1fd8320a",
      "parents": [
        "806af26f1a8f107cb4f4430ceec8dc9f360f3795"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Jun 29 11:03:55 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Jun 29 14:26:02 2015 -0700"
      },
      "message": "Added index type of dex byte instructions.\n\nRationale:\nThe information was already in the instruction_list but not\nexposed as enum through a getter. This CL adds that ability.\nThis information is needed by the upcoming Art-based dexdump.\n\nNOTE:\nAdded \"Index\" to the enum constants naming convention.\n\nNOTE:\nFixed few incorrect quickened entries in instruction_list.\n\nBug: 17442393\n\nChange-Id: Ica18ae43135f78f29e9832f5a101d497e54724cf\n"
    },
    {
      "commit": "12bd7210bb2f5738e33dfa3f2f1cba2e0aab4955",
      "tree": "ceff4c27b7d3173da61dda12b1b05e062e82e3d9",
      "parents": [
        "2519fc40d4ae89322d28d1ff610fe81bb90fb564"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jun 04 17:50:27 2015 +0100"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Jun 04 11:26:19 2015 -0700"
      },
      "message": "If heap poisoning is on, pass the relevant flag to LOCAL_ASFLAGS.\n\nThis change ensures assembly files honoring heap poisoning\n(notably used by stub_test) are compiled with\n-DART_HEAP_POISONING\u003d1 when this feature is turned on.\n\nBug: 21621105\nChange-Id: I13fe456cd2733a09bdfd3a9808cfd70513b14698\n"
    },
    {
      "commit": "3db360087c027899dcdc4af86bcca8a9ce57d595",
      "tree": "c050fed6d74be070666d85d5cb1685b2909742e4",
      "parents": [
        "78011df89ac172d25f337132386c2a284b34dfdd"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 28 20:17:09 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 28 20:17:09 2015 -0700"
      },
      "message": "ART: Fix valgrind Makefile\n\nAdd a missing dependency that lead to runtime errors.\n\nChange-Id: Idbaed6bcc56a644713f10847f8600dc0f962202f\n"
    },
    {
      "commit": "0f7c06d9908c4ccac21740babbb0d40335d1ee8d",
      "tree": "9ed183e7ceee2674ad14e099690e3e9165b49506",
      "parents": [
        "01908ebcea21a8cbdfe7ba0cb4ddb2661292c69d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 28 10:21:03 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 28 10:21:03 2015 +0100"
      },
      "message": "Fix rule: the exe must be first dependency.\n\nChange-Id: Ic59a0c38ae8d7d1efc439014e694a95063a7589d\n"
    },
    {
      "commit": "01908ebcea21a8cbdfe7ba0cb4ddb2661292c69d",
      "tree": "09441547027dfaf5fcd50c581784af0f22be2d91",
      "parents": [
        "b71c5878e6607fdc6a6f8624f4e9507d25116a53",
        "58035ae27c7668f3235bd90f0841b7cf3e7fe102"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 28 08:37:21 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 28 08:37:22 2015 +0000"
      },
      "message": "Merge \"Refactor makefiles to allow just building tests.\""
    },
    {
      "commit": "58035ae27c7668f3235bd90f0841b7cf3e7fe102",
      "tree": "06115ca9f0075f3bb5fd375ec02a42465052bde9",
      "parents": [
        "092a5656937a319449346e8c356f3f4c2870d81c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 27 19:10:27 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 28 09:22:32 2015 +0100"
      },
      "message": "Refactor makefiles to allow just building tests.\n\nAlso add a way to avoid syncing to the device, in case\na previous sync did it.\n\nChange-Id: I38673cad712f8ddff641589cea50ca0d0dc04850\n"
    },
    {
      "commit": "2b3f42e084d1a6c991a19f3b591772ccbdcc05df",
      "tree": "010d5021fd53bc7f121d6e38ebfaa6764699754c",
      "parents": [
        "c93098060708b7a24c937b420a071cf6bdcf33f7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 26 19:48:16 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 26 19:54:12 2015 -0700"
      },
      "message": "Add missing oatdump test dependency\n\n(cherry picked from commit ea216b3abf96d4121a96e8fdab5ce97d7f4d1c2b)\n\nBug: 18000316\nChange-Id: Ic828e8be8e5d3ef7e112facd0db57013740d449a\n"
    },
    {
      "commit": "ea216b3abf96d4121a96e8fdab5ce97d7f4d1c2b",
      "tree": "f81b43fd655b2c715050a27b7212ca2db9a4e8e5",
      "parents": [
        "7c1a58bb2316fc5bc47b35ed9772454d2d061352"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 26 19:48:16 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 26 19:50:11 2015 -0700"
      },
      "message": "Add missing oatdump test dependency\n\nBug: 18000316\nChange-Id: Ic828e8be8e5d3ef7e112facd0db57013740d449a\n"
    },
    {
      "commit": "c93098060708b7a24c937b420a071cf6bdcf33f7",
      "tree": "895d4fb6431dd5292e5fdc38c903e7c68f3cc57f",
      "parents": [
        "61833c56398998d1855f744818212b12c5f8689a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 26 14:44:35 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 26 18:29:43 2015 -0700"
      },
      "message": "Add oatdump test\n\n(cherry picked from commit 19510f02b011e545665f6219e6144c8e47aed5f0)\n\nBug: 18000316\n\nChange-Id: Ic22d63dc64a9b7a492b5e6bfbd4c75f30c35dfd5\n"
    },
    {
      "commit": "19510f02b011e545665f6219e6144c8e47aed5f0",
      "tree": "0fc608e0fb269517efbbcb3edaec2233267088ff",
      "parents": [
        "dc31313c4577bb4c00d90774159c84e738ed348d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 26 14:44:35 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 26 18:26:45 2015 -0700"
      },
      "message": "Add oatdump test\n\nBug: 18000316\n\nChange-Id: Ic22d63dc64a9b7a492b5e6bfbd4c75f30c35dfd5\n"
    },
    {
      "commit": "41b175aba41c9365a1c53b8a1afbd17129c87c14",
      "tree": "5c82606d39543fb932ddc0674694fc0758b1a866",
      "parents": [
        "54d65738eecc1fa79ed528ff2f6b9b4f7a4743be"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 19 18:08:00 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 26 19:33:33 2015 +0100"
      },
      "message": "ART: Clean up arm64 kNumberOfXRegisters usage.\n\nAvoid undefined behavior for arm64 stemming from 1u \u003c\u003c 32 in\nloops with upper bound kNumberOfXRegisters.\n\nCreate iterators for enumerating bits in an integer either\nfrom high to low or from low to high and use them for\n\u003carch\u003eContext::FillCalleeSaves() on all architectures.\n\nRefactor runtime/utils.{h,cc} by moving all bit-fiddling\nfunctions to runtime/base/bit_utils.{h,cc} (together with\nthe new bit iterators) and all time-related functions to\nruntime/base/time_utils.{h,cc}. Improve test coverage and\nfix some corner cases for the bit-fiddling functions.\n\nBug: 13925192\n\n(cherry picked from commit 80afd02024d20e60b197d3adfbb43cc303cf29e0)\n\nChange-Id: I905257a21de90b5860ebe1e39563758f721eab82\n"
    },
    {
      "commit": "80afd02024d20e60b197d3adfbb43cc303cf29e0",
      "tree": "ef054c7b4f2a739f7cf063e0bc4c501c2c7e41b5",
      "parents": [
        "559b178e34c5d92e7932f92e5d8a981ac334606f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 19 18:08:00 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 26 15:59:02 2015 +0100"
      },
      "message": "ART: Clean up arm64 kNumberOfXRegisters usage.\n\nAvoid undefined behavior for arm64 stemming from 1u \u003c\u003c 32 in\nloops with upper bound kNumberOfXRegisters.\n\nCreate iterators for enumerating bits in an integer either\nfrom high to low or from low to high and use them for\n\u003carch\u003eContext::FillCalleeSaves() on all architectures.\n\nRefactor runtime/utils.{h,cc} by moving all bit-fiddling\nfunctions to runtime/base/bit_utils.{h,cc} (together with\nthe new bit iterators) and all time-related functions to\nruntime/base/time_utils.{h,cc}. Improve test coverage and\nfix some corner cases for the bit-fiddling functions.\n\nBug: 13925192\nChange-Id: I704884dab15b41ecf7a1c47d397ab1c3fc7ee0f7\n"
    },
    {
      "commit": "99ca40cf9d390479a7243b8b3321cad7d9faa2a4",
      "tree": "06e62e6dfb0718f23faaa345212ccacd2e460d5d",
      "parents": [
        "d58a6deedabf98e7996634bca6d94c6eb2ac3861"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 15 19:24:12 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 21 12:13:37 2015 -0700"
      },
      "message": "ART: Refactor UnstartedRuntime for testing\n\nExpose the UnstartedRuntime implementation functions as private static\nmethods of a class. Add a gtest that can invoke these functions. Add\nsample tests for String and Memory.\n\nBug: 21173514\n\n(cherry picked from commit 799681b176ad25437ce2849639f54f610dcbf684)\n\nChange-Id: Ib5bde6347fafaf7607c642542ea7d5938ff4b1df\n"
    },
    {
      "commit": "48b7918afa3d1076cf7133f074cd8776ce70fdcb",
      "tree": "52f56790de7fc702085c41ea1d188f9f9398546c",
      "parents": [
        "70c7f22fa013025d07fe9c1a82e7f17c1dbc1d1b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 20 16:09:36 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 20 16:40:51 2015 -0700"
      },
      "message": "ART: Fix gtest dependency\n\nGtests should depend on the debug version of libart-disassembler.\n\nBug: 21273194\n\n(cherry picked from commit 0ae3bf872d3898ed6826216f3f8a04c819e1426b)\n\nChange-Id: Iaf216a1c0cff650296ebf83fe4e8352f5614cb28\n"
    },
    {
      "commit": "0ae3bf872d3898ed6826216f3f8a04c819e1426b",
      "tree": "74084257107b1b091c2915e5f25e351f548b2281",
      "parents": [
        "513b6fdcbee0f83f2d9157d41b8498dba96283c5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 20 16:09:36 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 20 16:09:36 2015 -0700"
      },
      "message": "ART: Fix gtest dependency\n\nGtests should depend on the debug version of libart-disassembler.\n\nBug: 21273194\nChange-Id: Iaf216a1c0cff650296ebf83fe4e8352f5614cb28\n"
    },
    {
      "commit": "799681b176ad25437ce2849639f54f610dcbf684",
      "tree": "4bbb5ea4c6a2dd7e1c20a23f3adbb81a3b86fe0d",
      "parents": [
        "9ba4e65148feec589fece0c991695ba1049785bf"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 15 19:24:12 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 20 19:41:36 2015 +0000"
      },
      "message": "ART: Refactor UnstartedRuntime for testing\n\nExpose the UnstartedRuntime implementation functions as private static\nmethods of a class. Add a gtest that can invoke these functions. Add\nsample tests for String and Memory.\n\nBug: 21173514\nChange-Id: Ib5bde6347fafaf7607c642542ea7d5938ff4b1df\n"
    },
    {
      "commit": "67ff7d1fd7bcaf4b6b73ecdab6011c8636562b58",
      "tree": "e94fdefc21f1b6673fcdee95e9f3f61b680df8cf",
      "parents": [
        "2f9d1379fdebcdeeac52eaeff25ad5697c6b6ffb"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu May 14 13:21:13 2015 -0700"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon May 18 08:30:33 2015 -0700"
      },
      "message": "Test and fix bug checking status of secondary multidex files.\n\nWe were accidentally returning \u0027false\u0027 instead of \u0027true\u0027 to indicate a native\nmultidex file with an up-to-date primary dex file checksum but out-of-date\nsecondary dex file checksum is out of date.\n\nBug: 21022815\n(cherry picked from commit a5a1c13a74225a1db3c54dc108fcd161b867bb00)\n\nChange-Id: I0cc56d2d49858a4af91ca8b05aa8bd3c17bb44be\n"
    },
    {
      "commit": "a5a1c13a74225a1db3c54dc108fcd161b867bb00",
      "tree": "b43e46d05a7f2af48e5401eb52a7d80e821826eb",
      "parents": [
        "3b0ee6f06b6643e2a601283e779ba5d574fe1fda"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu May 14 13:21:13 2015 -0700"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon May 18 08:03:15 2015 -0700"
      },
      "message": "Test and fix bug checking status of secondary multidex files.\n\nWe were accidentally returning \u0027false\u0027 instead of \u0027true\u0027 to indicate a native\nmultidex file with an up-to-date primary dex file checksum but out-of-date\nsecondary dex file checksum is out of date.\n\nBug: 21022815\nChange-Id: I43d360ca9251d0df38ad7f8289f6ef339c0a3280\n"
    },
    {
      "commit": "5eae455507399286c845ba54796c47087a72b3e2",
      "tree": "ad1e60f846ee4bb0054d9267938a8f29b9bc95a9",
      "parents": [
        "c3cde2c00bcbe97c9b0c119919500fcbbe824baa"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Apr 01 16:34:17 2015 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu May 07 23:11:36 2015 +0200"
      },
      "message": "Support multiple instrumentation clients\n\nChanges Instrumentation::ConfigureStubs to support multiple clients\nthat need different levels of instrumenation. A client is identified\nby a string key used to save the desired instrumentation level.\n\nAlso adds regression gtest instrumentation_test and some cleanup.\n\nBug: 19829329\n\n(cherry picked from commit 0462c4c87c39db6cfcd338f323844738109ac3c9)\n\nChange-Id: I1fc24a86fcb7cb46d4be806895376c25cc0a0b3c\n"
    },
    {
      "commit": "0462c4c87c39db6cfcd338f323844738109ac3c9",
      "tree": "30776cd2fadab4100851640976c2b572d228d688",
      "parents": [
        "a6591ef95afa6bc9d89c0c6044635ec7a13d4c55"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Apr 01 16:34:17 2015 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu May 07 18:03:58 2015 +0200"
      },
      "message": "Support multiple instrumentation clients\n\nChanges Instrumentation::ConfigureStubs to support multiple clients\nthat need different levels of instrumenation. A client is identified\nby a string key used to save the desired instrumentation level.\n\nAlso adds regression gtest instrumentation_test and some cleanup.\n\nBug: 19829329\nChange-Id: I1fc24a86fcb7cb46d4be806895376c25cc0a0b3c\n"
    },
    {
      "commit": "c4013ea00d9e63533f3badeed0131bb2eb859c90",
      "tree": "e4f9044f86fbd56c3c848ce56f28bc2f70f985dd",
      "parents": [
        "3d58dea2a9d82aed045908fd9ea68c41f3d1f63d"
      ],
      "author": {
        "name": "Chao-ying Fu",
        "email": "chao-ying.fu@intel.com",
        "time": "Wed Apr 22 10:51:21 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Apr 25 16:45:56 2015 -0700"
      },
      "message": "ART: Fix addpd opcode, add Quick x86 assembler test\n\nThis patch fixes the addpd opcode that may be used by vectorizations,\nand adds an assembler test for the Quick x86 assembler, currently\nlightly testing addpd, subpd and mulpd.\n\nChange-Id: I29455a86212829c75fd75737679280f167da7b5b\nSigned-off-by: Chao-ying Fu \u003cchao-ying.fu@intel.com\u003e\n"
    },
    {
      "commit": "c91df2d6339dd4adf2da582372451df19ce2ff44",
      "tree": "1aed25cec12d9bf8dc2d07945ed45b8b230010df",
      "parents": [
        "9d4d13f38398e880e610323242fe73d609bac40d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 23 09:29:21 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 23 11:11:33 2015 +0100"
      },
      "message": "Revert \"Revert \"Quick: Rewrite type inference pass.\"\"\n\nFix the type of the ArtMethod* SSA register.\n\nBug: 19419671\nThis reverts commit 1b717f63847de8762e7f7bdd6708fdfae9d24a67.\n\nChange-Id: Ie4da3c03a0e0334a39a24718f6dc31f9255cfb53\n"
    },
    {
      "commit": "1b717f63847de8762e7f7bdd6708fdfae9d24a67",
      "tree": "e87208bc72796fb310750677650b2e8344f9f81c",
      "parents": [
        "8e58d76eb30a50e38c46bd6277186116937ba396"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Apr 22 18:45:06 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Apr 22 18:45:06 2015 -0700"
      },
      "message": "Revert \"Quick: Rewrite type inference pass.\"\n\nBreaks arm64, as the method register is not correctly flagged\nas ref and thus 32bit.\n\nBug: 19419671\nThis reverts commit e490b01c12d33f3bd5c247b55b47e507cc9c8fab.\n"
    },
    {
      "commit": "e490b01c12d33f3bd5c247b55b47e507cc9c8fab",
      "tree": "9b04b5390f0f29986d9951bdce4a2cb083113809",
      "parents": [
        "fac10700fd99516e8a14f751fe35553021ce6982"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 24 11:32:46 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 22 20:40:00 2015 +0100"
      },
      "message": "Quick: Rewrite type inference pass.\n\nUse method signatures, field types and types embedded in dex\ninsns for type inference. Perform the type inference in two\nphases, first a simple pass that records all types implied\nby individual insns, and then an iterative pass to propagate\nthose types further via phi, move, if-cc and aget/aput insns.\n\nBug: 19419671\nChange-Id: Id38579d48a44fc5eadd13780afb6d370093056f9\n"
    },
    {
      "commit": "70bef0d8f6aa30b0da5c6ca56e1bc5729f74654b",
      "tree": "aea4a31294c5a6a30c52ee886d5884a0b5b84fde",
      "parents": [
        "bbf02afc641a393d33342976e269218668c07386"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Apr 15 02:37:28 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 21 15:03:15 2015 -0700"
      },
      "message": "ART: Add compiled-methods\n\nAdd a dex2oat option for compiled-methods, a more granular filter\nthan compiled-classes. Add compiler-driver support for it.\n\nRefactor dex2oat to reuse file reading.\n\nAdd a test to oat_test.\n\nChange-Id: I78d0d040bce7738b4bb7aabe7768b5788d2587ac\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": "7848da48a0a4241dedc1cc83ac4931e61575eb92",
      "tree": "58a789b6b21893135a8770496175ccc7259d7ea6",
      "parents": [
        "6c7bd25b2b2a07740bcd838c2f4024e67be83fd1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 09 11:15:04 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 14 21:16:31 2015 +0000"
      },
      "message": "ART: Store classpath information into oat file\n\nStore a \"dependency list\" of class-path dex-files into the key-value\nstore of an oat file. The list is made up of dex locations and\ncorresponding checksums.\n\nAdd tests for encoding, decoding and checking the list.\n\nBug: 19781184\nChange-Id: Ie700dd37e6e086db599c95d329ac1f1d2ff0b758\n"
    },
    {
      "commit": "c6b4dd8980350aaf250f0185f73e9c42ec17cd57",
      "tree": "ef8d73e37abc04aecb430072a8bc463c73398fee",
      "parents": [
        "dd97393aca1a3ff2abec4dc4f78d7724300971bc"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Apr 07 20:32:43 2015 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Apr 09 16:47:50 2015 +0100"
      },
      "message": "Implement CFI for Optimizing.\n\nCFI is necessary for stack unwinding in gdb, lldb, and libunwind.\n\nChange-Id: I1a3480e3a4a99f48bf7e6e63c4e83a80cfee40a2\n"
    },
    {
      "commit": "dd97393aca1a3ff2abec4dc4f78d7724300971bc",
      "tree": "eed7360a80b7543ec7962b47feb7df0d1a8d438e",
      "parents": [
        "1109fb3cacc8bb667979780c2b4b12ce5bb64549"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Apr 07 20:29:48 2015 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Apr 08 16:36:27 2015 +0100"
      },
      "message": "Implement CFI for JNI.\n\nCFI is necessary for stack unwinding in gdb, lldb, and libunwind.\n\nChange-Id: I37eb7973f99a6975034cf0e699e138c3a9aba10f\n"
    },
    {
      "commit": "1109fb3cacc8bb667979780c2b4b12ce5bb64549",
      "tree": "00b38dbb7d7cf173bb376ed0b87d015dc09a6559",
      "parents": [
        "cde8e5da3e774a2494b051043130c0495eca09ef"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Apr 07 20:21:06 2015 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Apr 08 15:08:07 2015 +0100"
      },
      "message": "Implement CFI for Quick.\n\nCFI is necessary for stack unwinding in gdb, lldb, and libunwind.\n\nChange-Id: Ic3b84c9dc91c4bae80e27cda02190f3274e95ae8\n"
    },
    {
      "commit": "9b14dc379e783ff00fa203be51f9265bc6428939",
      "tree": "2c36459ad0954a815111dfceca1fbca046095f93",
      "parents": [
        "fb9131bd25b5a90e49da5e0f44b23e106558e7e0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 06 15:35:02 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 06 15:35:02 2015 -0700"
      },
      "message": "ART: Fix gtests for missing-noreturn\n\ngtest.h isn\u0027t sufficiently annotated.\n\nChange-Id: I3d5fac8bcdd645227bfd7886c3aa781b225fcc9c\n"
    },
    {
      "commit": "758a801b66c134361a7b43f7e83f85d1fb800c4c",
      "tree": "35b060c780fcf6e7c268fec47df40c74b5ab8b05",
      "parents": [
        "e8aae00fa400efbb8f998a5dbf68eb42810889c1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 03 21:28:42 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 06 14:03:17 2015 -0700"
      },
      "message": "ART: Enable Clang\u0027s -Wdeprecated\n\nReplace throw() with noexcept.\n\nAdd default copy constructors and copy assignment constructors for\ncases with destructors, as the implicit definition is deprecated.\n\nChange-Id: Ice306a3f510b072b00bec4d4360f7c8055135c9d\n"
    },
    {
      "commit": "ca71458862be8505330b7fd5649a062f31d143dc",
      "tree": "7bc749056ab65906a147cc8e1d92e8be3ffea2cc",
      "parents": [
        "9d231cc422b7b32d00bd43ca6993b2dd7e9989ea"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 03 19:41:34 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 03 20:14:40 2015 -0700"
      },
      "message": "ART: Add Clang\u0027s -Wused-but-marked-unused\n\nAdd detection of wrong unused annotations. Fix our codebase.\n\nChange-Id: I85cc20f2eac71c1ec6c5c7cd6efb08454a629634\n"
    },
    {
      "commit": "3f311cfa86af18ccbd6f1607f037401244ad4d56",
      "tree": "4c2c6117abe8d6154531321894df6d354e2b5951",
      "parents": [
        "4d23c9d01b7a609813345eec95167a4dbc4fbae4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 02 15:28:45 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 02 19:07:35 2015 +0100"
      },
      "message": "Add tests for Arm64RelativePatcher.\n\nChange-Id: I9d2c21d323137ac143eabb8fdf6ca075bae45c51\n"
    },
    {
      "commit": "4d23c9d01b7a609813345eec95167a4dbc4fbae4",
      "tree": "92f76d5016319318064b0c574e8a30145337f876",
      "parents": [
        "b163bb742a099c1808907b513ae39068b63b1692"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 01 23:03:09 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 02 15:44:42 2015 +0100"
      },
      "message": "Add tests for Thumb2RelativePatcher.\n\nAlso make the thumb2/arm64 thunk allocation precise instead\nof eagerly allocating thunk space. This allows the calls to\nuse the maximum positive offset.\n\nChange-Id: Ifa95b0bb00bd73eeab0c2905d21e2f3078f4b0a8\n"
    },
    {
      "commit": "b163bb742a099c1808907b513ae39068b63b1692",
      "tree": "37f49bab426c894a899e490243ab0e7844a390ea",
      "parents": [
        "dc56cc509d8e1718ad321f7a91661dbe85ec8cef"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 31 21:49:49 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 02 12:46:56 2015 +0100"
      },
      "message": "Refactor RelativePatcher out of OatWriter.\n\nMove the relative patcher classes to compiler/linker/ and\ncompiler/linker/\u003carch\u003e/ . Refactor them to avoid OatWriter\ndependency so that they can be unit tested. Add tests for\nx86 and x86-64.\n\nChange-Id: I1b42baa9fc431378e4cce1399bec590c5b5a409f\n"
    },
    {
      "commit": "dcff612c3a6e1427749771c4559f198fa480f709",
      "tree": "bb918291617150ab701b235795e9209ea6f1144e",
      "parents": [
        "3ebee94b7b3af89e7cd470ab70013ac0505d2de4",
        "15c1975f5fa5ae646ae87b57394bfdae1090a236"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 31 16:42:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 31 16:42:31 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Add small library for writing of DWARF data.\"\"\""
    },
    {
      "commit": "15c1975f5fa5ae646ae87b57394bfdae1090a236",
      "tree": "6f43d273a55a01b3e556f2c48e5e0ac13e7057c4",
      "parents": [
        "1ded5beffa4bae6203e1fa03903c6ffa2766bf4c"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 31 14:53:55 2015 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 31 15:54:51 2015 +0100"
      },
      "message": "Revert \"Revert \"Add small library for writing of DWARF data.\"\"\n\nUse objdump from prebuilts.\n\nThis reverts commit 1ded5beffa4bae6203e1fa03903c6ffa2766bf4c.\n\nChange-Id: I91f61a91827406930039ccf8691359b1c2636640\n"
    },
    {
      "commit": "5942d57ed5f727d357787aedc089e51aed8eaefa",
      "tree": "59ec0997049f167b663e3a2bf57854bf08cad204",
      "parents": [
        "f1c2b1f395b8d47aa54a3b7a4ef1329eeb8af5d4",
        "1ded5beffa4bae6203e1fa03903c6ffa2766bf4c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 31 14:20:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 31 14:20:34 2015 +0000"
      },
      "message": "Merge \"Revert \"Add small library for writing of DWARF data.\"\""
    },
    {
      "commit": "1ded5beffa4bae6203e1fa03903c6ffa2766bf4c",
      "tree": "94d7d6016c5a58d6c5f31d8350330c8025baa014",
      "parents": [
        "75c3d61011a06c1253e773c42e53ee6f137dbe53"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 31 14:18:47 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 31 14:18:47 2015 +0000"
      },
      "message": "Revert \"Add small library for writing of DWARF data.\"\n\nobjdump differences on the bots\n\nThis reverts commit 75c3d61011a06c1253e773c42e53ee6f137dbe53.\n\nChange-Id: Ie5947a27b9fe5de9d5f0838a024b5cf646ec701e\n"
    },
    {
      "commit": "466530095eae3f3e8a13bd41b5489450b2e66c0a",
      "tree": "35e41f7f11d0de62a353ad18dc0fee3905be1053",
      "parents": [
        "2d9cd63ca365331d02e3030c3ff799737a6f178a",
        "75c3d61011a06c1253e773c42e53ee6f137dbe53"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 31 10:52:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 31 10:52:35 2015 +0000"
      },
      "message": "Merge \"Add small library for writing of DWARF data.\""
    },
    {
      "commit": "75c3d61011a06c1253e773c42e53ee6f137dbe53",
      "tree": "2ebc4f07a5e176dd92340b18a42fbb97280c2c89",
      "parents": [
        "c8924c6ea9e83ba3832dd5551df38ab06f4aaca9"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Mar 26 16:33:17 2015 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 31 11:22:37 2015 +0100"
      },
      "message": "Add small library for writing of DWARF data.\n\nChange-Id: Ifa77aec7584bfcdcc05ddb049c160be9b6dda7c5\n"
    },
    {
      "commit": "81c6f8db12b203878a7d72444ead2bc7cf5c47ad",
      "tree": "11caae30b75b700ac648356fd30759a6154be997",
      "parents": [
        "cac51526bbd03947676a8d49700425b19a57e447"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 25 17:19:53 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 27 21:43:21 2015 -0700"
      },
      "message": "ART: PathClassLoader for compiler\n\nUse an actual PathClassLoader when compiling apps, instead of a\nside structure and cutout.\n\nThis CL sets up a minimal object \u0027cluster\u0027 that recreates the Java\nside of a regular ClassLoader such that the Class-Linker will\nrecognize it and use the internal native fast-path.\n\nThis CL removes the now unnecessary compile-time-classpath and\nreplaces it with a single \u0027compiling-the-boot-image\u0027 flag in the\ncompiler callbacks.\n\nNote: This functionality is *only* intended for the compiler, as\nthe objects have not been completely initialized.\n\nBug: 19781184\n\nChange-Id: I7f36af12dd7852d21281110a25c119e8c0669c1d\n"
    },
    {
      "commit": "3679a47027b40290018d0ccc50b996a15645dfef",
      "tree": "92c6fcbb8fe5c647eb06bb63277c90f36c319101",
      "parents": [
        "139cec015abd195727d5410dc313b483babeda10",
        "e5fed03772144595c0904faf3d6974cc55214c8c"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Mar 25 17:10:11 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 25 17:10:12 2015 +0000"
      },
      "message": "Merge \"Support relative encoded dex locations in oat files.\""
    },
    {
      "commit": "e5fed03772144595c0904faf3d6974cc55214c8c",
      "tree": "27c242e48cabd2543f472930d1ad7e2ab86557fe",
      "parents": [
        "b93581f857e36a62f690e26e78167f2abea0f033"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Mar 18 08:21:11 2015 -0700"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Mar 24 12:48:09 2015 -0700"
      },
      "message": "Support relative encoded dex locations in oat files.\n\nNow when opening an oat file, the caller can pass an absolute dex\nlocation used to resolve the absolute path for any relative\nencoded dex locations in the oat file.\n\nBug: 19550105\nChange-Id: I6e9559afe4d86ac12cf0b90176b5ea696a83d0e7\n"
    },
    {
      "commit": "bce416f7f22f1e73250f020be1178a1c7db72330",
      "tree": "cb9503e1ca6457468924cf4d50210f894af2b2c3",
      "parents": [
        "fc06816cc25f80cc6c4c5d002e5d3bced242a9ee"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 23 12:37:35 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 23 13:00:14 2015 -0700"
      },
      "message": "Add code cache test\n\nBug: 17950037\nChange-Id: I13913667517db5bb9b7224f0639c2b39cf3a1973\n"
    },
    {
      "commit": "26584ca6cee6891cf96434400b469e83a4256e84",
      "tree": "4d6e76d8725b7ddb0ff02223bc129d189802a3e7",
      "parents": [
        "510abc71bd8a5ba42079a851783aba31036c54ea",
        "9a44f878d2ee8a58a42a0291ba026d57bc664b26"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Mar 12 20:07:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 12 20:07:59 2015 +0000"
      },
      "message": "Merge \"Add missing patchoatd dependency for oat_file_assistant_test.\""
    }
  ],
  "next": "9a44f878d2ee8a58a42a0291ba026d57bc664b26"
}
