)]}'
{
  "log": [
    {
      "commit": "e059238fbc2ca3806d20895bd87d1e3ebfe0d4ee",
      "tree": "7b8c44040a65b8d387319725d7392cd01acd64ca",
      "parents": [
        "427766c709b762f01f2bb92143bf33ece1c88290"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Nov 30 14:08:03 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Nov 30 14:57:43 2018 -0800"
      },
      "message": "Make test 924 more consistent.\n\nTest 924 was flaking due to relying on timing between threads and\nshort time windows. This lengthens the time windows and tries to test\nfor the desired state more directly\n\nTest: stress --cpu 100 \u0026;\n      while ./test/run-test --host 924; do; done\nBug: 62117833\n\nChange-Id: I5119255afbd793ae92358250281b77c783381b2d\n"
    },
    {
      "commit": "5573c37e795668eca81a8488078f798d977685c3",
      "tree": "5e7675d6c1ca9ed1c31834e52282bfb9f73dc2a4",
      "parents": [
        "1598a77ca3559c8a59902f26ee887504b8159859"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Nov 16 13:34:30 2017 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Nov 16 14:42:49 2017 -0800"
      },
      "message": "cpplint: Remove many unnecessary NOLINT\n\nNow that we updated to upstream cpplint, a lot of these NOLINTs are no\nlonger necessary.\n\nBug: 68951293\nChange-Id: If8ed5ffe89727f313f907a214b6d8fd2a2eddbad\n"
    },
    {
      "commit": "2ffb703bf431d74326c88266b4ddaf225eb3c6ad",
      "tree": "0552c3c76a42b18f9e7460d501fb71a6dc2e7f33",
      "parents": [
        "c4b6f3116f15c8e4fdf2e4f604ababdee12d8923"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Nov 08 13:35:21 2017 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Nov 08 15:15:52 2017 -0800"
      },
      "message": "cpplint: Cleanup errors\n\nCleanup errors from upstream cpplint in preparation\nfor moving art\u0027s cpplint fork to upstream tip-of-tree cpplint.\n\nTest: cd art \u0026\u0026 mm\nBug: 68951293\nChange-Id: I15faed4594cbcb8399850f8bdee39d42c0c5b956\n"
    },
    {
      "commit": "597adad749499bc2da85851273e7623f6b249d1e",
      "tree": "bfffea7ce878acb28bc53ac7e8e72325103e97cd",
      "parents": [
        "445e0ec3724b7f4f36bbd218f67a2c9bfbea7669"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 16 16:11:42 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 17 10:29:22 2017 -0700"
      },
      "message": "Fix GetThreadState with threads in kNative.\n\nWe were always returning JVMTI_THREAD_STATE_WAITING for threads in the\nkNative state. To prevent any similar problems from happening in the\nfuture we changed it so all thread-states are explicitly enumerated\nand handled in a switch statement.\n\nTest: ./test.py --host -j50\nBug: 67784165\nChange-Id: I6646b36aa36cb4671bf95777aefc5c88b659e90f\n"
    },
    {
      "commit": "ba461c3c5b588b0b65d3cc99aa12fe46a673962c",
      "tree": "c21c70e45fd0426a0a284d2801f1668ee47e44a9",
      "parents": [
        "0ac2e5c1013cb41d73aa87c885fd99d4e5eb7d11"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Sep 22 14:19:18 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Sep 22 14:19:18 2017 -0700"
      },
      "message": "Ensure GetThreadState works with Thread subtypes\n\nWe were incorrectly assuming that Thread has no subclasses. This is\nnot accurate.\n\nBug: 66704836\nTest: ./test.py --host -j50\nChange-Id: I4abd85b6c4e6add6d62854adb4f8912777292315\n"
    },
    {
      "commit": "ed3a357e6b28dbc00a60b72af8bb846775348172",
      "tree": "ee94b390cabe28db2bc13f5e6d900a666e39d8a4",
      "parents": [
        "e8f48da635c4d07bbe431e5819da8e1fad91a8ef"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 20 11:42:12 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 20 22:04:36 2017 +0000"
      },
      "message": "Make test 924 less flaky.\n\nGetThreadState on threads blocked on monitors can be affected by GC\nand other internals. This is because internal suspension of threads\nmarks them as Runnable. To make this test not observe this as much we\nmake it call GetThreadState multiple times and use the most common\nresult as the threads current state.\n\nBug: 62117833\nBug: 63903050\nTest: stress --cpu 64 \u0026\n      while ./test/run-test --host 924; do ; done\n\nChange-Id: Iaa38cb58386416a72a6bb3c26ed90f4b8b623d1b\n"
    },
    {
      "commit": "21b0c29e6a7e5a9d2d31db27aea2fa8615d56f3b",
      "tree": "c3ef02e266924d482825e7bf07e95b7638c396d6",
      "parents": [
        "5df5acf4dc296d22a868a7c5010a7f5cf2350539"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Apr 20 16:55:25 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Apr 24 08:51:03 2017 -0700"
      },
      "message": "Remove unneeded shims and jni binding code\n\nBug: 37522517\nTest: ./test/testrunner/testrunner.py --host -j40\nChange-Id: I8670ab1bbf4b906c47d4edb2ad7349f9505da94a\n"
    },
    {
      "commit": "447c1af5187ea23b8bd045a84fd332dd6a284fe0",
      "tree": "630c84dbae2a199ae15e67febeb7b8c0a2613d9d",
      "parents": [
        "741a81af441cbcb7255229bf250bc009d2894e92"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Apr 12 08:42:16 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 18 16:17:58 2017 -0700"
      },
      "message": "ART: Refactor run-test 924\n\nMove testing to a dedicated thread to have a known thread name.\nChange event reporting to be Java-side. Use Java-side thread list\n(from Thread.getAllStackTraces) as comparison for minimal expected\nset of threads.\n\nBug: 32072923\nTest: art/test/testrunner/testrunner.py -b --host -t 924\nChange-Id: I238ffc202e42eea8d1788137715188d3dfbcc8fb\n"
    },
    {
      "commit": "3ea3d5ca4420c98a3de51f638d3222c6696bc3e6",
      "tree": "310a5616d5d0ed2571dca8ddf0505db8ea8112e5",
      "parents": [
        "a8380240c8c9752c8b43926f677adcac11c2f52f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 07 09:36:06 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 07 09:47:24 2017 -0700"
      },
      "message": "ART: More refactor for JVMTI run tests (3/3)\n\nAdd missing Main classes.\n\nBug: 32072923\nTest: m test-art-host\nChange-Id: I600dd5563e44604bd7b61c7d381f0a7d92db278a\n"
    },
    {
      "commit": "a8380240c8c9752c8b43926f677adcac11c2f52f",
      "tree": "29aab241dbc797839e327cffcd0b762df7282221",
      "parents": [
        "4665167ddc34008dfa78a2873685fe7a98772eab"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 07 09:18:45 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 07 09:46:32 2017 -0700"
      },
      "message": "ART: More refactor for JVMTI run tests (2/3)\n\nMove refactored tests into their final places. Add a host java\nlibrary that includes those test files.\n\nThis is a follow-up to CL I740731c3af793521c5a859ef4a1f0ae94d2e1c19\nand must be used together with it.\n\nBug: 32072923\nTest: None\nChange-Id: I20b6070eb6bdd4b7a0bf42046302bafa10eee54f\n"
    },
    {
      "commit": "4665167ddc34008dfa78a2873685fe7a98772eab",
      "tree": "9af21169db0e6de2496b2946861436a9ecaf72e3",
      "parents": [
        "2bbf16da51c6a61da8ccd3c8d4d8382f6bbc9623"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 07 09:00:04 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 07 09:44:55 2017 -0700"
      },
      "message": "ART: More refactor for JVMTI run tests (1/3)\n\nPut (most) tests into a new package and give them dedicated\nclass names (Test9XY).\n\nNOTE: BROKEN WITHOUT A FOLLOW-UP CL TO CHANGE DIRECTORY STRUCTURE\n      AND FILE NAMES!\n\nBug: 32072923\nTest: None\nChange-Id: I291b0543f7782914e446a74f0d9037020c88e5b5\n"
    },
    {
      "commit": "2bbf16da51c6a61da8ccd3c8d4d8382f6bbc9623",
      "tree": "ff8c0e57713c76b72885f352511c512831bddc86",
      "parents": [
        "672082ab6edf7c12a1d7b1d9303aa0aa4fcce089"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 07 09:28:48 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 07 09:32:09 2017 -0700"
      },
      "message": "ART: Add JVMTI test shim\n\nAdd shim to expose basic native binding methods.\n\nBug: 32072923\nTest: m test-art-host\nChange-Id: Ifcb9e3f66fce8002dd7d5ecb4de1729ab8939d0d\n"
    },
    {
      "commit": "027444b64dd52e1d2beea7aa525fbb8146a516bc",
      "tree": "ae746f4ee59787cae3f38e8f1c3c72e81e6fa693",
      "parents": [
        "5b92c48f99391ae764e1699a22881f9d5cbce721"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 31 12:49:07 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 31 19:44:26 2017 -0700"
      },
      "message": "ART: TI Agent test library refactor\n\nMore refactoring, lowering the reliance on ART-provided functionality\nand adding a library that includes all the code that can run without\nART.\n\nBug: 32072923\nTest: m test-art-host\nChange-Id: I67d84056a6fd7722c58855fccbdea3f6869b2efb\n"
    },
    {
      "commit": "3f46c96568bef650ba6d9ce6ac8835d30877f243",
      "tree": "86b0e0d10999dd4c7b525b1e4e2db3ab1703cbe0",
      "parents": [
        "02311bd39d64b1417e8580c2a993620c2234254d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 30 10:26:59 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 30 16:58:56 2017 -0700"
      },
      "message": "ART: Refactor JVMTI run tests\n\nIn preparation for code deduplication with CTS.\n\nBug: 32072923\nTest: m\nChange-Id: Ibbe005c94252bd29eae7f88aad301b0b20ddb80d\n"
    },
    {
      "commit": "db6c2ab29ef6ebe89c9ea43dae3b899a935fa74e",
      "tree": "0adb8cd725bc82f7aade936a804b25a21c7927f9",
      "parents": [
        "bf57b2b7eeec03dd5c0afd772e1f2e742cdb3cc0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 28 17:28:32 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 28 17:28:32 2017 -0700"
      },
      "message": "ART: Fix GetThreadInfo\n\nFix the retrieval of the context classloader. Make sure to have\nthe field from the Thread class, don\u0027t look into a subclass.\n\nAdd caching for the field. Also fix the usage restriction of the\nfunction, which is only valid during the Live phase.\n\nBug: 36654185\nTest: ./test.py --host -r -t 924\nChange-Id: I5cce41b31c32e59c80bb7c3afa03e8b0975ec54e\n"
    },
    {
      "commit": "5e03a305edafb49a34b436d9a858281e53d390f2",
      "tree": "97b34d7eb5ab9b1408325c7d8f9085c9f6f6cf67",
      "parents": [
        "fbe1516b91f2117bb9c7282aaea5537572f62dd7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 13 13:10:00 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 14 08:18:08 2017 -0700"
      },
      "message": "ART: Refactor libopenjdkjvmti\n\nMove jvmti.h to its own folder and fix up include setup.\n\nBug: 31455788\nTest: m\nChange-Id: I5beb66fc5d0178746216f61f9214cda54fc2c7ac\n"
    },
    {
      "commit": "d59695c324f949115a609948a893ef8a9bdbca9f",
      "tree": "50af6ec60ac94551ce21ed10d04f079aec96d315",
      "parents": [
        "41d82634a7a90559c9d47ba1baa9a1ea0a3d314a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 09 10:21:58 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 09 10:21:58 2017 -0800"
      },
      "message": "ART: Make test 924 more robust\n\nTo avoid rare scheduling issues, add a loop checking the Java-side\nThread state.\n\nBug: 35987799\nTest: m test-art-host-run-test-924-threads\nChange-Id: I0433d6f09684579ca1c03d335674a8013da05034\n"
    },
    {
      "commit": "e4893eecf908b769e4e4148dc926c592dafc6533",
      "tree": "0cb8aafcb739da7b752952e42f3902aed8704e6e",
      "parents": [
        "2811b6ea22f89034bf15d5968441a6d650abf920"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Feb 09 15:28:53 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Feb 14 13:43:15 2017 -0800"
      },
      "message": "Remove unneeded build files\n\nAlso make run-test default to assuming java8 language source.\n\nTest: mma -j40 test-art-host\nTest: ./test/run-test --host --build-with-javac-dx 001-HelloWorld\nChange-Id: Id10b0539d919802985a373b1720534735c32434b\n"
    },
    {
      "commit": "4471e4f7c5874bdaf93762b6047d4a4bebc465df",
      "tree": "b4fb94ac604334a59046db0acc5ee6c6360c311b",
      "parents": [
        "b78a8af993e877d74c5938f65f95feaf2fa01321"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jan 30 16:40:49 2017 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Feb 03 15:10:38 2017 -0800"
      },
      "message": "Revert \"Revert \"ART: Give JIT thread pool workers a peer\"\"\n\nThis reverts commit 9dfb707ba2f8c2ff67d42c26e3214f5d7142b6d3.\n\nAccept a live Java thread for the JIT, and adjust the tests\naccordingly.\n\nBug: 31684920\nTest: m ART_TEST_JIT\u003dtrue ART_TEST_INTERPRETER\u003dtrue test-art-host\nChange-Id: I92cbae1eaae05711b9069335cf1a5f7eb58b9fd8\n"
    },
    {
      "commit": "01fd70b531a8bd8ebb2238f20c3e651f6b065285",
      "tree": "7f4f6a9514638aafbd8fa94791676567f1bb0c3c",
      "parents": [
        "5ea54a33a81ce48156fbb2685e9a61d0748644dc"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 25 10:03:08 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 25 11:38:25 2017 -0800"
      },
      "message": "ART: Remove experimental flags for plugins and agents\n\nRemove experimental flags guarding plugins and agents.\n\nPartial revert of commit 7233c7e752c0d26387d143ee74420e9cd1f09390.\nPartial revert of commit 185d134a3b43ab7529053e965917e0fa74bceba4.\n\nBug: 31455788\nTest: m test-art-host\nChange-Id: I11a19f24b88ced8da7a28e2cb7a2f602aab884a8\n"
    },
    {
      "commit": "eafaf57557939bcabeb7a7388fb4951e74661a53",
      "tree": "c540c5d06e483b2903d767db40064fdd6ae30786",
      "parents": [
        "a90b3dd3f22ce0674970365a5903571276a8fc01"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jan 20 12:34:15 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jan 20 21:10:38 2017 -0800"
      },
      "message": "ART: Add ThreadStart \u0026 ThreadEnd\n\nAdd support for ThreadStart and ThreadEnd events. Add tests.\n\nBug: 31684920\nTest: m test-art-host-run-test-924-threads\nChange-Id: I516993402747ffdc9a7d66985b21b95c059be107\n"
    },
    {
      "commit": "53ae7803b20650b7f36c0564dbcdc3115f399cba",
      "tree": "6a163440ef06130506a0fcf21ac82d935a09dd1e",
      "parents": [
        "d713d29507fb98bea3eee9277f05422a9b641ca1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 21:13:46 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jan 20 15:33:25 2017 -0800"
      },
      "message": "ART: Refactor TI tests\n\nAdd a helper to explicitly bind native methods in a given class,\nusing dlsym to look up C functions in the local environment.\n\nAdd a callback helper that hooks VmInit and calls the above function\non the Main class. Use the callback helper before calling the test-\ndefined or shared minimal OnLoad function.\n\nAdd a binder helper that immediately binds the Main functions. Use\nthe helper before calling the test-defined OnAttach function.\n\nRemove System.loadLibrary from tests. Instead rely on the explicit\nbinding.\n\nIn preparation for making the tests functional on device.\n\nTest: m test-art-host\nChange-Id: I12e68f070e8c6331e51d3a1fa4b9ebd8f28dfce6\n"
    },
    {
      "commit": "7b3b326158676a89bc27639b829a3e1746f8c988",
      "tree": "009db3e2e6377e6018a40a8935a518ddfc3e3bdd",
      "parents": [
        "2c19ea93088d7cd187524f49137417279e99096d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 20:40:42 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 19 20:46:54 2017 -0800"
      },
      "message": "ART: Add tests for TLS\n\nWire up the functions. Actually add tests to 924-threads.\n\nBug: 31684593\nTest: m test-art-host-run-test-924-threads\nChange-Id: Ie4966a57633188fb75278d6bf4bdeb0ff2cd25aa\n"
    },
    {
      "commit": "8580744607a963d408956c3eb712b0e070c139b0",
      "tree": "0071b21c9cd903ab43589dac4d0faf66935201be",
      "parents": [
        "2db7a1d7d691b567942081c3c4934db59e83d38e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jan 13 14:40:58 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jan 13 16:19:15 2017 -0800"
      },
      "message": "ART: Add GetAllThreads\n\nAdd support for GetAllThreads. Add a test.\n\nBug: 31684593\nTest: m test-art-host-run-test-924-threads\nChange-Id: I7068dd4d3700a32a87a44d38590e53df0bd238c7\n"
    },
    {
      "commit": "72c19834136c81eace33687e06f5daf92a5a7583",
      "tree": "a952e25333ff345c2be7f2184a8fe0af0bacba95",
      "parents": [
        "88a17bce58505f87c2d35414d781d68ec63f794b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 12 13:22:16 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 12 18:00:09 2017 -0800"
      },
      "message": "ART: Add GetThreadState\n\nAdd support for GetThreadState. Add test.\n\nBug: 31684593\nTest: m test-art-host-run-test-924-threads\nChange-Id: I67a240c711e1165cfb72a856fc59ca69abaec3f6\n"
    },
    {
      "commit": "af13ab9586cebbfc40204179e2dd0986cc14dd84",
      "tree": "124f8733cfb66aae2a5ddad9e58df52f96cdbed2",
      "parents": [
        "8fdba845ffeb516aa0ede900def3a833861eff15"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 11 20:57:40 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 12 10:01:16 2017 -0800"
      },
      "message": "ART: Add GetCurrentThread and GetThreadInfo\n\nAdd support for GetCurrentThread and GetThreadInfo. Add tests.\n\nBug: 31684593\nTest: m test-art-host-run-test-924-threads\nChange-Id: Ic2bc4c9b5c283e4eefe4075b6abe251b8be499c8\n"
    }
  ]
}
