)]}'
{
  "log": [
    {
      "commit": "9bbecd08cccaae45cee9d87e72faeacb6b9ffe5b",
      "tree": "ef5134ec07aec16cdd22685ce4d9f8d1ce8a1c1a",
      "parents": [
        "f912a1fcb7838eef1963d429585f852d56ae94fb"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Wed Aug 11 15:59:22 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 23 18:47:01 2021 +0000"
      },
      "message": "Suppress OptionalOfRedundantMethod error\n\nErrorprone is being updated from 2.7.1 -\u003e 2.8.1, which\nadds a OptionalOfRedundantMethod check, which has default\nseverity level ERROR.\n\nSuppress it here as it\u0027s part of a test of Optional.\n\nBug: 190944875\nTest: Patch aosp/1792988, then `m RUN_ERROR_PRONE\u003dtrue javac-check`\nChange-Id: I8a7152be0e2ac24eda5d377ef5cfef102487a5dc\n"
    },
    {
      "commit": "51d771db35cc0647bc1fd2a32ed6348d181a7a41",
      "tree": "416ec79e04429659505ce8955c12a65cc6460683",
      "parents": [
        "0b986f73e018fe55af1d71d2f8deaa61bd6840a2"
      ],
      "author": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Thu Jan 14 16:45:49 2021 +0000"
      },
      "committer": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Thu Jan 21 21:24:56 2021 +0000"
      },
      "message": "Update test expectations for new core-oj API\n\ntoSeconds() methods was renamed to toBigDecimalSeconds(). This CL\nupdates test expectations for 993-breakpoints.\n\nBug: 160356973\nTest: art/test.py -b --host -r -t 993-breakpoints\nChange-Id: Id411ceef3a052b3d9cbc5734085bf9e105e31518\n"
    },
    {
      "commit": "2b8d3c8060c20ea96efbbaf9d86eb7f28284dbd6",
      "tree": "5cdbcd718195c9641349f59c93b82dcc77faca89",
      "parents": [
        "8f2eb25ca40136a36a5d7002c8ca5a05723e334e"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 03 11:52:40 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 06 17:42:51 2020 +0000"
      },
      "message": "Avoid using hidden-api when running in CTS\n\nSome JVMTI tests attempt to call hiddenapis. This is generally fine on\nhost but can cause problems when run on CTS. Update the tests to avoid\nthis.\n\nTest: treehugger\nTest: atest CtsJvmtiRunTest993HostTestCases\nTest: atest CtsJvmtiRunTest931HostTestCases\nBug: 172263916\nBug: 172313849\nBug: 172313193\nBug: 172351915\nChange-Id: I0feaa9565719438e37877c34e971a5a8b5ba3f33\n"
    },
    {
      "commit": "23ca8fbcb23fb1eb95d192995a35f4fed53bffbd",
      "tree": "106272f910aad65faec278234555efeba27464b0",
      "parents": [
        "d4f8afb4d8bc7bb5cbaf217c2f0734b880b62689"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri May 10 11:27:02 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 14 16:39:25 2019 +0000"
      },
      "message": "Centralize all the jvmti common test classes\n\nWe share many common JVMTI test classes between our various JVMTI\ntests. We have always shared them by simply copying the .java files to\nany tests that need them. This leads to very large code-reviews and\nrequires manual work if we ever need to update any of the helper\nfiles.\n\nTo ensure everything stays in sync this moves all classes to a single\ntest/ti-common directory that tests then contain symlinks into.\n\nTest: ./test.py --host\nChange-Id: I82238a63d281429196ed0e640e4a9ec3234d954c\n"
    },
    {
      "commit": "400a3aa617bf4feb64aa6a16838d191cfb67a7fb",
      "tree": "057b5e3866e1611cf3ebfea4fd756a3fa1e28aa6",
      "parents": [
        "db8d9091bbab41060584ab80882b60df20337da7"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Feb 13 10:37:19 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Feb 13 19:17:47 2018 +0000"
      },
      "message": "Ensure that all Breakpoint.java files are identical for CTS\n\nThese files all need to be identical in order for us to use these\ntests with CTS. Fix the single difference between them.\n\nTest: for i in `find . -name \"Breakpoint.java\" -type f`; do\n        diff $i test/993-breakpoints/src/art/Breakpoint.java;\n      done\nBug: 73252141\nChange-Id: I9d6e395dae3ff8f196b0dfc310810db8486068be\n"
    },
    {
      "commit": "0fa1786bdcc333873ed65a1f77a4669d5701ac5e",
      "tree": "3ee1a5ead68150d60c0a72efa4c85b7db5b3e689",
      "parents": [
        "0d2b2ad6cd9ca650d7a3f85a42afaf518cbfa4e0"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 24 13:43:05 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 30 09:43:57 2017 -0700"
      },
      "message": "Avoid JVMTI global deoptimization when possible\n\nThis changes the openjdkjvmti plugin to be more controlled about the\nsituations that it will deoptimize everything. Most notably this makes\nthe plugin deoptimize only individual methods for breakpoints instead\nof doing a full deoptimization. It also doesn\u0027t deoptimize for the\nJVMTI_EVENT_EXCEPTION method, since our throwing code will always send\nthe appropriate event.\n\nImpact:\n    Exoplayer benchmark with breakpointlogger setting a breakpoint on\n    a method that is never called.\n\n    The agent is the tools/breakpoint-logger agent.\n\n    \u0027art\u0027 options are for all runs were:\n        --64\n        -Xusejit:true\n        -Xcompiler-option --debuggable\n    \u0027art\u0027 options for \u0027Pre change\u0027 and \u0027Post change\u0027 runs included:\n        -Xplugin:libopenjdkjvmti.so\n        \u0027-agentpath:libbreakpointlogger.so\u003dLbenchmarks/common/java/BenchmarkBase;-\u003erun()V@0\u0027\n\n    Clean run (no agent loaded):\n        Running FMP4 x 1 : 53\n        Running TS x 1 : 144\n        Running FMP4 x 2500 : 3309\n        Running TS x 100 : 3584\n        ExoPlayerBench(RunTime): 6977000.0 us.\n    Pre change:\n        Running FMP4 x 1 : 159\n        Running TS x 1 : 9395\n        Running FMP4 x 2500 : 298591\n        Running TS x 100 : 944447\n        ExoPlayerBench(RunTime): 1.243226E9 us.\n    Post change:\n        Running FMP4 x 1 : 87\n        Running TS x 1 : 495\n        Running FMP4 x 2500 : 2939\n        Running TS x 100 : 3947\n        ExoPlayerBench(RunTime): 6979000.0 us.\n\n    Post change vs clean run is well within margin of error for this\n    benchmark.\n\nTest: ./test.py --host -j50\nTest: ./art/tools/run-prebuild-libjdwp-tests.sh\n\nBug: 62821960\nBug: 67958496\n\nChange-Id: I63ef04f71c36c34d8534651d0c075921a836ec08\n"
    },
    {
      "commit": "c38c3699b8d91c837c0e590a618aeb4860eed5cc",
      "tree": "83e300a8f9b4c065e5467f5473e25bb2451481cc",
      "parents": [
        "a26e349b960a7b4c49929a5c4bcaff56e79fbe73"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 27 15:45:14 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 28 13:48:19 2017 -0700"
      },
      "message": "Add JVMTI breakpoint and SingleStep tests\n\nTests for functionality related to the can_generate_single_step_events\nand can_generate_breakpoint_events jvmti capabilities.\n\nBug: 62821960\nTest: ./test.py --host -j40\nTest: ./test/run-test --host --jvmti-step-stress 001-HelloWorld\nTest: ./test/run-test --host --jvmti-step-stress 914\nChange-Id: Id2a4db5a6de3a97726f03f5e735c2bb77dafe4ca\n"
    }
  ]
}
