)]}'
{
  "log": [
    {
      "commit": "8cf9cb386cd9286d67e879f1ee501ec00d72a4e1",
      "tree": "88e86e214b425e444760fe4e0ffeee677e1558a2",
      "parents": [
        "914b7b6a6c9f399b26b41e9160e9871ef749e0db"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 19 09:28:38 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 24 16:07:10 2017 -0700"
      },
      "message": "ART: Include cleanup\n\nLet clang-format reorder the header includes.\n\nDerived with:\n\n* .clang-format:\n BasedOnStyle: Google\n IncludeIsMainRegex: \u0027(_test|-inl)?$\u0027\n\n* Steps:\n find . -name \u0027*.cc\u0027 -o -name \u0027*.h\u0027 | xargs sed -i.bak -e \u0027s/^#include/ #include/\u0027 ; git commit -a -m \u0027ART: Include cleanup\u0027\n git-clang-format -style\u003dfile HEAD^\n manual inspection\n git commit -a --amend\n\nTest: mmma art\nChange-Id: Ia963a8ce3ce5f96b5e78acd587e26908c7a70d02\n"
    },
    {
      "commit": "8bf4fece8a4cecc869f8684d52e91ade630f84df",
      "tree": "fbc018fe9522fec2d923fed4f0c909a0fd3e4d98",
      "parents": [
        "194cf5f7db9762c17a0f2c91308cb060db08f571",
        "279cfba1f6086c25d6737471bc4f66ae79f4e681"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 24 18:44:05 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 24 18:44:05 2017 +0000"
      },
      "message": "Merge \"MIPS: Follow-up to hash-based DexCache methods array\""
    },
    {
      "commit": "279cfba1f6086c25d6737471bc4f66ae79f4e681",
      "tree": "e9ee9c1fb1180c89734ad57b3ee601a5545d9c9e",
      "parents": [
        "62432ae776aa618082865b40b111dbff75aedeb6"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Sat Jul 22 00:24:43 2017 -0700"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Mon Jul 24 09:43:09 2017 -0700"
      },
      "message": "MIPS: Follow-up to hash-based DexCache methods array\n\nThis is a MIPS-specific follow-up to\nhttps://android-review.googlesource.com/#/c/431679/.\n\nTest: booted MIPS32R2 in QEMU\nTest: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU\n\nChange-Id: Ib16cf6613ae3b6537e7fbae1aff9a3316c9fd540\n"
    },
    {
      "commit": "3988af6473bf3005da0af13ea7bdcbcb6d187313",
      "tree": "c01e23bdad9debaa880fc3a379ed21e02179a2e6",
      "parents": [
        "28e535bd94c84d1019f18c46e189928435e2938d"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Jul 24 09:50:39 2017 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Jul 24 09:50:39 2017 +0100"
      },
      "message": "Show diff column for fields only if diff is enabled.\n\nTest: Confirm that no diff column is shown when looking at instance\n      fields of an object or static fields of a class when no baseline\n      heap dump is given.\n\nChange-Id: Ic72d6aee31b8ca4ddbeaa53178c708fa733ac00b\n"
    },
    {
      "commit": "c73753f70ab4fc9a166637bee514b292f0fa0109",
      "tree": "a464e300d44b5a3eca10cb00cc42be7c1ab9da96",
      "parents": [
        "530a6b6902b50db43659757a6270b7d111d93a2c",
        "07bfbace6f835e6c748fd68ec7624992478b16c1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jul 21 09:41:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 21 09:41:58 2017 +0000"
      },
      "message": "Merge \"Hash-based DexCache methods array.\""
    },
    {
      "commit": "530a6b6902b50db43659757a6270b7d111d93a2c",
      "tree": "9e337952a5edc8766d953d70ab73cf8187cb8c5d",
      "parents": [
        "24ed4638f9309b16497dbbc91d38c7af23b817ae",
        "2687050dc64fa420ede2a9bd44550bd5af3e9c9a"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Jul 21 08:13:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 21 08:13:34 2017 +0000"
      },
      "message": "Merge \"ahat: Switch to a custom dominators implementation.\""
    },
    {
      "commit": "5f2d800175df712f4a1a584575a5a913b8e22704",
      "tree": "858805b6c3faa55761a34137295473c3e4ee80fe",
      "parents": [
        "8fe41cf9c995d321da607fa45ad0e752444696a1",
        "1194244cda63f442b06b18f8246e079efa658846"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 20 20:06:07 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 20 20:06:07 2017 +0000"
      },
      "message": "Merge \"tools: Do not pass \"\u0026\u003e\" to dalvikvm when running art --profile\""
    },
    {
      "commit": "1194244cda63f442b06b18f8246e079efa658846",
      "tree": "d821f1d7ddeacc7fce2ded5bc85a596bf223a5fb",
      "parents": [
        "331f4c4e287791611733120c1a1c2afd55ecdd65"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jul 20 11:08:34 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jul 20 11:10:16 2017 -0700"
      },
      "message": "tools: Do not pass \"\u0026\u003e\" to dalvikvm when running art --profile\n\nPreviously eval would remove the \"\u0026\u003e\" and this would do the right thing,\nbut we are no longer using eval.\n\nThis also fixes art-profile-cc runs on go/lem.\n\nTest: art --profile -cp $PATH_TO_GOLEM_GCLIENT/golem4/generated/benchmarks.dex benchmarks.MicroMethodHandles.java.MicroMethodHandles\nBug: 63892541\nChange-Id: I31fccc5bfdecc22077c4bcc91e7328641c376ca4\n"
    },
    {
      "commit": "07bfbace6f835e6c748fd68ec7624992478b16c1",
      "tree": "5d094a00fbc90455bd9b53e042cf8b4fe8433462",
      "parents": [
        "ba118827465d12177f3996e50133960087b1c916"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 06 14:55:02 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 20 16:33:00 2017 +0100"
      },
      "message": "Hash-based DexCache methods array.\n\nTotal boot*.art size for aosp_angler-userdebug:\n  - arm64:\n    - before: 11603968\n    - after: 10129408 (-1.4MiB, -12.7%)\n  - arm:\n    - before: 8626176\n    - after: 7888896 (-0.7MiB, -8.5%)\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nTest: Nexus 6P boots.\nTest: testrunner.py --target\nTest: Build aosp_mips64-eng\nBug: 30627598\nChange-Id: I7f858605de5f074cbd7f0d9c4c072fbd44aee28f\n"
    },
    {
      "commit": "2687050dc64fa420ede2a9bd44550bd5af3e9c9a",
      "tree": "88687ed5f59b1cad0d3e331edc9fad1b7bd5aec4",
      "parents": [
        "e4a19f603a0e112d93b17d7e483bf9e8c9caa27b"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Jul 04 15:55:19 2017 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jul 20 09:31:22 2017 +0100"
      },
      "message": "ahat: Switch to a custom dominators implementation.\n\nRather than relying on perflib\u0027s dominators computation, use our own.\nBenefits:\n* Over 25% improvement in heap dump processing performance, improving\n  ahat startup time by around 1 to 3 seconds on typical Android heap\n  dumps.\n* Provides more flexibility if we want to tweak the dominators\n  computation in the future, for example by treating different\n  soft/weak/finalizer differently or additional performance tuning.\n* Opens the door to future performance optimizations based around\n  eliminating the impedance mismatch between perflib and ahat\u0027s\n  internal representations of the heap dump.\n* Opens the door to possible future features that involve computing\n  dominators of non-heap objects, such as dex code items.\n* Avoids a bug in perflib\u0027s dominators computation when there are\n  duplicate class or instance dumps.\n\nAlso included in this change:\n* Include \"class\" in toString for class objects.\n* Compute Site ObjectsInfos bottom-up in a separate pass.\n\nBug: 34884751\nBug: 33957507\nTest: m ahat-test, with new tests for incoming references and dominators.\nTest: Confirm dominator parity with perflib\u0027s dominators computation on\n      a number of real heap dumps.\nTest: Visually compare information reported for overview, rooted, sites,\n      object, and objects pages on a real heap dump against ahat-1.2.\n\nChange-Id: I4cf8fb177a0aaaee07ad6fddbc574682f91cc0f7\n"
    },
    {
      "commit": "0f414edaa2584bbacdab4d2f129598b9d723b895",
      "tree": "58b6d6b2fefd233deda6683de0906cd2dfe9b849",
      "parents": [
        "bacafb19fa654fb6c7ad610305bed45c2e4682e8"
      ],
      "author": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Tue Jul 18 16:10:51 2017 -0700"
      },
      "committer": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Wed Jul 19 15:30:05 2017 -0700"
      },
      "message": "Added a new mutator called RegisterClobber.\n\nA mutator which changes the values of all registers to random integer.\n\nTest: Ran with dexfuzz until the mutation showed up. Used Dexdump2 to\nfind the bytecode.\nChange-Id: I12579e1476ac69ad42561ba3b2c28701664cd5ae\n"
    },
    {
      "commit": "bacafb19fa654fb6c7ad610305bed45c2e4682e8",
      "tree": "d1bb4f952fcf86aa9ff935cac6fcccea479f2488",
      "parents": [
        "b12d4322fc5c0f3e0b742b9b4f3098c8346dcd71",
        "4865712f12d79f994ef0c2dbc88216f742456809"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 18 23:30:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 18 23:30:38 2017 +0000"
      },
      "message": "Merge \"Changed isInvokeCallInst() to getDifferentInvokeCallOpcode().\""
    },
    {
      "commit": "4865712f12d79f994ef0c2dbc88216f742456809",
      "tree": "58f7bde1a4c3420b2b876fe8e48a8f82c49cc5ca",
      "parents": [
        "64a102dde8c5daad83b991710decb418ce43aac5"
      ],
      "author": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Tue Jul 18 11:17:49 2017 -0700"
      },
      "committer": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Tue Jul 18 13:56:43 2017 -0700"
      },
      "message": "Changed isInvokeCallInst() to getDifferentInvokeCallOpcode().\n\nTest: Ran dexfuzz until the mutation showed up and found the diff using\nthe bytecode differences.\n\nChange-Id: I4ffddedcbc53e48866b64d4c37c1e25ef982ade6\n"
    },
    {
      "commit": "b98d384eb424ad7e1dc9816392ded33dce0e0372",
      "tree": "3dbe27446f59f58470c4777fbdfb74b20270dd5f",
      "parents": [
        "7aa54496ed72edea500c885f89ab67dddac3c609",
        "916172127d84e08c7540dae0f7cd288de1577199"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 18 19:09:49 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 18 19:09:49 2017 +0000"
      },
      "message": "Merge \"A mutation that changes the length of an array.\""
    },
    {
      "commit": "916172127d84e08c7540dae0f7cd288de1577199",
      "tree": "5431d47f4c79b4afd5b2735cf54d66240f47e8a2",
      "parents": [
        "209b4c7141d7da61790844cd58bd0a9bab2951d8"
      ],
      "author": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Fri Jul 14 11:52:23 2017 -0700"
      },
      "committer": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Tue Jul 18 10:24:34 2017 -0700"
      },
      "message": "A mutation that changes the length of an array.\n\nThis mutation takes an array and changes its length.\n\nTest: ran dexfuzz until the mutation kicked in and used dexdump2 to find\nthe diff.\nChange-Id: I5078b678673af7a839208c79113f1c1f26090baa\n"
    },
    {
      "commit": "188ac6cb6d63f8225328600aa6965930e2624bbd",
      "tree": "d85a8b5c737a02d1209ea2b3e33c4e3336bab38a",
      "parents": [
        "71a8e5b25f0be5ab5bf0e1c73a9e5aabc3a23488"
      ],
      "author": {
        "name": "Bharadwaj Kalandhabhatta",
        "email": "bharadwajsk@google.com",
        "time": "Mon Jul 17 15:15:41 2017 -0700"
      },
      "committer": {
        "name": "Bharadwaj Kalandhabhatta",
        "email": "bharadwajsk@google.com",
        "time": "Tue Jul 18 09:33:39 2017 -0700"
      },
      "message": "Analysis of multiple dex files of a package added\n\nPackages of applications often have multiple dex files associated with\nthem due to the size. All the dex files can now be analyzed separately.\nThe documentation related to the scripts has been updated.\n\nBug: 37754950\nTest: export ART_DEX_FILE_ACCESS_TRACKING\u003dtrue; m -j \u0026\u0026 m -j\nSANITIZE_TARGET\u003daddress SANITIZE_LITE\u003dtrue\n\nChange-Id: I3ce2722941689c3075ccd5a00ba1c7bed23369fc\n"
    },
    {
      "commit": "890045e5a768257d8def42827a09a516ebe3e07e",
      "tree": "43aff2365b9ba4f98a54342f2553c9013156f31c",
      "parents": [
        "87e61d51be5d27b4ee1c6c0830d6bcb452081a08",
        "7fef4eb204b3d104746ca767a43351adf8a96a31"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 17 14:28:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 17 14:28:23 2017 +0000"
      },
      "message": "Merge \"tools: Fix art script to run from adb shell interactively\""
    },
    {
      "commit": "a3669adfaa84fbd184b5d672a958b6355656ce86",
      "tree": "be71cf6577779b158479296a0e47784d3bf725d9",
      "parents": [
        "5e219b98f971dfd9b2dcb94e56b66d21027f2b33",
        "afd44eac457ea5b7c128971e8a08501e465b47b3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 17 07:26:07 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 17 07:26:07 2017 +0000"
      },
      "message": "Merge \"tools: Use single-quotes for argument escaping in \"art\" script.\""
    },
    {
      "commit": "7fef4eb204b3d104746ca767a43351adf8a96a31",
      "tree": "46f46d336fc154d135c9d9b9673f82b45b5a963e",
      "parents": [
        "afd44eac457ea5b7c128971e8a08501e465b47b3"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jul 14 15:45:47 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jul 14 16:03:52 2017 -0700"
      },
      "message": "tools: Fix art script to run from adb shell interactively\n\nPreviously it would not work for two reasons:\n\n1) It assumed core.art image, but a regular android device only has\nboot.art\n2) It assumed being located in a writeable directory, and would fail\nto create //android-data12345 or similar (notice the //).\n\nTest: adb shell /system/bin/art -cp /data/local/tmp/classes.dex \u0027Outer\\$Inner\u0027\nChange-Id: I4a5560cab4f0e3e400551f435d7d0ec9f3d505ba\n"
    },
    {
      "commit": "afd44eac457ea5b7c128971e8a08501e465b47b3",
      "tree": "98e6ed6062787463fa8aebb15800f254d499a3f0",
      "parents": [
        "6375a04cae864416499865453fecd2b50706b3b2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jul 14 13:52:02 2017 +0100"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jul 14 15:48:18 2017 -0700"
      },
      "message": "tools: Use single-quotes for argument escaping in \"art\" script.\n\n(Also fixes other quoting/whitespace issues for argument forwarding)\n\nTest: `FOO\u003dEXPANDEDFOO art \u0027$FOO\u0027` searches for class $FOO.\nBug: 63693291\nChange-Id: Ib520f57c47cc8868635c0b2ecf41659f927a1e09\n"
    },
    {
      "commit": "51e74b47f240187d336d9e688f5d7538366f2edf",
      "tree": "4a8652b02377120ec36999921a7514be799de3b5",
      "parents": [
        "99d50e80f3d186c9ae19736b9b224ee319d936f9",
        "2f6b7db95def31f1e647dc6913828c513a6b5efd"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Jul 13 21:46:01 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 13 21:46:01 2017 +0000"
      },
      "message": "Merge \"Add array initializer to jfuzz\u0027 potential output.\""
    },
    {
      "commit": "957f80975548342b9aee73ae52d0379b7656c269",
      "tree": "ddbdb991147fe8705083d3fc53a9cd88375fdcfb",
      "parents": [
        "469a27f535a7f57444690fa8f5f5ded824fe2caa"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jul 11 15:44:45 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 13 10:40:23 2017 -0700"
      },
      "message": "Add script for generating boot image profile\n\nUsage:\ntools/generate-boot-image-profile.sh \u003cfilter\u003e \u003coutput\u003e [\u003cprofman args\u003e]\n\nExample:\ntools/generate-boot-image-profile.sh boot.prof profiles/0/*/primary.prof\n\nTest: test-art-host\n\n(cherry picked from commit af5180d71070247f50a92b6d97d9a1a302c4aa0b)\n\nChange-Id: Idf624eb4dd5cfe1c7ef17c33f1492ee95dfc4e53\n"
    },
    {
      "commit": "2f6b7db95def31f1e647dc6913828c513a6b5efd",
      "tree": "ee8a7f299189fcbadafc99e21be922de6bfb5d97",
      "parents": [
        "8aea017919a7ee19b7aed05465d0ab948d03442d"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Jul 12 16:29:19 2017 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Jul 12 16:58:54 2017 -0700"
      },
      "message": "Add array initializer to jfuzz\u0027 potential output.\n\nRationale:\nArray initializers were previously untested. With\nsome upcoming work on dexfuzz, it will also be\ngood to stress the use of new-array opcodes more.\n\nTest: run jfuzz\nChange-Id: I18bca1ac07f77a562944dfdc055a7561fd7fa80a\n"
    },
    {
      "commit": "9d87d7cc71d565d6f55781cef6906751df622855",
      "tree": "8f80863e7189b51737739174410b26065398e4ff",
      "parents": [
        "4bbbe4006bb06386f2419bcc36ec5e6784781f6b",
        "9edf8d1e3d508c34d997e4e0fd4ebe70b5501e4c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 12 17:29:33 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 12 17:29:33 2017 +0000"
      },
      "message": "Merge \"Improved scripts that analyze sanitizer poisoning\""
    },
    {
      "commit": "9edf8d1e3d508c34d997e4e0fd4ebe70b5501e4c",
      "tree": "bffbac6fc1085b24e247c0b30afc6eb9cfeae204",
      "parents": [
        "ab7e45a8d853978516b4c0f12a01d4e9b753ed20"
      ],
      "author": {
        "name": "Bharadwaj Kalandhabhatta",
        "email": "bharadwajsk@google.com",
        "time": "Tue Jul 11 13:32:24 2017 -0700"
      },
      "committer": {
        "name": "Bharadwaj Kalanadhabhatta",
        "email": "bharadwajsk@google.com",
        "time": "Tue Jul 11 20:59:47 2017 +0000"
      },
      "message": "Improved scripts that analyze sanitizer poisoning\n\nScripts now can split information based on Process ID in order for\nlessen amount of information shown at once. Additionally, the scripts\nnow provide information of what is being accessed at a certain point.\n\nBug: 37754950\nTest: art/tools/runtime_memusage/sanitizer_logcat_analysis.sh [options]\n[LOGCAT_FILE] [CATEGORIES...]\n\nChange-Id: I9cf0f2a87d073a88997932c2e2717eb48c7888b4\n"
    },
    {
      "commit": "e5193c606a6ded6ac0a640859d997fb656d6fb12",
      "tree": "40e9cf3fa803007ac9961cdc0056669e74281092",
      "parents": [
        "733e441e3bcaa6efb8248fe3429b18d3199ee30e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jun 30 13:30:46 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jul 11 17:34:27 2017 +0000"
      },
      "message": "presubmit: Add hooks for checking if generated test files are up-to-date\n\nTest: art/tools/test_presubmit.py # while manually changing intrinsics_list.h with extra entries\nChange-Id: If761529f81c20fa0dc24dc70dba2a0e4d4992295\n"
    },
    {
      "commit": "8db9dde1f38d5f2d8cbb5bcb0426bb800cfff5a2",
      "tree": "9f08543aef9424d4b025f92fa7d43aaef82c4a16",
      "parents": [
        "00cca3a275562d110a8b35094b9b12fac37f67ab"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 11 18:07:00 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 11 18:07:00 2017 +0100"
      },
      "message": "Balcklist failing test.\n\nChange-Id: I74946ca9d4d8e357fae9ced6d241c6ea1e7c58a3\n"
    },
    {
      "commit": "b2bedf41a6ce1204d01a4adf804bc418594af0ee",
      "tree": "d1cd1a85bbe3320ad3644cd2a716c18fa88419e6",
      "parents": [
        "001580af52d4ae6e2c2c59c1509dc78726c3761e",
        "c7c3d851fdc9a1f7cba0a6c27ba861edd526b116"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Jul 06 00:53:19 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 06 00:53:19 2017 +0000"
      },
      "message": "Merge \"Invoke Changer\""
    },
    {
      "commit": "c7c3d851fdc9a1f7cba0a6c27ba861edd526b116",
      "tree": "e53a745dc493185b77f312bce42ff6d6782e4a57",
      "parents": [
        "a073f1f50a7bcc981c8d3d4bb7c3a267644af1e2"
      ],
      "author": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Fri Jun 30 17:10:38 2017 -0700"
      },
      "committer": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Wed Jul 05 15:41:21 2017 -0700"
      },
      "message": "Invoke Changer\n\nThis mutator changes the invoke call to a different one.\n\nTest: ran dexfuzz and waited until this\nmutation(InvokeChanger.java) came up. ran dexdump2 and found the diff.\nChange-Id: I38e9b6523b36319ff1b2785d00e4f51943664b23\n"
    },
    {
      "commit": "b25a31a182b089c91a6dad784a5b3bbf86d2e1a9",
      "tree": "e3fc4c231e53c41e751ac495032b49666108a5e1",
      "parents": [
        "3678820dd76ec08225db4457b1d632950ea87281",
        "662dc65f54cd64bb473c6aaae10a36c87f223106"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 05 11:36:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 05 11:36:20 2017 +0000"
      },
      "message": "Merge \"Revert \"Blacklist failing test.\"\""
    },
    {
      "commit": "3678820dd76ec08225db4457b1d632950ea87281",
      "tree": "9568e6d09e120e28c006655be2e85c839ce8a759",
      "parents": [
        "640fbdc7516a40883f219bd3c9f0e7b8a49842b4",
        "5b455d34195379d481ba3aed2b4a8464d4dd9b10"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 05 11:31:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 05 11:31:40 2017 +0000"
      },
      "message": "Merge \"Blacklist test under gcstress.\""
    },
    {
      "commit": "5b455d34195379d481ba3aed2b4a8464d4dd9b10",
      "tree": "ca456142026bdaa7046e23495bcc46e5531a08ce",
      "parents": [
        "fe9a4f061841a3c597aac6817a47c799c54fcad7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 05 10:51:06 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 05 10:51:06 2017 +0100"
      },
      "message": "Blacklist test under gcstress.\n\nTest: libcore\nChange-Id: I01b7297d3dfeefd769fb68cfb8d3e74e75307b7c\n"
    },
    {
      "commit": "662dc65f54cd64bb473c6aaae10a36c87f223106",
      "tree": "f034b3f65b6593fecb929956733bf082d292d688",
      "parents": [
        "4a77b1e96733be419c0cb571448e8590c803bd91"
      ],
      "author": {
        "name": "Adam Vartanian",
        "email": "flooey@google.com",
        "time": "Wed Jul 05 09:32:07 2017 +0100"
      },
      "committer": {
        "name": "Adam Vartanian",
        "email": "flooey@google.com",
        "time": "Wed Jul 05 09:32:07 2017 +0100"
      },
      "message": "Revert \"Blacklist failing test.\"\n\nThis reverts commit f8aac6111a4a288bd01e10c8545fe639f81de7ed.\n\nTest: cts -m CtsLibcoreTestCases -t libcore.java.util.CurrencyTest\n"
    },
    {
      "commit": "f8aac6111a4a288bd01e10c8545fe639f81de7ed",
      "tree": "f8c96e48660e065adfd4418d9298ba08535a73ae",
      "parents": [
        "8091ed8a26db4609c719ea8d905145ddfed7f498"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 03 22:31:23 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 03 22:31:23 2017 +0100"
      },
      "message": "Blacklist failing test.\n\nChange-Id: I6c989abc38b5102ca82a666b48d82319cb705c0f\n"
    },
    {
      "commit": "5f17267621174ac22ab53f02b3a5e1ee54308775",
      "tree": "e8c9f1d47648c19804c40c36eb75886cac43468e",
      "parents": [
        "222a480d96d3777564735258679f3fb508effce1",
        "abae6379353e4dec21d9e1ac707fd061049c99d8"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Jun 29 23:35:24 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 29 23:35:24 2017 +0000"
      },
      "message": "Merge \"If branch changer which changes the opcodes.\""
    },
    {
      "commit": "abae6379353e4dec21d9e1ac707fd061049c99d8",
      "tree": "aa32e73261effc545de42622ac4ddfaa68aa538c",
      "parents": [
        "58de3f7394a86425fa80f69439e736cc16ef61c5"
      ],
      "author": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Thu Jun 22 15:03:02 2017 -0700"
      },
      "committer": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Thu Jun 29 14:20:13 2017 -0700"
      },
      "message": "If branch changer which changes the opcodes.\n\nThis program mutates the program by changing the current if comparision\noperators.\n\nTest: run dexfuzz with the two mutations\nChange-Id: I1b8a3009bc829678d84f3f2fb42d0e6ba3deeb0a\n"
    },
    {
      "commit": "d0c3e8373715a26c706519800d66979b1ea9ecbf",
      "tree": "2dc0afcda777fd520ffe0172eb2cef937d5d7642",
      "parents": [
        "bc81c32d7c6b7862816a23c9e8b594840d78e900"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jun 28 14:34:26 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jun 28 14:56:07 2017 +0100"
      },
      "message": "buildbot: Include dx-tests\n\nTest: manual invocation\nBug: b/36048561\nChange-Id: Ia5e9a7dbc2a329fce68f555fc6b228da89b3f2ea\n"
    },
    {
      "commit": "ab6fa4fd7e8227a57a5808a300f27620d4625f6a",
      "tree": "d06d49257e1f33ca7ed8bbd1e9662be06a566638",
      "parents": [
        "96e3dd546cc255441fb27d456b06e2e662b5f9c8"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jun 23 09:52:58 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jun 23 10:19:17 2017 -0700"
      },
      "message": "Make bootjars work with OUT_DIR \u0026 friends\n\nWe were pre-pending $TOP to a path that was already absolute.\n\nTest: OUT_DIR\u003d\u003cwhatever\u003e ./test/run-test --build-with-javac-dx --host \\\n                                         001-HelloWorld\n\nChange-Id: Ib0b5bfdcc5abbe769af7f264f0e8ce0dfbebaf2a\n"
    },
    {
      "commit": "7b78379d540c7c1e13f8a40953209aa6b70b7958",
      "tree": "bcd0b8ecd24b9bc1b13223e6f12d3f9962bc93e1",
      "parents": [
        "f45cf4bfb341051d9d0959f2e2619eaec71fa732"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jun 23 07:48:45 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jun 23 08:00:08 2017 -0700"
      },
      "message": "buildbot: Blacklist repeated annotations test failure for javac/dx\n\nThere\u0027s a bug in OpenJDK8 javac (fixed in OpenJDK9) which prevents repeated\nannotations from working correctly in some special cases.\n\nBlacklist this test here because our buildbot runs all the libcore\ntests with javac/dx and it is failing only that one test.\n\nTest: art/tools/run-libcore-tests.sh\nBug: 62408076\nBug: 36902714\nChange-Id: Ib37ad1f430ee3d3e7afab552705085312021cd01\n"
    },
    {
      "commit": "47686f62332c9cfa015c47a1b2acdd60e74e6ea3",
      "tree": "1381be0cee6e43e0540d4bad6bfc3ce899206256",
      "parents": [
        "2cf565901845e4bafc663c24071c91d13c692858",
        "d6918e3c8faf5e445950402f7ea56233dd800948"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 23 11:13:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 23 11:13:27 2017 +0000"
      },
      "message": "Merge \"ahat: Improve field diffing.\""
    },
    {
      "commit": "d6918e3c8faf5e445950402f7ea56233dd800948",
      "tree": "4619decd589a63f7dccf4e6dd9c1250411f1e933",
      "parents": [
        "1f51ec0e1a80c4146793d2f853c2c7408073fe7c"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jun 14 16:42:44 2017 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Jun 23 10:03:13 2017 +0100"
      },
      "message": "ahat: Improve field diffing.\n\n* Factor field diffing code out of Diff into its own class.\n* Switch to a new interface for diffing fields that does not rely on\n  being passed mutable lists.\n* Reimplement field diff to work better when fields have been added,\n  deleted, or reordered.\n\nBug: 62408050\nTest: m ahat-test, with new tests for field diff added.\nChange-Id: I56c0414f8f4c11809895d809494d752201d33563\n"
    },
    {
      "commit": "1c5b42f00933b8f28b447f039fb93a7d9a9db06f",
      "tree": "ac46a2fb5bc0a246222a7b2d5e6c2602099b1897",
      "parents": [
        "b96ed2c271a56fb8be0c8f30231710095e66a201"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 15 18:20:45 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 21 12:52:47 2017 -0700"
      },
      "message": "ART: Add support for runtime debug checks\n\nAdd support for runtime-switchable debug flags. These flags are only\nenabled in debug mode, and a constexpr false in release mode. This\nallows to distinguish fast from slow checks, for example.\n\nTo simplify usage, two macros should be used. DECLARE_RUNTIME_DEBUG_FLAG\ndefines a static class member or constexpr as the flag. DEFINE_RUNTIME_DEBUG_FLAG\ndefines the static storage and registers it, if needed. See the\ndocumentation in logging.h.\n\nAs is, runtime checks are disabled by default. Pass -XX:SlowDebug\u003dtrue\nto enable them on startup.\n\nAdd logging_test. Fix up tests and scripts to enable slow debug checks.\n\nBug: 35644369\nTest: m test-art-host\nChange-Id: Icc1cb0bb921d863514c55abef794c5c96f8af801\n"
    },
    {
      "commit": "b96ed2c271a56fb8be0c8f30231710095e66a201",
      "tree": "38727efb2657a5292bab738be77bd68617b6cc0e",
      "parents": [
        "2603bcd380ee782f475798a1d17d6780dfbcf73e",
        "1c843e9caf5a5e3b73275fc4845d4bdbc8f3a03a"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jun 21 18:58:22 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 21 18:58:23 2017 +0000"
      },
      "message": "Merge \"test: enable javac/dx to import libcore on the bootclasspath\""
    },
    {
      "commit": "1c843e9caf5a5e3b73275fc4845d4bdbc8f3a03a",
      "tree": "9d51b8d84acb2387ca5795fb4ebf840c49a35bbc",
      "parents": [
        "4db66ab6ea7ba0b7c08bbecd20b8f3df0e7ba648"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jun 19 14:33:06 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jun 21 08:19:34 2017 -0700"
      },
      "message": "test: enable javac/dx to import libcore on the bootclasspath\n\nFixes 12 tests with javac/dx.\n\nPreviously, javac with the default bootclasspath (unspecified) was used,\nmeaning that it would usually pickup rt.jar from a developer\u0027s JDK system\ninstall.\n\nWith javac-helper.sh, libcore is used for the javac -bootclasspath,\nenabling art tests to load libcore-specific packages such as libcore or\ndalvik (in particular, it uses the output of art/tools/bootjars.sh which\ncalculates the correct bootclasspath from the build artifacts).\n\nTo get libcore on the bootclasspath, source files must be placed in a\n\u0027art/test/$TESTNAME/src-art\u0027 directory. Otherwise the old behavior is\nkept to encourage tests to be cross-platform compatible.\n\nThe minimal set of tests that relied on \u0027import dalvik/import libcore\u0027\nhad their src directories renamed to src-art, and are now building\nsuccessfully.\n\nTest: ANDROID_COMPILE_WITH_JACK\u003dfalse art/test.py\nBug: 36902714\nChange-Id: Iafd245de9e04c312c5ac107897e34d7b97191726\n"
    },
    {
      "commit": "ce7a8b4be5090628dd7901724439cf0bdca57976",
      "tree": "e2985495f9cfd650a6e9a4ec0b6be3cc3742a407",
      "parents": [
        "e032690a610e962960a520b2913513dda3cd096d",
        "ad47e4d1b2a967233bebce984865b4f11a037df5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 21 01:26:49 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 21 01:26:52 2017 +0000"
      },
      "message": "Merge \"Fixing syntax and behavior from previous commit\""
    },
    {
      "commit": "ad47e4d1b2a967233bebce984865b4f11a037df5",
      "tree": "66708cb1b1b7b1fe257cee7cd5778367a70c72c5",
      "parents": [
        "9e1c45d0bfc2f75df24697d537b03dc1b3519e3f"
      ],
      "author": {
        "name": "Bharadwaj Kalandhabhatta",
        "email": "bharadwajsk@google.com",
        "time": "Mon Jun 19 16:40:30 2017 -0700"
      },
      "committer": {
        "name": "Bharadwaj Kalandhabhatta",
        "email": "bharadwajsk@google.com",
        "time": "Tue Jun 20 16:32:06 2017 -0700"
      },
      "message": "Fixing syntax and behavior from previous commit\n\nReferring to minor mistakes pointed out in\nCommit: 9e1c45d0bfc2f75df24697d537b03dc1b3519e3f\nThere were also some bad traces that could have potentially been missed\nin previous commit.\n\nBug: 37754950\nTest: art/tools/runtime_memusage/sanitizer_logcat_analysis.sh\n[LOGCAT_FILE]\n\nChange-Id: I6f403ebc949ef9b924a07f68043cae188c3936b1\n"
    },
    {
      "commit": "6919639d0151efda38f46ad99746f0004a3d112e",
      "tree": "984dabfd9a0f254c592f503d9c71c716940b1556",
      "parents": [
        "6c946b52ab853f1e6d6a24c11260eb9efa8be60c"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jun 16 15:25:32 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jun 19 17:59:03 2017 +0000"
      },
      "message": "test: Don\u0027t force-compile with jack for runtests\n\nThis fixes 14 more tests with javac/dx. 24 broken tests remaining.\n\nAlso adds minimum api/sdk versions to dx/desugar\n(previously desugar was attempting to desugar default methods, because\nthe jar defaults to api level of 1).\n\nAlso disables desugar for one of the ICCE tests because\ndesugar will crash when it sees incompatible classes.\n\nBug: 36902714\nTest: ANDROID_COMPILE_WITH_JACK\u003dfalse art/test.py\nChange-Id: If5bc47b8fa88a63cce1b74e6fb1af3a59aca1f89\n"
    },
    {
      "commit": "4cf4e365a9deeb1f55f95738661ac61183e4da73",
      "tree": "2c4acc61cf6ed45857bfd6f5da98c12559ebc27d",
      "parents": [
        "2dcfe269a6c863a91e614dd6134c995d6347fdf7",
        "2a33775e1500040a32e20c1e1aeb45e6c5416a15"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 16 16:15:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 16 16:15:31 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"test: Add desugar support to run-test\"\"\""
    },
    {
      "commit": "2a33775e1500040a32e20c1e1aeb45e6c5416a15",
      "tree": "9b1af0d21383a8377277a714dce4658e031b1573",
      "parents": [
        "75e7c9cc3db9547127dbc706f9a4fade54a41600"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jun 16 14:34:40 2017 +0000"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jun 16 14:34:40 2017 +0000"
      },
      "message": "Revert \"Revert \"test: Add desugar support to run-test\"\"\n\nThis reverts commit 75e7c9cc3db9547127dbc706f9a4fade54a41600.\n\nChange-Id: I7932e27b5307bbe7b60184dd5faf24bd336aa63a\n"
    },
    {
      "commit": "97176b0c1b6c7ad00df3172a6c981fe85f890187",
      "tree": "90a53b049eec0c993d46078e9d2af3c130b7aaad",
      "parents": [
        "5d3ae5b607c80c8df7e7b3d72bd3659f4c62a867",
        "9e1c45d0bfc2f75df24697d537b03dc1b3519e3f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 15 23:26:15 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 15 23:26:18 2017 +0000"
      },
      "message": "Merge \"Added scripts to analyze sanitizer poisoning\""
    },
    {
      "commit": "9e1c45d0bfc2f75df24697d537b03dc1b3519e3f",
      "tree": "1761fda2126f01105edb9b92594661d2e899b62e",
      "parents": [
        "a7548fee6122f594c6669e1dcfd7b1637ef19a47"
      ],
      "author": {
        "name": "Bharadwaj Kalandhabhatta",
        "email": "bharadwajsk@google.com",
        "time": "Tue Jun 13 08:56:51 2017 -0700"
      },
      "committer": {
        "name": "Bharadwaj Kalandhabhatta",
        "email": "bharadwajsk@google.com",
        "time": "Thu Jun 15 10:41:43 2017 -0700"
      },
      "message": "Added scripts to analyze sanitizer poisoning\n\nScripts are meant to be used in conjunction with DexFileTrackingRegistrar.\nAfter poisoning certain sections of a dex file, the logcat will contain\ntraces in addition to information of dex files. This is used in order to\ncondense the large amount of information that is dumped into the logcat.\n\nBug: 37754950\nTest: art/tools/runtime_memusage/sanitizer_logcat_analysis.sh\n[LOGCAT_FILE]\n\nChange-Id: Ied28e09899ec097f09332784bf80481f9c7dcb3f\n"
    },
    {
      "commit": "c51d94b2c9322197b2691765a05a979b500f2317",
      "tree": "744e78fe8dd85cb1ad84bcd1f3d7bf2df5e36173",
      "parents": [
        "fbc3fffc4a01a22a5e48c5f834e7334ea781e588",
        "622e2e297351ba9f8a7f80090e4985fbc3633512"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 15 12:40:48 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 15 12:40:51 2017 +0000"
      },
      "message": "Merge \"Create an expectation file for gcstress/debug.\""
    },
    {
      "commit": "75e7c9cc3db9547127dbc706f9a4fade54a41600",
      "tree": "65d634cf46190e02060f2a47929cef28e9060ca2",
      "parents": [
        "86b0db4b7b892f27c738d3d3adab28c143120ac8"
      ],
      "author": {
        "name": "Mariano Giardina",
        "email": "giardina@google.com",
        "time": "Thu Jun 15 11:32:51 2017 +0000"
      },
      "committer": {
        "name": "Mariano Giardina",
        "email": "giardina@google.com",
        "time": "Thu Jun 15 11:35:00 2017 +0000"
      },
      "message": "Revert \"test: Add desugar support to run-test\"\n\nCollateral effect after rollback \nhttps://android-review.googlesource.com/#/c/416319/\n\nThis reverts commit 86b0db4b7b892f27c738d3d3adab28c143120ac8.\n\nChange-Id: Icc8e2acabbd2ffe1ad290cd641da70cf63a7041c\n"
    },
    {
      "commit": "622e2e297351ba9f8a7f80090e4985fbc3633512",
      "tree": "7f13e17243b0a145603d6c5e16af9a94a6d0b342",
      "parents": [
        "a8b125e0f69cbc14137a0058fd34eddd4f43668f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 15 09:33:01 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 15 10:12:27 2017 +0100"
      },
      "message": "Create an expectation file for gcstress/debug.\n\nTest: run-libcore-tests.sh --mode\u003ddevice --vm-arg -Xgc:gcstress --debug\nChange-Id: Idbb0eca68522cb9d4fb18700107533e98ae18b33\n"
    },
    {
      "commit": "86b0db4b7b892f27c738d3d3adab28c143120ac8",
      "tree": "9b1af0d21383a8377277a714dce4658e031b1573",
      "parents": [
        "19a4d0f01f850b86921e67b3f1d9834d5ce94ee3"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 13 15:57:34 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jun 14 16:33:38 2017 -0700"
      },
      "message": "test: Add desugar support to run-test\n\nThis fixes 17 tests with javac/dx, but breaks 5 new ones.\n\nNet tests fixed: 12. Remaining broken tests: 42.\n\nTest: ANDROID_COMPILE_WITH_JACK\u003dfalse art/test.py\nBug: 36902714\nChange-Id: I41e498d59a57e10bb37cef1bd1f197cc6defff9e\n"
    },
    {
      "commit": "731906083e40a6e3e1e85bc6955d059da74260e6",
      "tree": "4ac5fdd9588ed143b74f4d71d2703bb21261df73",
      "parents": [
        "9533cc0a3725e46c29c4e5ce7f6d62073ee03150",
        "84f2632f6e1e28449a566d44da7dba23bf44fcf7"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 13 17:53:53 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 13 17:53:55 2017 +0000"
      },
      "message": "Merge \"tools: Allow testing with javac on buildbot\""
    },
    {
      "commit": "84f2632f6e1e28449a566d44da7dba23bf44fcf7",
      "tree": "e576b4b9807bc3f0d6fd7d1e453dd5a26c28b96c",
      "parents": [
        "0a50965275df2da590c49a7a955e6ff5a7c7d2ae"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 06 11:36:33 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jun 12 16:30:22 2017 -0700"
      },
      "message": "tools: Allow testing with javac on buildbot\n\nBy running these scripts with \u0027ANDROID_COMPILE_WITH_JACK\u003dfalse\u0027,\nthey will instead use javac/desugar/dx to compile the .java files.\n\nTest: art/tools/buildbot-build.sh \u0026\u0026 art/tools/run-jdwp-tests.sh --mode\u003dhost\nTest: art/tools/buildbot-build.sh \u0026\u0026 art/tools/run-libcore-tests.sh --mode\u003ddevice\nTest: art/tools/buildbot-build.sh \u0026\u0026 art/tools/run-libcore-tests.sh --mode\u003dhost\nBug: 36902714\nBug: 37461882\nChange-Id: I118d3ec2a3fa31bf85cdcef63d2772df26e07c5e\n"
    },
    {
      "commit": "12d5f3c2ffbef1b2dcf1863caff0c07751906a1e",
      "tree": "378582a70f3c2d65dc0cc3fabb6f3cb93e1ecfbf",
      "parents": [
        "1012fba454fe0d62d3a5a5ecf8ebd9cd4f2085a6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 12 15:30:12 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 12 15:30:12 2017 +0100"
      },
      "message": "Blacklist timing sensitive test.\n\nbug:62528691\nTest:  libcore.java.util.TimeZoneTest#testSetDefaultRace\nChange-Id: Icefa7928ce06e98e4807f0d775f20113168428c7\n"
    },
    {
      "commit": "d632b8b8a031cda163c6f9a6b4e33a192f123a0b",
      "tree": "3700f049994e44d8a865db8319b72c7a2a4cc613",
      "parents": [
        "934adc1dac48512abbd5107c2f951d1f4c0188d8",
        "3b7dc35f4e5c4d86c73b6784b7ee0df701c68ec2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 09 01:30:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 09 01:30:57 2017 +0000"
      },
      "message": "Merge changes I953d774b,Id84c44bf\n\n* changes:\n  ART: Clean up allocator.h\n  ART: Move CalleeSaveType to callee_save_type.h\n"
    },
    {
      "commit": "58de3f7394a86425fa80f69439e736cc16ef61c5",
      "tree": "2ddf1cc098080c14c9372e5fec460b597de395f0",
      "parents": [
        "83b140474aa1759739c8ee4464bf226c4fa0f6d7",
        "35dd8dc17e48f6530adc8f74a7b8e4d8eaa76931"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 08 22:38:04 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 08 22:38:06 2017 +0000"
      },
      "message": "Merge \"Documented serialization method in dexfuzz mutator class\""
    },
    {
      "commit": "35dd8dc17e48f6530adc8f74a7b8e4d8eaa76931",
      "tree": "cc05222f32977da9504d7a09aae88675cc0414f0",
      "parents": [
        "854461a4cd5e4a38debe3616e12b52fe7f160782"
      ],
      "author": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Thu Jun 08 09:30:55 2017 -0700"
      },
      "committer": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Thu Jun 08 13:43:48 2017 -0700"
      },
      "message": "Documented serialization method in dexfuzz mutator class\n\nThis  was done to explain why the getstring method and parse string\nmethods are used in the class.\n\nTest: skipped\nChange-Id: Ib48934f6e81023eebde713416d7fea019720e8ae\n"
    },
    {
      "commit": "8228cdf4ad6322ec8133564aaa51f966d36c0f17",
      "tree": "6d2f5cf4e742ad644ad30eb96a9f943c9ebcb34b",
      "parents": [
        "83b140474aa1759739c8ee4464bf226c4fa0f6d7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 30 15:03:54 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 08 13:13:15 2017 -0700"
      },
      "message": "ART: Move CalleeSaveType to callee_save_type.h\n\nMove the type out of runtime to decrease dependencies. Make it\na proper enum class. Fix up usage.\n\nTest: m test-art-host\nChange-Id: Id84c44bf3c59f37c8a43548e720c5fb65707b198\n"
    },
    {
      "commit": "0bb4031b976aeb2bad88db81115fea46b19878f0",
      "tree": "7762ab7eef86e27d8205866342357409cbb5341a",
      "parents": [
        "1656ca9e6996cb555b4463e5efd4bd7e3f4fb816"
      ],
      "author": {
        "name": "Bharadwaj Kalandhabhatta",
        "email": "bharadwajsk@google.com",
        "time": "Thu Jun 01 10:47:00 2017 -0700"
      },
      "committer": {
        "name": "Bharadwaj Kalandhabhatta",
        "email": "bharadwajsk@google.com",
        "time": "Fri Jun 02 10:26:56 2017 -0700"
      },
      "message": "Added DexFileAsanRegistrar and necessary additions\n\nThis class was made so that sections of dex files\ncan be easily poisoned to check accesses to those sections.\n\nIn order to enable logging of reads to poisoned sections,\nuse art/tools/add_package_property.sh along with package\nname on the device and art/tools/asan.sh.\n\nBug: 37754950\nTest: export ART_DEX_FILE_ACCESS_TRACKING\u003dtrue ; mm -j \u0026\u0026 mm -j\nSANITIZE_TARGET\u003daddress SANITIZE_LITE\u003dtrue test-art-host;\n\n(cherry picked from commit ecfa103caf2ccead029bd0e1bfcee02601a0c212)\n\nChange-Id: Ie57aa935b7f5f6854ba53d7740cc0d1547b40847\n"
    },
    {
      "commit": "7d9f425edf2e5abfd520986f48e2765a0868dd0a",
      "tree": "55a7399b859787403f1e032b611a889a99b3a7de",
      "parents": [
        "3e08ab5eb0e770fbfa6392b059e187ae6e1b804c"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Jun 01 15:54:24 2017 +0000"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Jun 01 15:54:24 2017 +0000"
      },
      "message": "Revert \"test\"\n\nThis reverts commit 3e08ab5eb0e770fbfa6392b059e187ae6e1b804c.\n\nOops. You had pressed autosubmit, something I failed to see.\n\nChange-Id: Ia6bfb0791d7d883c62b67a5b3483c1a19fcf0f71\n"
    },
    {
      "commit": "3e08ab5eb0e770fbfa6392b059e187ae6e1b804c",
      "tree": "8d308b719e1c0043665ba2b8b6a1ea36b02e56b2",
      "parents": [
        "854461a4cd5e4a38debe3616e12b52fe7f160782"
      ],
      "author": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Wed May 31 16:25:15 2017 -0700"
      },
      "committer": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Wed May 31 16:42:29 2017 -0700"
      },
      "message": "test\n\ni am changing the file back.\n\nTest: i did this as a part of my test.\n\nChange-Id: Iecbcde5f72530280c01df9d95fab72a8d74e27c9\n"
    },
    {
      "commit": "a4acabf6b1190e4d0a4e94a76d5db5972444348e",
      "tree": "181481476464c2ea4b799ad76758517012839933",
      "parents": [
        "1f51ec0e1a80c4146793d2f853c2c7408073fe7c"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri May 26 10:39:43 2017 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri May 26 10:39:43 2017 +0100"
      },
      "message": "Update ahat version number to 1.2.\n\nTest: m ahat-test\nTest: open heap dump and verify version number on overview page\nChange-Id: Ic1bd6dd55feea1cb1b725b257e4d88c82c12d0dd\n"
    },
    {
      "commit": "3ee4bff4eb293363b8fa5b263db55af59508efaf",
      "tree": "d7ab44338513d1699156c83fbc14a42c5aca6153",
      "parents": [
        "9b5b23555d9f82e98cabd75195eb95a1030fe1a6"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue May 16 13:31:01 2017 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu May 25 16:48:41 2017 +0100"
      },
      "message": "Show RegisteredNativeAllocation sizes in ahat.\n\nBug: 36459946\nTest: m ahat-test\nChange-Id: I45f6dc19cf1e339a80e0d93b6f4bc58a93e571c7\n"
    },
    {
      "commit": "4c0fe0240aaca472a045174d24b0846da33242d5",
      "tree": "5e317591877d2e0b7e804d4dfaea4f2976b10c2d",
      "parents": [
        "4668c6c8f9908e8f7db71ec8a6683005471f7861"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed May 24 14:28:32 2017 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed May 24 15:20:44 2017 +0100"
      },
      "message": "Don\u0027t show sizes with sample paths.\n\nBecause they clutter the sample path without adding much value.\n\nTest: Look at the page for an object in ahat.\nChange-Id: I722c3c99c98b39f5d620acf84c8ffa3cddb90df0\n"
    },
    {
      "commit": "889ab40f1f2377d7291ddf9527ad9327b6b9def3",
      "tree": "8aec98778ce87a067697401fdff3bee2601f0e62",
      "parents": [
        "bbd8d018c8dd06e853098726746d537bd993b034",
        "e952792fdfde0f5034a4c1bb6bd47c0043b25405"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue May 23 07:59:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 23 07:59:18 2017 +0000"
      },
      "message": "Merge \"ahat: better handle bitmaps without pixel info available.\""
    },
    {
      "commit": "e952792fdfde0f5034a4c1bb6bd47c0043b25405",
      "tree": "ddae4f31a67493f77f2b129baa895362f889e0d5",
      "parents": [
        "c8a5b6c38a4e934a7953b07cc12046b01c32ae5d"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon May 22 13:58:48 2017 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon May 22 16:17:04 2017 +0100"
      },
      "message": "ahat: better handle bitmaps without pixel info available.\n\nDon\u0027t print an exception nor show a broken link for bitmaps whose\npixel data is unavailable.\n\nBug: 30307315\nTest: m ahat-test\nTest: Open recent heap dump and view list of Bitmaps.\nChange-Id: I4dda48f192ce6d4613decf52bf1f5e5100cdd846\n"
    },
    {
      "commit": "c2d199beb9671874d36ae493687efd557c01f487",
      "tree": "1147aea5bf991a5046b540d5f087641483c6b25f",
      "parents": [
        "728411b540ebe9dae7f9da3e85dcd815c5bc62ea"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 22 16:05:06 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 22 16:05:06 2017 +0100"
      },
      "message": "Kill logd first thing.\n\nIn order to get it brought up when we update the buffer size.\n\nChange-Id: I816a7783f5b4f280046b1b51a96507530bbf82d6\n"
    },
    {
      "commit": "daacc5ed75cfa1de26c22d48efc82acb8245afef",
      "tree": "e07aed148283483af0fe752c574bbb77a1961a1f",
      "parents": [
        "6579b099786c8cac8fdb0c86d98ad4b232a52ea0"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue May 16 12:53:49 2017 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue May 16 12:54:42 2017 -0700"
      },
      "message": "Quiet run for nightly fuzzing (and some minor edits)\n\nRationale:\nMaking the output of nightly fuzzing test runs easier to read.\n\nChange-Id: I2219468574c9f5ece8c50965a1cda5e75000e6ed\nTest: nightly fuzzer\n"
    },
    {
      "commit": "34ed966ae7e232817dd70afb924518b7cb8fb6a9",
      "tree": "5f49eeac52491dc7325105d669aa456fad61dd4c",
      "parents": [
        "2ad1894b9d85fb8d5f431762515b2ffdb1e16ab5",
        "afdcbcb56d0c2f985d0291c369bbc493eedb05b0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 27 17:30:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 27 17:30:41 2017 +0000"
      },
      "message": "Merge \"Remove some hardcoded cases of kCardShift\""
    },
    {
      "commit": "afdcbcb56d0c2f985d0291c369bbc493eedb05b0",
      "tree": "236266aadd25eff5f37ca08e5295ae4b96065dcb",
      "parents": [
        "8d0f3aaf28358697ec812955cdf975ca6c6ff901"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 26 16:43:35 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 26 16:48:27 2017 -0700"
      },
      "message": "Remove some hardcoded cases of kCardShift\n\nAlso added cpp-define-generator to do this. This makes it easier to\nchange the GC card size.\n\nBug: 36457259\nTest: test-art-host\n\nChange-Id: I03b59f2bbb9b483280bea34575f5373ec6b15b98\n"
    },
    {
      "commit": "49cda06d5bf003f588ba7839bbf89d606237dfa7",
      "tree": "bc97607c6ae33a69ebdea2346c781f7ac238c9e3",
      "parents": [
        "aa03f6fa38da0166790f2b22b679e6568ad56f7d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 21 13:08:25 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 21 13:25:15 2017 +0100"
      },
      "message": "Rename and obsolete compiler filter names.\n\nART side of the change.\n\nbug:34715556\ntest: test-art-host, jdwp, libcore\nChange-Id: I3a73ae4af2d602431150c8ecfceaddb9ba519cee\n"
    },
    {
      "commit": "c3b208cd76f4afc85a3079aeb41287ab8c679b73",
      "tree": "4648e84d23841ce1cc99ef754431ac1a995b907d",
      "parents": [
        "75be07651183160526962ec057b0d108048cff7f"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Mar 27 11:35:54 2017 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Apr 19 11:21:54 2017 +0200"
      },
      "message": "Reduce timeout of JDWP tests\n\nThis CL sets the timeout of JDWP tests to 10s (instead of the default\ntimeout of 60s).\n\nThis should save up time for continuous testing (~ 3min on host).\nIndeed, some tests do wait until the timeout to detect that no reply\n(or no event) has been received.\n\nTest: art/tools/run-jdwp-tests.sh --mode\u003dhost --variant\u003dX64\nChange-Id: Id03c8a1d629e6da551cf8eb405cc79754a363fe0\n"
    },
    {
      "commit": "9d7baf474e15aa707090da4cc8934b8214b34577",
      "tree": "cf719001b9beee4567b09976e6ad0295aa7bda6e",
      "parents": [
        "4806f7afc92b1812cefaab291235d01773732400"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 19 09:01:29 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 19 09:01:29 2017 +0000"
      },
      "message": "Revert \"Invoke dex2oat explictly before dalvikvm\"\n\nFails on device with:\n07-13 04:35:49.410 24424 24424 F dex2oat : instruction_set_features.cc:58] static std::unique_ptr\u003cconst InstructionSetFeatures\u003e art::InstructionSetFeatures::FromVariant(art::InstructionSet, const std::string \u0026, std::string *) unimplemented None\n\n\nBug: 36824842\n\nThis reverts commit 4806f7afc92b1812cefaab291235d01773732400.\n\nChange-Id: I34a23fb69b0284e6d70ec0a54d5ada9e107ffeb7\n"
    },
    {
      "commit": "4806f7afc92b1812cefaab291235d01773732400",
      "tree": "fffd8712912a2e37a8981e85698d877dc1f8196b",
      "parents": [
        "4707af81bc10bda1c4320288246170e444c69942"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Apr 11 19:04:28 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Apr 18 14:10:44 2017 -0700"
      },
      "message": "Invoke dex2oat explictly before dalvikvm\n\nThe goal is to stop relying on dex2oat being run when dex files are\nloaded.\n\nTest: ./out/host/linux-x86/bin/art --profile -Ximage:$PWD/out/host/linux-x86/framework/core.art -Xusejit:true -Xcompiler-option --compiler-filter\u003dspeed -Xcompiler-option --compiler-backend\u003dOptimizing -verbose:oat -Djava.library.path\u003d$PWD/out/x86_64/host/linux-x86/lib64 -cp $PWD/generated/benchmarks.dex benchmarks.ExoPlayerBench.java.ExoPlayerBench\n\nBug: 36824842\nChange-Id: I9f4a1384cdc91502edea08402ee984c57ff8c37d\n"
    },
    {
      "commit": "8309d9b173b205bb9530dbd94e48731c20b8e4f4",
      "tree": "531e34bbe85889a43f590bc089e06b2c1f4ff421",
      "parents": [
        "06a0d47e46d162ba83551b254e82a9c69290a49e",
        "595838e1355841c00e45049d327467d64991e843"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 06 15:11:17 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 06 15:11:17 2017 +0000"
      },
      "message": "Merge \"Revert \"Blacklist libcore tests relying on libjavacoretests.\"\""
    },
    {
      "commit": "25732aec3d2e1b85216f731720df32733219ebd1",
      "tree": "c9140732e3cdf951fb11d32bdc2f23e14da15fc3",
      "parents": [
        "1a5a1e55276eb32747a8094937cb19040b193bb8",
        "9db22e8c0a5114a7f3a7250f37ae4c70714bd484"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Apr 04 00:50:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 04 00:50:11 2017 +0000"
      },
      "message": "Merge \"Dump profile logs after the last save\""
    },
    {
      "commit": "432fccc4c001fcd822f401aea1a4214b713bd896",
      "tree": "19a2b8b846e151b67f6a5cd216e51f15d130c2e9",
      "parents": [
        "1927f66beb916b028ef9d15d72dc3667c41e4a66",
        "c29da374e5860a4b58623b86442877d16c34484e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 03 19:52:18 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 03 19:52:19 2017 +0000"
      },
      "message": "Merge \"Add a cpplint preupload hook.\""
    },
    {
      "commit": "595838e1355841c00e45049d327467d64991e843",
      "tree": "dcbd8e16790afe4318fd3f58f214d593fe4f0a1b",
      "parents": [
        "aa4ee8d2e5351a8a52272fa3d073c2c5675f189d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 03 19:19:21 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 03 19:19:21 2017 +0000"
      },
      "message": "Revert \"Blacklist libcore tests relying on libjavacoretests.\"\n\nA workaround has been implemented.\n\nbug:35417197\n\nThis reverts commit aa4ee8d2e5351a8a52272fa3d073c2c5675f189d.\n\nChange-Id: Ib8b6c0bd279fb0052f49b1eb4565024e4c520f27\n"
    },
    {
      "commit": "c29da374e5860a4b58623b86442877d16c34484e",
      "tree": "fd41fa81707e9ff3dbdae4b4e5aa4d730d24a298",
      "parents": [
        "02311bd39d64b1417e8580c2a993620c2234254d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Mar 31 09:20:02 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Apr 03 17:24:43 2017 +0000"
      },
      "message": "Add a cpplint preupload hook.\n\nThis runs cpplint.py over modified .cc and .h files before uploading\nthem to gerrit. This generally takes ~1-2 seconds based on my testing\nand the longest one I\u0027ve been able to find was ~10 seconds.\n\nTest: PREUPLOAD_COMMIT\u003dd9911eeca ./tools/cpplint_presubmit.py\nTest: PREUPLOAD_COMMIT\u003d405284789 ./tools/cpplint_presubmit.py\nTest: PREUPLOAD_COMMIT\u003d9763f2eb7 ./tools/cpplint_presubmit.py\nTest: Manual\n\nBug: 35810246\nBug: 36855589\n\nChange-Id: Ie0ed9136bdde15d78f2aa40c73fef97e12d12dda\n"
    },
    {
      "commit": "7aa1958645351e6d28730096a6beeb5e3dae1110",
      "tree": "04c8da32787be34825882a208c29a7487d670ca8",
      "parents": [
        "5b92c48f99391ae764e1699a22881f9d5cbce721"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Apr 02 21:03:33 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Apr 02 21:03:33 2017 +0100"
      },
      "message": "Kill logd in buildbot-setup.sh.\n\nThe daemon seems to leak on fugu with Android N.\n\nChange-Id: I07202c0a6ce644e313c310e0592e3e0d58d158a0\n"
    },
    {
      "commit": "9db22e8c0a5114a7f3a7250f37ae4c70714bd484",
      "tree": "5edfd56edc5ff0e7a5464a5ce7d0d19b945f8956",
      "parents": [
        "dac3f7d74df39ded5bf95f92ef6fd5edc9423190"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Mar 30 16:31:23 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Mar 30 16:36:44 2017 -0700"
      },
      "message": "Dump profile logs after the last save\n\nThe DumpInfo statement did not capture the last profile save.\n\nAlso, update -Xps-min-methods-to-save and -Xps-min-classes-to-save in\nthe art script. A value of 0 will attempt to write the profile even if\nno method has been profiles and that\u0027s useless.\n\nTest: ./out/host/linux-x86/bin/art --profile --64 -Ximage:$PWD/out/host/linux-x86/framework/core.art -Xusejit:true -Xcompiler-option --compiler-filter\u003dspeed-profile -Xcompiler-option --compiler-backend\u003dOptimizing -verbose:oat -Djava.library.path\u003d$PWD/out/x86_64/host/linux-x86/lib64 -cp $PWD/generated/benchmarks.dex benchmarks.ExoPlayerBench.java.ExoPlayerBench\n\nChange-Id: I5927ab87d7c134c271fbc252e62fdc03ab02a255\n"
    },
    {
      "commit": "9763f2eb7647a7451c5223fcca03aff64af88604",
      "tree": "3fa5f9d540330404f5609f7e0fc0db37f4642a66",
      "parents": [
        "b68e12c7d9e06e3b7f627bff097dba93d7b60bb4"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Mar 28 08:27:23 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Mar 30 10:32:48 2017 +0100"
      },
      "message": "Revert^2 \"Improve user-friendliness of art script.\"\n\nFixes quoting for mksh for arguments with whitespace.\n\nTest: art/tools/run-jdwp-tests.sh --mode\u003ddevice\nChange-Id: I0b8983a0c0ebcc1b64ad943859fbb85d3774ab75\n"
    },
    {
      "commit": "64f45cb014945e982de7ed9eae8189eaebfe94a3",
      "tree": "e03409655343a8f7825f21f73635d65d3bb7912e",
      "parents": [
        "ae60e48f1077a2221549c733623c25f79733caf0"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Mar 16 19:58:26 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Mar 28 12:38:34 2017 -0700"
      },
      "message": "Add --profile mode to the art script\n\n--profile will run dalvikmvm twice. The first run records the profile by\nreplacing the compiler filter with interpret-only and enabling profile\nsaving. The second run will pass the recorded profile to dex2oat using\n\u0027-Xcompiler-option --profile-file\u003d...\u0027.\n\nTest: ./out/host/linux-x86/bin/art --profile --64 -Ximage:$PWD/out/host/linux-x86/framework/core.art -Xusejit:true -Xcompiler-option --compiler-filter\u003dspeed -Xcompiler-option --compiler-backend\u003dOptimizing -verbose:oat -Djava.library.path\u003d$PWD/out/x86_64/host/linux-x86/lib64 -cp $PWD/generated/benchmarks.dex benchmarks.ExoPlayerBench.java.ExoPlayerBench\n\nBug: 36032648\nChange-Id: I2dbcae43dd2972273511df9e01ebcbdfb1d84372\n"
    },
    {
      "commit": "f26f6fd0db3a75a8d6764be2458c4ef109baefd3",
      "tree": "f81c1ace3d3ca5eab60041a5851c5392b1ff5434",
      "parents": [
        "0bbb750f6ff9a52bc4649995fc78ebea87e31dd1"
      ],
      "author": {
        "name": "Joachim Sauer",
        "email": "jsauer@google.com",
        "time": "Fri Mar 24 15:15:28 2017 +0000"
      },
      "committer": {
        "name": "Joachim Sauer",
        "email": "jsauer@google.com",
        "time": "Fri Mar 24 15:17:01 2017 +0000"
      },
      "message": "Remove TimeZoneTest.testAllDisplayNames() failure\n\nThe test is being removed.\n\nBug: 22786792\nTest: m checkbuild\nChange-Id: Ie96a4088985b39bd15ea506830a394da79d5f624\n"
    },
    {
      "commit": "2553887b8dd264497a8589ddddad9d5f8260b0a2",
      "tree": "97e0af8f37214c39534cb76dbb3e3b9c6fc2b96c",
      "parents": [
        "01ea2aa05d6889b4ec08679606d3cdf36b302a8f"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Feb 28 16:38:58 2017 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 13 12:06:00 2017 -0700"
      },
      "message": "tools: Add golem/build-target and golem/env scripts.\n\nRefactor the golem build logic back into the art directory.\n\nUsage example:\n\n  # set environment variables to build art-opt-cc\n  # creates android-armv8.tar.gz, which contains\n  # \u0027dalvikvm\u0027 and its libraries that can be used in\n  # golem\n  art/tools/golem/build-target.sh -j32 --showcommands \\\n     --machine-type\u003dandroid-armv8 --golem\u003dart-opt-cc \\\n     --tarball\u003dandroid-armv8.tar.gz\n  # (drop the --golem to build with your own lunch combo)\n\nThe intent here is to move the logic of building the ART binaries\nback into ART directory. This makes it easier to keep the two in sync,\nand makes it easier for us to change it later to run from a\nregular master build instead of a special golem-only master-art build.\n\nBug: 35766356\nChange-Id: I9c9d7f522da3f850bc841d4c1f6e42c3055b8746\n"
    },
    {
      "commit": "3a791cee90451dc32d46f1b0a85fecc6f22f62bf",
      "tree": "821a53e5737e341a8e52723bf4edd2598d47f456",
      "parents": [
        "b7b043a6ee90b8cc35758559b9ae27463d19f5f9",
        "2aab06beaf4b65ccc7511964bf555f7e169f8374"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 03 12:30:17 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 03 12:30:18 2017 +0000"
      },
      "message": "Merge \"Fix date on devices in setup-buildbot-device.sh.\""
    },
    {
      "commit": "2aab06beaf4b65ccc7511964bf555f7e169f8374",
      "tree": "0e39e1f980b2a8655e2a2558b5dacc723f8ec63c",
      "parents": [
        "69dcdead8a6271587e0686798a26f95e92629fc1"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Mar 01 14:14:10 2017 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Mar 01 14:35:59 2017 +0000"
      },
      "message": "Fix date on devices in setup-buildbot-device.sh.\n\nUpdate date on device if the difference with host is more than one hour.\n\nTest: Set a bogus date on device, then run setup-buildbot-device.sh.\nChange-Id: I9f5a3acdf699c1d04c838c8b156f59bf0f2c5550\n"
    },
    {
      "commit": "aa4ee8d2e5351a8a52272fa3d073c2c5675f189d",
      "tree": "767f21a11c76a40047b5b0b0cd77b91f4eaaa5a5",
      "parents": [
        "15c4ee19ed0cffc562c50d4dfb765de36198c14a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 28 23:12:49 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 28 23:12:49 2017 +0000"
      },
      "message": "Blacklist libcore tests relying on libjavacoretests.\n\nThe new linker behavior breaks them.\n\nbug:35417197\nChange-Id: I914d385e386397fedf9b106797b3c06a898879f7\n"
    },
    {
      "commit": "240f32428c693eea6b934db31a863a0cd39c3055",
      "tree": "2ac38f922b8959cffdd829cbf4d3cb984a803826",
      "parents": [
        "3254104ced4b3dea31274fb2633a61c189ecf056",
        "fe1f73694bffbde98c7065b9b3d5565ee34ff934"
      ],
      "author": {
        "name": "Adam Vartanian",
        "email": "flooey@google.com",
        "time": "Wed Feb 22 12:22:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 22 12:22:32 2017 +0000"
      },
      "message": "Merge \"Remove suppression of fixed test.\""
    },
    {
      "commit": "fe1f73694bffbde98c7065b9b3d5565ee34ff934",
      "tree": "327e0e2430ce1edb945a87b93e2170f11277c1be",
      "parents": [
        "30e015c442c8033390c30d2f293604723c29bc75"
      ],
      "author": {
        "name": "Adam Vartanian",
        "email": "flooey@google.com",
        "time": "Tue Feb 21 15:37:50 2017 +0000"
      },
      "committer": {
        "name": "Adam Vartanian",
        "email": "flooey@google.com",
        "time": "Tue Feb 21 15:37:50 2017 +0000"
      },
      "message": "Remove suppression of fixed test.\n\nTest: vogar org.apache.harmony.security.tests.java.security.Signature2Test\nTest: cts -m CtsLibcoreTestCases -t org.apache...Signature2Test\nChange-Id: I9cac0198a783fb3f2c630390102127a75c6f33a1\n"
    },
    {
      "commit": "cad217cd109da1c3a89893534ecec5e33d136bde",
      "tree": "81b1d12bf1331df298e1e3e6acb6b9202f10af72",
      "parents": [
        "30e015c442c8033390c30d2f293604723c29bc75"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Feb 21 15:00:04 2017 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Feb 21 15:00:04 2017 +0000"
      },
      "message": "ahat: update README and manifest for release 1.1\n\nTest: m ahat-test, verify version shown in overview page is 1.1\nChange-Id: Ib15c43d9c42a34e24d74afae0cb6481452962bb8\n"
    },
    {
      "commit": "e78fc52ca379493801c749a44093f72906abe1e6",
      "tree": "4f9747104cecb3168d76dca201e739a4b4eeefd6",
      "parents": [
        "89bed6d6fcd687cfedd10c14927c104eddf99c7f",
        "f219661608f6dd2c1ee3039b5bd027abdd16f235"
      ],
      "author": {
        "name": "Adam Vartanian",
        "email": "flooey@google.com",
        "time": "Tue Feb 21 12:26:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 21 12:26:37 2017 +0000"
      },
      "message": "Merge \"Add script to find warnings shared across buildbot history.\""
    },
    {
      "commit": "89bed6d6fcd687cfedd10c14927c104eddf99c7f",
      "tree": "c044cdb91c15a4827cb1a15a6b35cd6b7ef9e37b",
      "parents": [
        "8ca86eae1f6030782b2646b5b5b0976e06227233",
        "d640e29f9dad93f51e74026327dd53bb5a30eb33"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Feb 21 10:54:51 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 21 10:54:52 2017 +0000"
      },
      "message": "Merge changes Ic39b6d55,Id9a392ac,I1a6b05ea\n\n* changes:\n  Show unreachable objects in ahat.\n  ahat: add support for diffing two heap dumps.\n  Refactor ahat\u0027s perflib api.\n"
    },
    {
      "commit": "d640e29f9dad93f51e74026327dd53bb5a30eb33",
      "tree": "07aa0fe0cc35955936c06cb6b9ec6885bac239af",
      "parents": [
        "f629cfdbf6da3409aff177352e9ff41209b4570c"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Dec 28 15:46:03 2016 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Feb 20 13:33:41 2017 +0000"
      },
      "message": "Show unreachable objects in ahat.\n\nBut don\u0027t count them against heap size or instance counts.\n\nBug: 33828707\nTest: ahat tests, including new InstanceTest.unreachableReferent.\nChange-Id: Ic39b6d5569159497dcc76c342e22ed99d2a71307\n"
    },
    {
      "commit": "f629cfdbf6da3409aff177352e9ff41209b4570c",
      "tree": "e59e58924de62f4ff9906a95691f259e94b7fd09",
      "parents": [
        "cda4f2e72f569e0a0d6119c1c75284fd44df79ab"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Dec 12 13:11:26 2016 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Feb 20 13:33:40 2017 +0000"
      },
      "message": "ahat: add support for diffing two heap dumps.\n\nahat now has the option to specify a --baseline hprof file to use as\nthe basis for comparing two heap dumps. When a baseline hprof file is\nprovided, ahat will highlight how the heap dump has changed relative\nto the hprof file.\n\nDifferences that are highlighted include:\n* overall heap sizes\n* total bytes and number of allocations by type\n* new and deleted instances of a given type\n* retained sizes of objects\n* instance fields, static fields, and array elements of modified objects\n\nAlso:\n* Remove support for showing NativeAllocations, because I haven\u0027t ever\n  found it to be useful, it is not obvious what a \"native\" allocation\n  is, and I don\u0027t feel like adding diff support for them.\n* Remove help page. Because it is outdated, not well maintained, and\n  not very helpful in the first place.\n\nTest: m ahat-test\nTest: Run in diff mode for tests and added new tests for diff.\nTest: Manually run with and without diff mode on heap dumps from system server.\nBug: 33770653\nChange-Id: Id9a392ac75588200e716bbc3edbae6e9cd97c26b\n"
    },
    {
      "commit": "cda4f2e72f569e0a0d6119c1c75284fd44df79ab",
      "tree": "1b02caaa7cd270912ecd8cd64205f1c70acfe648",
      "parents": [
        "69ed58348af817176734c5541f41737f00f9a1e9"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Sep 09 09:56:20 2016 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Feb 20 12:56:38 2017 +0000"
      },
      "message": "Refactor ahat\u0027s perflib api.\n\nThis change substantially refactors how ahat accesses heap dump data.\nRather than use the perflib API directly with some additional\ninformation accessed on the side via AhatSnapshot, we introduce an\nentirely new API for accessing all the information we need from a heap\ndump. Perflib is used when processing the heap dump to populate the\ninformation initially, but afterwards all views and handlers go\nthrough the new com.android.ahat.heapdump API.\n\nThe primary motivation for this change is to facilitate adding support\nfor diffing two heap dumps to ahat. The new API provides flexibility\nthat will make it easier to form links between objects in different\nsnapshots and introduce place holder objects to show when there is an\nobject in another snapshot that has no corresponding object in this\nsnapshot.\n\nA large number of test cases were added to cover missing cases\ndiscovered in the process of refactoring ahat\u0027s perflib API.\n\nThe external user-facing UI may have minor cosmetic changes, but\notherwise is unchanged.\n\nTest: m ahat-test, with many new tests added.\nBug: 33770653\n\nChange-Id: I1a6b05ea469ebbbac67d99129dd9faa457b4d17e\n"
    }
  ],
  "next": "f219661608f6dd2c1ee3039b5bd027abdd16f235"
}
