)]}'
{
  "log": [
    {
      "commit": "92db59bdb2c0154a1bec0c1e70c50f5f13d462a7",
      "tree": "d4709c1bfe4e5f6a8bf15ec6c8b97e72a0200dc5",
      "parents": [
        "1b0fcf495e652cabaa8e65b8bf67284ca15f6485"
      ],
      "author": {
        "name": "Ziang Wan",
        "email": "ziangwan@google.com",
        "time": "Mon Jul 22 21:19:24 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 24 21:51:32 2019 +0000"
      },
      "message": "Revert \"Workaround bogus Thread Safety Analysis warning\"\n\nAlter the thread safety analysis attribute of ReaderWriterLock::AssertNotHeld\nso that it accurately expresses \"lock not held either exclusively or shared\".\n\nRe-enable Locks::mutator_lock_-\u003eAssertNotHeld runtime checks in heap.cc\nand adbconnection.cc.\n\nThis reverts commit e11d50f23dc1256ad933d209f2db8f58138f02c0.\n\nBug: 71769596\nChange-Id: I94488ad5f977b0de13a5141c54f67272a41f8b53\n"
    },
    {
      "commit": "d41c759bb25357bef88bedec381300590e4c9754",
      "tree": "cc5cef240c6a4fde47d6a3da4c648a2a738a979c",
      "parents": [
        "48c98b745b0d3b77498b7619669acda3ac348ed6"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Sun Jan 27 09:25:47 2019 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Jan 28 09:01:12 2019 +0000"
      },
      "message": "adbconnection: libnativehelper include clean-up\n\nUse includes for header library only rather than the implicit full\nlibrary includes added by soong.\n\nBug: 119840313\nTest: m -j100\nChange-Id: If426083717d824029af706a8ce0202ef2bf3b39e\n"
    },
    {
      "commit": "e8e27fe04310f6c21c1c5b84210ffee173c7361c",
      "tree": "5a16b5ad7e3816f7617250521735345fd0cead78",
      "parents": [
        "d35fff6e06d4e4d01a70d4409a0e9d9b1d4ae99e"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Dec 13 11:33:56 2018 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Dec 13 11:34:22 2018 -0800"
      },
      "message": "Delete logspam.\n\nThese messages are expected when adbd restarts (because of adb root,\netc.), and are a giant red herring.\n\nChange-Id: I71cf0438858a50b717ff1bf3f0b42c6e09ea69c6\nTest: treehugger\n"
    },
    {
      "commit": "7d1c0491d076943c6972d242e03f16f70e0e7d36",
      "tree": "5f7eafa49ef67364ab520785e29036d2afd69eff",
      "parents": [
        "c2099b0b0c052dd61137b9cf5f9f8b30bab1a7a8",
        "f049a0b3cff914299d14afa454594f47733b7e53"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 26 15:37:55 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 26 15:37:55 2018 +0000"
      },
      "message": "Merge changes from topic \"socket_peer_is_trusted\"\n\n* changes:\n  Remove libcutils property_get dependency.\n  Remove libcutils socket_peer_is_trusted dependency.\n"
    },
    {
      "commit": "c2efd4da88c1eeeb51af1ebc4a1321918c3243e5",
      "tree": "211521ea526432bb4da3c5f83efafae1d3f1ec27",
      "parents": [
        "f4fd65e393fe60f17e22ee7823f8dce4594c053d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 13:14:55 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 13:15:33 2018 -0700"
      },
      "message": "Remove libcutils socket_peer_is_trusted dependency.\n\nART is the only caller of this code, and it\u0027s trivially rewritten to\njust use NDK API.\n\nBug: N/A\nTest: boots\nChange-Id: I679a0f7e7ba48c6660c69629af180f04c4532c62\n"
    },
    {
      "commit": "dfcd82c09e8ce4562ed39e006d4b1c8163b4e25e",
      "tree": "d9bfd3e043a95b3c8e302769cef23c13a89df3c5",
      "parents": [
        "4f570a43146c1456071f2ffe6590ab96e723051a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 16 20:22:37 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 19 13:06:33 2018 -0700"
      },
      "message": "ART: Fix android-cloexec warnings\n\nUse the DupCloexec helper wherever possible. Add O_CLOEXEC to open\nand fopen calls.\n\nBug: 32619234\nTest: WITH_TIDY\u003d1 mmma art\nChange-Id: I0afb1beea53ab8f68ab85d1762aff999903060fe\n"
    },
    {
      "commit": "afaf7f8198fe5ffc054278da6800f81dd83f272c",
      "tree": "3ebdec9fca813351d178709743121fa66815a7a0",
      "parents": [
        "6ca8ec7809f87ccac8d9d66d267f2379bdfdfe66"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 16 11:32:38 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 18 08:20:09 2018 -0700"
      },
      "message": "ART: Enable bugprone-unused-return-value\n\nEnable bugprone-unused-return-value as an error. This is on top of\nthe compiler warning for attribute((warn_unused)).\n\nMark the current occurrences (all unique_ptr.release()) with NOLINT\nto signal that we know what we\u0027re doing.\n\nBug: 32619234\nBug: 117926937\nTest: WITH_TIDY\u003d1 mmma art\nChange-Id: I36659722335eef36acfa5845289104257a393874\n"
    },
    {
      "commit": "9b031f7e4834b263ae531409a9f6c82cfdc89477",
      "tree": "4b5fdfc3ecc12b5b7e32959bec0c26595b87d2ab",
      "parents": [
        "c71f38bdf7dca39a070ba25d436edcd758551f42"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 04 11:03:34 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 09 14:38:45 2018 -0700"
      },
      "message": "ART: Refactor for bugprone-argument-comment\n\nHandles smaller subdirectories.\n\nBug: 116054210\nTest: WITH_TIDY\u003d1 mmma art\nChange-Id: I81c8f3396b9922684b68e9f3d8fccefe364f1279\n"
    },
    {
      "commit": "5ebdc88a8469cb2bb9188c18b379ca486d338728",
      "tree": "3a6d17746e17213a04368d6140d246063f2316b2",
      "parents": [
        "54f535a3b43186727ff84fb4d604f6c57473d8ce"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 04 16:42:30 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 04 16:45:06 2018 -0700"
      },
      "message": "Add missing \u0027,\u0027 in default jdwp argument list\n\nWe were incorrectly missing a \u0027,\u0027 in the default jdwp argument list.\nThis meant that a manual -XjdwpProvider:adbconnection will fail due to\nfailing to parse the argument string.\n\nTest: run app with wrap.sh that adds  \u0027-XjdwpProvider:adbconnection -Xcompiler-option --debuggable\u0027\n      Attach debugger\nBug: 109505014\n\nChange-Id: Id09e04cd92c2f89a4bcdf95b05071bacd509b286\n"
    },
    {
      "commit": "54f535a3b43186727ff84fb4d604f6c57473d8ce",
      "tree": "623ba6af36ce230ed2484f66d3fe8c3a03c59682",
      "parents": [
        "ebf5902272613d8bb563ae312ec5ce2580a59bb7"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 04 14:14:19 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 04 14:23:48 2018 -0700"
      },
      "message": "Pass SOCK_CLOEXEC to adb socket.\n\nWe were not passing CLOEXEC to the adb-socket in adbconnection. This\ncould lead to extra (unusable) jdwp PIDs in adb jdwp in some\ncircumstances.\n\nTest: Build an app with wrap.sh.\n      adb jdwp on a userdebug device.\n      Ensure pid of wrap.sh is not present in list.\nBug: 109505014\n\nChange-Id: Icd41bf037666d6abe35897681aed98b00fb290ac\n"
    },
    {
      "commit": "a3ad0cdd711857f04f477e2cdc5b56a2c74a3018",
      "tree": "7e0e4c7888c2497d86ce96c9574d7c9886721ccf",
      "parents": [
        "abd9e1515bc6be88372c61071971c5432a51553d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 04 10:06:38 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 09 11:11:09 2018 +0100"
      },
      "message": "ART: Move JNI files to runtime/jni/ .\n\nTest: Rely on TreeHugger.\nChange-Id: I9cae11191ef1567ae9453be498882a7767285140\n"
    },
    {
      "commit": "60fbefcdf3578be9995a3be2b975b3998cdb430c",
      "tree": "fe0e601f91fe626fb35d38cdcb5b8823226ac2fe",
      "parents": [
        "f889c70e79643373320f5742cc719d6c467531b9"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Apr 18 15:19:15 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Apr 19 17:31:30 2018 +0000"
      },
      "message": "Move jit startup attempt to openjdkjvmti from adbconnection\n\nWe were attempting to start the jit in adbconnection if it was not\nalready running in order to improve the performance of debugging\nsystem_server and other similar processes. Since we have opened up the\nkArtTiVersion (0x70010200) environment to any agent (on userdebug/eng\nbuilds) it would be useful for these other agents also have the\nperformance boost when running on these processes.\n\nTest: Build\nTest: adb root \u0026\u0026\n      adb shell setenforce 0 \u0026\u0026\n      adb forward tcp:12345 jdwp:`adb shell pidof system_server` \u0026\u0026\n      jdb -attach localhost:12345;\n      \u003cDo things with debugger and device\u003e\n\nBug: 78119634\nBug: 78195998\nChange-Id: Ibfe10b43dcd23d615c03c12af2625e2b0c54f6a4\n"
    },
    {
      "commit": "f889c70e79643373320f5742cc719d6c467531b9",
      "tree": "ada543c87521fbfd98bbbe0004ca9e89c36a9489",
      "parents": [
        "740a50992ea1a200068eb4486a172a151c9b329c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Feb 23 15:25:45 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Apr 19 10:30:50 2018 -0700"
      },
      "message": "Always allow agent attach on userdebug builds with kArtTiVersion\n\nWe added support for the jvmti-alike ArtTi for use by debuggers on\nuserdebug/eng builds of android. Extend this support to allow any\nagent to be loaded on any process of a userdebug device. These agents\nwill need to make use of kArtTiVersion (0x70010200) envs.\n\nTest: build\nTest: ./test.py --host -j50\nTest: ensure AS profiler continues to work with userdebug devices\nBug: 78195998\nChange-Id: I984d1ea937eb49afb376a48bea3d67085192020e\n"
    },
    {
      "commit": "bd2a4e2c68790d1a3d56cd2f9de3471ca816c140",
      "tree": "87f5833d2e33dfed2a625041617fdf0f9747fd5c",
      "parents": [
        "e83bae5c62c7e739e18cafa1126a727b4788895c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Apr 17 09:07:37 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Apr 17 10:41:19 2018 -0700"
      },
      "message": "Make adbconnection try to start the JIT if it is not running.\n\nThe new adbconnection jdwp-provider forces processes to throw out\ncompiled code when a debugger attaches. This is normally not a problem\nsince the JIT will pick up the slack in short order. If one is\ndebugging system_server (or a few other similar system services)\nperformance will be permanently degraded since these processes run\nwith the JIT disabled.\n\nIn order to improve the experience of debugging these processes we\nmake adbconnection attempt to start the JIT if it is not currently\nrunning. In order for this to work the user will need to run\n\u0027adb shell setenforce 0\u0027 to disable selinux prior to attaching the\ndebugger.\n\nBug: 78119634\n\nTest: adb root \u0026\u0026\n      adb shell setenforce 0 \u0026\u0026\n      adb forward tcp:12345 jdwp:`adb shell pidof system_server` \u0026\u0026\n      jdb -attach localhost:12345;\n      \u003cDo things with debugger and device\u003e\n\nChange-Id: Iffb382460a1dbcd055d533a44367c4ccb3830f10\n"
    },
    {
      "commit": "c6023e576f316cb22469b1cd150794521c086643",
      "tree": "20497f6b94b895b2aa47626fc70385a35342b81a",
      "parents": [
        "08a5cb2e098bd4378deb7486dac78e7cdfd97771",
        "4b49bb7e02c6dd70ce6c3f2036a5bce902ff233a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 13 23:34:49 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 13 23:34:49 2018 +0000"
      },
      "message": "Merge \"jdwp: send pids to adbd as raw integers.\""
    },
    {
      "commit": "4b49bb7e02c6dd70ce6c3f2036a5bce902ff233a",
      "tree": "113f67f30f0e212d8712014f8a4dc29aa7bd167e",
      "parents": [
        "abee76ef780877132cf82c84f42e8ab50e6cc1d1"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Feb 12 15:06:42 2018 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Feb 12 15:06:42 2018 -0800"
      },
      "message": "jdwp: send pids to adbd as raw integers.\n\nBug: http://b/17661822\nTest: `adb jdwp`\nChange-Id: I2520366f885c3cb62b507e9ba6934633a199ac53\n"
    },
    {
      "commit": "d9258679d4593dc4b7c78bcc214b7a4ac1c7ab82",
      "tree": "a8d1bbad26dcf3ea992c89cc5599690de92a5d39",
      "parents": [
        "cee0ec1764385f7fe2af45af3c00fd6f9b176cf9"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 12 14:47:16 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 12 14:47:16 2018 -0800"
      },
      "message": "Hide an adbconnection log behind VLOG(jdwp).\n\nIn moving to the new adbconnection jdwp-provider an error message that\nwas previously behind VLOG(jdwp) was moved to always being sent. This\ncould get rather spammy. The error message was that connecting to adbd\nfailed which can happen normally. Since the error message isn\u0027t very\nhelpful lower it to VLOG.\n\nTest: build\nChange-Id: Ief91105ffef6b4991efdb45c732acae7854ef88c\n"
    },
    {
      "commit": "8bcecf915545581bf23b5348cd94d3f5ec6eb669",
      "tree": "99146665aa76b27adb7d253cc8e14a48894207d4",
      "parents": [
        "045112c32ca814be43c5965de3b3006d313cfc90",
        "e11d50f23dc1256ad933d209f2db8f58138f02c0"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Feb 06 18:35:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 06 18:35:41 2018 +0000"
      },
      "message": "Merge \"Workaround bogus Thread Safety Analysis warning\""
    },
    {
      "commit": "d4006e65b6a6404b684a70a30c7404698193db77",
      "tree": "d91921f424d21a46a012cfc1cfc2a30229ebef73",
      "parents": [
        "e29ccfd107defd1387740099f0f07116032ca76b",
        "a17cc2e1685dfc733b0ec6d175ab5b74154445ab"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 03 00:06:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 03 00:06:50 2018 +0000"
      },
      "message": "Merge \"Lower several adbconnection log messages to VLOG(jdwp)\""
    },
    {
      "commit": "a17cc2e1685dfc733b0ec6d175ab5b74154445ab",
      "tree": "808309e48ed8a3e7eebb8baa71143f0f77f12f17",
      "parents": [
        "92d0c8b68c24a2fa21f95d63a1ff2fb00fdb9aaf"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Feb 02 13:56:14 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Feb 02 13:56:14 2018 -0800"
      },
      "message": "Lower several adbconnection log messages to VLOG(jdwp)\n\nWe lower some adbconnection log messages to prevent log-spam on\nuserdebug and eng devices. These messages are not terribly important\nand are sent for every java process on userdebug devices.\n\nTest: Build\nChange-Id: I66b50aa9014211b435dd43171c0a3316eef50755\n"
    },
    {
      "commit": "d6f9d8583f1f8791456d89e9252d8fa0374b69bb",
      "tree": "f491bfa983265c42f4594c04770fdee0eba6a712",
      "parents": [
        "92d0c8b68c24a2fa21f95d63a1ff2fb00fdb9aaf"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 25 11:26:28 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Feb 01 13:52:53 2018 -0800"
      },
      "message": "Fix UAF error caught by asan\n\nWe were \u0027delete\u0027ing the AdbConnectionState while it still had a thread\nrunning. To fix this we moved responsibility for deleting the\nAdbConnectionState to the thread that makes use of it (if it was, in\nfact, created).\n\nTest: Build and boot device with adbconnection\n\nChange-Id: I9f33a308d9b56a33c155b37dd86749d5a765809c\n"
    },
    {
      "commit": "81f75c3df1d54783ddb172d36da2049bf9d97d96",
      "tree": "4d4e68e2157aa96446f8c7188c13f6c7c539293d",
      "parents": [
        "3d2680b40f2ce2b726c2442d6163100aa1237651"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jan 26 09:46:32 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jan 26 09:46:32 2018 -0800"
      },
      "message": "Make adbconnection validate jdwpOptions and change defaults\n\nThe (libjdwp) default argument values are not entirely compatible with\nadbconnection. This means that if you manually ran dalvikvm with\n-XjdwpProvider:adbconnection and no -XjdwpOptions the jdwp thread\nwould deadlock. In order to prevent this from happening adbconnection\nwill now validate that the explictly passed in parameters are usable\nand will add in required arguments automatically if they are not\npresent.\n\nTest: dalvikvm -XjdwpProvider:adbconnection -cp testing.dex loop \u0026\n      adb forward tcp:12345 jdwp:\u003cpid of dalvikvm\u003e\n      jdb -attach localhost:12345\nTest: dalvikvm -XjdwpProvider:adbconnection \\\n               -XjdwpOptions:server\u003dn       \\\n               -cp testing.dex loop;\n      ensure process exits and check logcat for error message.\n\nChange-Id: I8e26a9f4479ea8c324f741b9835bbc1fe8407047\n"
    },
    {
      "commit": "15b8113eb72b829e2026477a49e159635a48349b",
      "tree": "b62e2ddcc2e3fb3d1156103c2bfbef08916d3cdc",
      "parents": [
        "d3233abdf14f173bb99e3905e8543ffff845230e"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 24 13:29:07 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 24 18:28:13 2018 -0800"
      },
      "message": "Have adbconnection handle DDMS packets if agent not loaded\n\nIf DDMS was being used on a userdebug or eng build it would cause the\nlibjdwp agent to be loaded on various system processes, most notably\nsystem_server. This would cause a massive performance hit as it tries\nto force system_server to jit but, due to security policies, it is\nforced to interpreter instead.\n\nTo fix this we make it so that (so long as no debugger commands are\nissued) DDMS commands are handled without loading the JDWP agent. When\na non-DDMS command is issued we will load and initialize the JDWP\nagent which will take over handling DDMS traffic from then on.\n\nThis will ensure that in the common (for userdebug) use-case where\nprocesses only encounter DDMS commands the process will not need to\nload the full debugger.\n\nTest: ./test.py --host -j50\nTest: ./art/tools/run-libjdwp-tests.sh --mode\u003ddevice\nTest: Run ddms monitor on host,\n      adb shell stop \u0026\u0026\n      adb shell setprop dalvik.vm.jdwp-provider adbconnection\n      adb shell start;\n      Ensure that device does not start to jank\nTest: Run ddms monitor on host,\n      adb shell stop \u0026\u0026\n      adb shell setprop dalvik.vm.jdwp-provider adbconnection\n      adb shell start;\n      Turn off ddms monitor.\n      Ensure that device does not start to jank\nTest: Build and run\nTest: use ddms monitor.\nTest: Use Android Studio.\nTest: Build and debug debuggable app (bandhook-kotlin)\nTest: Build and debug non-debuggable app on userdebug build\n        (bandhook-kotlin)\nTest: Debug running system process on userdebug build\n        (com.android.packageinstaller)\n\nBug: 62821960\nBug: 72456312\nBug: 72457427\n\nChange-Id: Ib8d2af6c76bd2fac5a4b27e730695b2d016d3583\n"
    },
    {
      "commit": "2ce6fc80711af9afa3ecda8fdff6f4ed80aa3022",
      "tree": "9fa6be931e7bc8d0f47b0eb2d91a683ffcf1c3f1",
      "parents": [
        "1530591dbd05238236dc6dfe4bdb9118ce7ca3f7"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Dec 18 16:42:36 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 11 09:52:00 2018 -0800"
      },
      "message": "Support using adbconnection and openjdkjvmti without JAVA_DEBUGGABLE\n\nWe need to support using a best-effort JDWP when we have the\nENABLE_JDWP attribute without the JAVA_DEBUGGABLE attribute. This is\nused on eng and userdebug builds. We do this by making the plugin try\nto change the runtime to debuggable if possible and to allow getting\nan ArtTiEnv which is a best-effort version of JVMTI by calling GetEnv\nwith (JVMTI_VERSION_1_2 | 0x4000000). This is needed since if the\nruntime isn\u0027t debuggable we cannot guarantee compatibility with the\nJVMTI specification in all cases due to compiler optimizations such as\ninlining. By creating this special version agents are able to\npositively signal that they are able to deal with this uncertainty.\n\nWe also support using openjdkjvmti without being JAVA_DEBUGGABLE. This\nis done by either only allowing the best effort ArtTiEnvs or by\nchanging the environment to be debuggable if we are loaded early\nenough.\n\nMoving the runtime to debuggable state involves deoptimizing the boot\nimage and throwing out any image files associated with non-debuggable\noat-files.\n\nBug: 62821960\nTest: ./test.py --host -j50\nTest: Manual\nTest: Build, Test debugging system_server and other processes.\nChange-Id: I2233299fceb83c76785e5de09e51eaf18b7922e8\n"
    },
    {
      "commit": "e11d50f23dc1256ad933d209f2db8f58138f02c0",
      "tree": "9a02321fc6b464be78086d1cb966c0b000d3f1bc",
      "parents": [
        "ea443af9fd561ee3c3649ec98cafe8ecda077371"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Jan 09 16:55:04 2018 -0800"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Jan 09 19:44:44 2018 -0800"
      },
      "message": "Workaround bogus Thread Safety Analysis warning\n\nBuilding art/runtime/gc/heap.cc with thread safety analysis produces\nwarnings that mutator_lock_-\u003eAssertNotHeld() conflicts with\nScopedObjectAccess for holding shared and exclusive lock within the same\nscope. AssertNotHeld() is a capability assertion and does not actually\nhold the lock.\n\nThread safety analysis was broken thus the warning not appearing before\nClang r316199 update. Temporarily workaround the issue while we fix the\nbug in upstream.\n\nBug: 71769596\nTest: m checkbuild\nChange-Id: I48234db966332cf24e40774cd62589359aab6d05\n"
    },
    {
      "commit": "7b38e692caa474bf0470349d016ef8f4502d50b9",
      "tree": "df3dbcdce59af2ecaddb124bf315132593b3eedb",
      "parents": [
        "b496af808eaf3af5ebac50aef4fbec33323b5016"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 28 19:18:28 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jan 05 10:16:18 2018 -0800"
      },
      "message": "ART: Take classloader into account for AttachAgent\n\nTake a classloader into account for attaching an agent, if given.\nThis will use the library path from the classloader to find the\nagent library.\n\nSwitch to libnativeloader to do the actual loading.\n\nBug: 70901841\nTest: m test-art-host\nChange-Id: I59ec55178792bc738fb06e0299522e207dd4a784\n"
    },
    {
      "commit": "fbf9670f31d09c47078d43fd85ee2bda23273d26",
      "tree": "c2ee763c73f3cf89cfe3aed6230c1830b27583b3",
      "parents": [
        "3979571aa1dfc907569fb7e27ab225ca89f6f86e"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 14 13:27:13 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 19 14:52:08 2017 -0800"
      },
      "message": "Add adbconnection plugin\n\nThis plugin will take care of creating and managing a debugger connection\nthrough the adb daemon. This involves sending DDMS messages from the\nruntime, loading the JDWP agent when required, and setting up the\nconnection. We need this since DDMS packets can be sent even if there has\nnot been a full handshake done with the JDWP agent.\n\nAdd an \u0027adbconnection\u0027 value to \u0027-XjdwpProvider:...\u0027 to allow one to\nrequest that the adbconnection plugin be used to provide JDWP\nfunctionality.\n\nBug: 62821960\nTest: Manual, Flash walleye, debug apps\n\nChange-Id: Id9bed589b7c5e3830e6cdfbfee460b091459a27b\n"
    }
  ]
}
