)]}'
{
  "log": [
    {
      "commit": "b2ec9f5c128673c43f776cbe12c8eeb0a6884ebb",
      "tree": "724022162a4f3de021cebab32ee5ac67ec860f32",
      "parents": [
        "f13343eb8b2738e2812fd7bd9d5592f529e93c21"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Feb 21 13:20:31 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Feb 21 13:51:15 2018 -0800"
      },
      "message": "Remove duplication, split tests\n\nThe code move to libdexfile/dex/descriptors_names.cc apparently did not\nremove the original code from runtime/utils.cc.  Fix that duplication\nand all the header mentions needed.  Also, split the test files to go\nalong with the new locations for the code to be tested.\n\nBug: 22322814\nTest: make -j 50 checkbuild\n      make -j 50 test-art-host-gtest\n      flash \u0026 boot marlin\n\nChange-Id: Ie734672c4bca2c647d8016291f910b5608674545\n"
    },
    {
      "commit": "39b378ca3b4b6dc6da1651b84ee4289cd9bff0f8",
      "tree": "1da7bdc834fbc2f11243fa2b936f0d7a67d982c1",
      "parents": [
        "dcc528d2c7d5ac2cc075d4c965fdf702421d0f43"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 07 15:44:13 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 07 16:26:11 2017 -0800"
      },
      "message": "ART: Factor out gAborting\n\nCut dependencies on base/logging.h by moving gAborting to its\nown header. Leave the static storage in logging.cc.\n\nTest: m\nChange-Id: Ib2ca880e15f9cb50cb9aab803784826bb46efb5e\n"
    },
    {
      "commit": "dcc528d2c7d5ac2cc075d4c965fdf702421d0f43",
      "tree": "e070070248facaf4c23f0ceb4a713de29b681462",
      "parents": [
        "57943810cfc789da890d73621741729da5feaaf8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 07 13:37:10 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 07 16:26:11 2017 -0800"
      },
      "message": "ART: Move runtime-debug flags to own files\n\nTo reduce the need for base/logging.h and separate out concerns.\n\nTest: m\nChange-Id: Ib373357325c6e622f608ada341594c3bea2fce2e\n"
    },
    {
      "commit": "247fc334ca91c22b19ac57b9c8bbbd15a1735aa1",
      "tree": "e7805a8d60f2af1dc18cdd759b0ef64f4a51adf6",
      "parents": [
        "51d80ccca5eb2ea0eef0de836dcc03e0545f63db"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 22 16:18:24 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 22 16:18:24 2017 -0700"
      },
      "message": "ART: Make gAborting an atomic\n\nIt\u0027s probably overkill for the abort path, but make it safe,\nnonetheless.\n\nTest: m test-art-host\nChange-Id: I8d333ea5f01ad43bb98e71cd2c89902ced1bd68d\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": "b486a98aadc95d80548953410cf23edba62259fa",
      "tree": "b113b7d50a4a015502873b7742c9ece00d293e84",
      "parents": [
        "1656ca9e6996cb555b4463e5efd4bd7e3f4fb816"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 01 13:45:54 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 02 08:24:02 2017 -0700"
      },
      "message": "ART: Introduce thread-current-inl.h\n\nFactor out Thread::Current() code into its own -inl file to remove\ntransitive includes.\n\nThis requires at the same time correcting mutex.h, i.e., moving\nsome functions into mutex-inl.h.\n\nTest: m test-art-host\nChange-Id: I88f888b604e0897368d9b483edce6ce4332dd9c9\n"
    },
    {
      "commit": "01f7743b1e97e0b14ec8cb0d557dbb02c5b42a04",
      "tree": "bbd196663c760198a461acbad19966ac7776c075",
      "parents": [
        "0abc6bbde21e7b9d9104e8698946814649e51261"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 24 09:56:30 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 24 20:55:02 2017 -0700"
      },
      "message": "ART: Fix some pedantic warnings\n\nRemove dynamically-sized array locals. Add macro parameters for vararg\nmacro. Replace typeof with decltype.\n\nBug: 17719863\nTest: m test-art-host\nChange-Id: Ife09dbb1c0cb39d3ed4bdaec39389511d4e2032d\n"
    },
    {
      "commit": "46fc9d6db4e4ee37043343bc1994299607d880b3",
      "tree": "c12632c2e5c5171d74314f3e75a761fef1f8f562",
      "parents": [
        "db47a144d816e0976c5b4c00461b80b07ce97c60"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jan 10 15:12:38 2017 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jan 11 08:23:21 2017 -0800"
      },
      "message": "liblog: use log/log.h to access ALOG macros\n\nTest: compile\nBug: 30465923\nChange-Id: Ia2699768da1af6d508472360baa08c77c07fca01\n"
    },
    {
      "commit": "1af0c4ff8b79ad44a4e12d7271a66d4e775ba224",
      "tree": "3e5e2527241d423290df454d551bf6787a052f0d",
      "parents": [
        "71601907b95a3527fc554a3a1724b3c12b872a7a"
      ],
      "author": {
        "name": "Julien Duraj",
        "email": "julien.duraj@linaro.org",
        "time": "Wed Nov 16 14:05:48 2016 +0000"
      },
      "committer": {
        "name": "Julien Duraj",
        "email": "julien.duraj@linaro.org",
        "time": "Wed Nov 23 10:37:31 2016 +0000"
      },
      "message": "Fix the target Linux builds of ART\n\nWhen ART_TARGET_LINUX was set it would hit some pieces of dead code that\nwere using old defines i.e. `__ANDROID__`\n\nTest: export ART_TARGET_LINUX\u003dtrue\nTest: source build/envsetup.sh\nTest: lunch\nTest: cd art \u0026\u0026 mma\n\nChange-Id: I80102750192928606e0884d2b723a87ccb7d7e19\n"
    },
    {
      "commit": "f57589fd40e5b69dad5aff060ccef756507f381a",
      "tree": "62d38e73660d9818b18c4741c6b3cce3306d63d5",
      "parents": [
        "c25dfeab1a66c942ae658fc7cd367f7c1ac502a1"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Oct 17 10:09:33 2016 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Oct 17 13:50:35 2016 -0700"
      },
      "message": "Remove logging dependency on runtime\n\nMoved the abort backtracing function to runtime, forcing callers to\nsupply the aborter at InitLogging.  This makes runtime properly layer\non top of logging by removing the cyclic dependency.\n\nBug: 22322814\nTest: test-art-host\nChange-Id: I8b2e72174e937bb88fe1bddd6d04b564cfb011a9\n"
    },
    {
      "commit": "d74bd3a9a48d34d7321f7de7a6f8e1d3467be58a",
      "tree": "4f643819c8e960b015a8211d7e09558cb84f4412",
      "parents": [
        "129fc43ff9d820fa782111e3fdb11fa8d4d7d239",
        "90a32b16feb58d4edf932fdcb6a070be3418e365"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 04 19:08:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 04 19:08:14 2016 +0000"
      },
      "message": "Merge changes I65bc7769,Ib24c7060\n\n* changes:\n  ART: Reprint long messages on abort\n  ART: Clean up IRT-related abort messaging\n"
    },
    {
      "commit": "90a32b16feb58d4edf932fdcb6a070be3418e365",
      "tree": "dadbf8759551c67cdb54851027459a542d4d10f4",
      "parents": [
        "f1e8630fe8eab89e61e9f0a97135ae7c9d38ce23"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 03 19:47:08 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Oct 03 19:47:08 2016 -0700"
      },
      "message": "ART: Reprint long messages on abort\n\nAdd an abort message parameter to Runtime::Abort. In case the message\nis multiline (and will thus not be completely preserved in the\nAndroid abort reason), reprint the message after all threads have\nbeen dumped.\n\nBug: 31893081\nTest: m test-art-host\nChange-Id: I65bc77691fec79f7c868a90d6132805fcc91e473\n"
    },
    {
      "commit": "0ad6c8fe441019980b1eeaf3047949e6601cdd7f",
      "tree": "89db2672821b60881bc9672cdec937284514b4de",
      "parents": [
        "462e21cc8d28a4d48342cf0f634bd1ecc63647d7"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Sep 28 15:29:14 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Oct 03 11:29:34 2016 -0700"
      },
      "message": "art: Replace cutils/log.h with android/log.h\n\nTest: compile\nBug: 26552300\nBug: 31289077\nChange-Id: Ie5720d9e1388047856392e8635895895c22f3112\n"
    },
    {
      "commit": "3fec9ac0d5af1358d216eb2fdc2000ec0205f3f0",
      "tree": "f38d8d8aae51f53e7ee6b474f47597b784fc2316",
      "parents": [
        "0cfe19af3b7395658210ea6044a65c9811962a7a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 13 10:47:28 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 26 10:59:22 2016 -0700"
      },
      "message": "ART: Use libbase logging\n\nMove most of our logging infrastructure over to system/core/base.\nRetain VLOG.\n\nUsing unified Android infrastructure has two main advantages. First,\nit reduces the complexity/maintenance burden in ART. Second, it\nallows to detach logging for the cases where we do not want or need\na runtime, e.g., dexdump, the disassembler, etc. As a part of the\nlatter, libbase is also supported for all hosts (including Windows).\n\nFrom a developer viewpoint, there are minor behavior changes for the\nLOG statements (see above), but otherwise usage is the same. Explicit\nseverity enum items are in the android::base namespace now.\n\nBug: 31338270\nTest: m test-art-host\nChange-Id: I5abcb2f45f5b03d49951874c48544f72a283a91b\n"
    },
    {
      "commit": "5fd66d0546805f0d86ec3365762c00b8dd3415f5",
      "tree": "82fb3cbb657f970a5c1d7c65e5567026816e284f",
      "parents": [
        "6a8c69f9d9d7840cac8cd17057d58c4cf91da4c6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 12 20:22:19 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 12 20:25:01 2016 -0700"
      },
      "message": "ART: Remove LogSeverity NONE\n\nRemove non-standard severity, and instead use a new enum to\nconfigure verifier logging.\n\nPartially reverts commit 7fe30233d32a872f5349e921dba65bd767ad994b.\n\nBug: 31338270\nTest: m test-art-host\nChange-Id: If52ee23c4902fbf2dabe7b232f6742448764ff8c\n"
    },
    {
      "commit": "5e953d626866318c31ef300305facb920c7496cf",
      "tree": "70f8ecbfbe9a3edcff9c3e3cd6c8848e2bc5d7c5",
      "parents": [
        "5f17d642b0a220c24e51882fd5e785cb2404f7a3"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Mon Sep 05 21:39:51 2016 -0700"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Tue Sep 06 06:14:06 2016 -0700"
      },
      "message": "LogMessageData: Fix assignment in constructor\n\nThe previous code was assigning to the function argument, not\nthe member variable.  Since our member variable is \u0027const\u0027\nwe use a helper function to acheive this.\n\nTest: m test-art-host\nChange-Id: I11bf7b04297b7b6c0649a87416a7a6e622e2db43\n"
    },
    {
      "commit": "9826c3e458c3a6d91277b55e956e02c326f9887c",
      "tree": "e6657105c1db1b342f1d6a5745bb5ae1c801d365",
      "parents": [
        "d1272553516e6595dea310d07d7b974dcd0a421f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 17 10:28:48 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 17 12:46:19 2016 -0700"
      },
      "message": "Add newline for INTERNAL_FATAL automatically\n\nBefore, the behavior was different compared to other log levels\nthat automatically added newlines.\n\nBug: 30913672\n\nTest: test-art-host\n\nChange-Id: I02147d8ac7ea38f3e93450ef5290cdfed7b5a2eb\n"
    },
    {
      "commit": "bb661c0f0cb72d4bbfc2e251f6ded6949a713292",
      "tree": "4fe7e66f3385b1955934d3ec6f02e00bde6e13b8",
      "parents": [
        "f7cda8088ec57ab1422f85f08df78e217a9f7094"
      ],
      "author": {
        "name": "Bilyan Borisov",
        "email": "bilyan.borisov@linaro.org",
        "time": "Mon Apr 04 16:27:32 2016 +0100"
      },
      "committer": {
        "name": "Bilyan Borisov",
        "email": "bilyan.borisov@linaro.org",
        "time": "Fri Apr 22 13:33:30 2016 +0100"
      },
      "message": "Refactor use of __ANDROID__ macro\n\nWe use the __ANDROID__ macro, which is provided by the toolchain, in\nnumerous places. This patch refactors the usage of this by defining a\nnew macro, ART_TARGET_ANDROID, that is being passed during build to\nART_TARGET_CFLAGS in Android.common_build.mk on the same line as\nART_TARGET. The codebase currently assumes that the existence of the\n__ANDROID__ macro implies that we are compiling art for an android\ntarget device. This is because, currently, target builds are compiled\nwith target toolchains that provide the macro, while host toolchains\ndo not.  With this change this assumption is still preserved. However,\nin a future patch we will add the ability to compile art for a linux\ntarget, and in that case the ART_TARGET_ANDROID macro won\u0027t be passed\nanymore.\n\nChange-Id:  I1f3a811aa735c87087d812da27fc6b08f01bad51\n"
    },
    {
      "commit": "7fe30233d32a872f5349e921dba65bd767ad994b",
      "tree": "6039f608c5753d549a30a07f4997cb8141eba970",
      "parents": [
        "bf9611f821697b14bf9e170f503c3f47613b046b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 25 16:58:00 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 28 16:57:30 2016 -0700"
      },
      "message": "ART: Make verifier fail log level adjustable\n\nTo help for build failures.\n\nChange-Id: I6c94dfb50177daa7d89902d78715ccec31bf0e45\n"
    },
    {
      "commit": "c60e1b755c5632dfeb04c333489ede52ee5c945f",
      "tree": "9582a0ffc99e4ad11dcd5d95dd97b09bc6acc5bf",
      "parents": [
        "7b926cdacc2b67241bc9cb5f2d4b04b13ca79d0e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 30 08:57:50 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 30 08:57:50 2015 -0700"
      },
      "message": "ART: Use __ANDROID__ instead of HAVE_ANDROID_OS\n\nUse the proper define.\n\nChange-Id: I71e291ac25f5d5f0187ac9b6ef2d6872f19e6085\n"
    },
    {
      "commit": "06f08e405777bd3b710fd1d7cf73b06f5347db36",
      "tree": "7aa97dbe837127c3676cfc3e0390e373bf20bca2",
      "parents": [
        "23d358b621dbe11d6da918ab310ed3f1a5fc0558"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 12 21:25:36 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 12 21:25:36 2015 -0700"
      },
      "message": "Silence unused result warnings in art.\n\nThis lets us turn on _FORTIFY_SOURCE\u003d2 for the host.\n\nThe logging change is basically a trick (since we\u0027re still ignoring the\nresult unless it\u0027s an EINTR failure).\n\nThe profiler change is in a function whose error checking is a mess; the\nfd is leaked, and it\u0027s not clear what\u0027s supposed to happen about the flock\non failure. I didn\u0027t exit if the ftruncate fails because the rest of the\nfunction just blunders on, and error handling here needs a deeper rethink.\n\nBug: http://b/20558757\nChange-Id: I7a2873fce08e37f4af826a04b4701d7ac6a8e3fa\n"
    },
    {
      "commit": "2cebb24bfc3247d3e9be138a3350106737455918",
      "tree": "d04d27d21b3c7733d784e303f01f873bb99e7770",
      "parents": [
        "1f02f1a7b3073b8fef07770a67fbf94afad317f0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 21 16:50:40 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 22 12:44:27 2015 -0700"
      },
      "message": "Replace NULL with nullptr\n\nAlso fixed some lines that were too long, and a few other minor\ndetails.\n\nChange-Id: I6efba5fb6e03eb5d0a300fddb2a75bf8e2f175cb\n"
    },
    {
      "commit": "369810a98e6394b6dd162f5349e38a1f597b3bc7",
      "tree": "ec703b9fdfe57f039f833208f879d8c95b813137",
      "parents": [
        "1c1d40ab7fd856eac52e1a3be7ce60da3fc21fb5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 14 19:53:31 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 15 07:51:55 2015 -0800"
      },
      "message": "ART: Allow scoped adjustments to log verbosity\n\nAdd ScopedLogSeverity to adjust the logging level.\n\nSuppress warnings by default in gtests. Suppress errors in instances\nwhere errors are expected.\n\nChange-Id: If3ef865813e9505ab60bc90baed63ff11d90afbb\n"
    },
    {
      "commit": "ed9575441d68f11d91bd86845dbe7e69df35d6c9",
      "tree": "61d20a398d9ce90ae8b40d8a5869057623ac1380",
      "parents": [
        "fc31717951093be49fce023c895685df448650f8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 07 18:01:29 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 07 18:01:29 2015 -0800"
      },
      "message": "ART: Print INTERNAL_FATAL Log messages immediately\n\nTo diagnose some problems, print out messages sent to Severity level\nINTERNAL_FATAL immediately. This avoids the buffering we do.\n\nBug: 18933933\nChange-Id: I3e536ae2e78560eb561d0b873fb4e88b9495ebbf\n"
    },
    {
      "commit": "b8f2f63c3d5f0d6fb2a165b3fb8379608076ddae",
      "tree": "37e38e233a924389408fcb1c5ede80fc36405ac7",
      "parents": [
        "ba31c3c400cfc59bfe284701763ef96c8810aa14"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jan 02 14:23:26 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jan 02 15:57:36 2015 +0000"
      },
      "message": "Implement LogLineLowStack() properly.\n\nAvoid stack-based buffers used by the log formatting in\n__android_log_print().\n\nMove the VLOG(threads) in Thread::InitStackHwm() after the\nlow stack check as it\u0027s not safe to actually log before\nthat; even the StringPrintf() is using a stack-based buffer.\n\nBug: 18830897\nChange-Id: I13b2166438e871c52ab91dabfe98f2200fd7c1cf\n"
    },
    {
      "commit": "db978719dbcb73fc6acfd193561445c4462786b8",
      "tree": "be75911bfbe29a50fff685217c8ee155fb99ac10",
      "parents": [
        "015b137efb434528173779bc3ec8d72494456254"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 09 13:33:38 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 09 13:33:38 2014 +0000"
      },
      "message": "Revert \"Tidy gAborting.\"\n\nCreates infinite loop: b/18674776.\n\nThis reverts commit 015b137efb434528173779bc3ec8d72494456254.\n\nChange-Id: I67fe310d2e95ee2ec37bec842be06fb1123b6f4e\n"
    },
    {
      "commit": "015b137efb434528173779bc3ec8d72494456254",
      "tree": "2ccaba9d7465bd9995082a7251d34cf76b1ab1ea",
      "parents": [
        "a21fdd0432aa38b63d144ee4b92b6a567aab61d2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 04 19:53:52 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 04 20:04:45 2014 -0800"
      },
      "message": "Tidy gAborting.\n\nReduce scope to Runtime::Abort and short-cut recursive case earlier. gAborting\nremains global to avoid two fatal errors in thread and the verifier.\n\nChange-Id: Ibc893f891ffee9a763c65cde9507d99083d47b3f\n"
    },
    {
      "commit": "f4d4da18aa1914d10264082bd0433f59bff45453",
      "tree": "16edc1787c285135a0012cfc8737a8b89987f24b",
      "parents": [
        "4c9c251c2a32cd8d1be21bc47a9188358cb9f17f"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 11 16:10:33 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 11 16:10:33 2014 -0800"
      },
      "message": "Allow JNI AttachCurrentThread to fail if not enough stack.\n\nAdd unit tests and move JavaVM JNI tests into there own set of gtests.\nBug: 18330119\n\nChange-Id: I0e93dff783b1f5d787b3084d24122883e14951a1\n"
    },
    {
      "commit": "575e78c41ece0dec969d31f46be563d4eb7ae43b",
      "tree": "16906df0ba0912a6cb01b3139ba7c60d5f9d09b7",
      "parents": [
        "2998e9cdc9f19c30c4944a4726ed9f147de79ebd"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 23:41:03 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 23:41:03 2014 -0800"
      },
      "message": "ART: Replace COMPILE_ASSERT with static_assert (runtime)\n\nReplace all occurrences of COMPILE_ASSERT in the runtime tree.\n\nChange-Id: I01e420899c760094fb342cc6cb9e692dd670a0b2\n"
    },
    {
      "commit": "c7dd295a4e0cc1d15c0c96088e55a85389bade74",
      "tree": "0c08a2236bc9ba5d9a4dc75d4dd0ed2d76f8f1c6",
      "parents": [
        "94e5af8602150efa95bde35cc9be9891ddf30135"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 21 23:31:19 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 22 12:06:23 2014 -0700"
      },
      "message": "Tidy up logging.\n\nMove gVerboseMethods to CompilerOptions. Now \"--verbose-methods\u003d\" option to\ndex2oat rather than runtime argument \"-verbose-methods:\".\nMove ToStr and Dumpable out of logging.h, move LogMessageData into logging.cc\nexcept for a forward declaration.\nRemove ConstDumpable as Dump methods are all const (and make this so if not\ncurrently true).\nMake LogSeverity an enum and improve compile time assertions and type checking.\nRemove log_severity.h that\u0027s only used in logging.h.\nWith system headers gone from logging.h, go add to .cc files missing system\nheader includes.\nAlso, make operator new in ValueObject private for compile time instantiation\nchecking.\n\nChange-Id: I3228f614500ccc9b14b49c72b9821c8b0db3d641\n"
    },
    {
      "commit": "6f3dbbadf4ce66982eb3d400e0a74cb73eb034f3",
      "tree": "f7a20779e4d665f948c5fbcd26dac0071dafb8d4",
      "parents": [
        "2df6840f68dd18d7dd8dbf53f8b6181bbfdc4fc4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 14 17:41:57 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 16 19:27:28 2014 -0700"
      },
      "message": "Make ART compile with GCC -O0 again.\n\nTidy up InstructionSetFeatures so that it has a type hierarchy dependent on\narchitecture.\nAdd to instruction_set_test to warn when InstructionSetFeatures don\u0027t agree\nwith ones from system properties, AT_HWCAP and /proc/cpuinfo.\nClean-up class linker entry point logic to not return entry points but to\ntest whether the passed code is the particular entrypoint. This works around\nimage trampolines that replicate entrypoints.\nBug: 17993736\n\nChange-Id: I5f4b49e88c3b02a79f9bee04f83395146ed7be23\n"
    },
    {
      "commit": "700a402244a1a423da4f3ba8032459f4b65fa18f",
      "tree": "4c22fcda04d271bd55a37aff30650214af17a90c",
      "parents": [
        "047c11adcbcbc0bcf210defdfcbada763961ffee"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon May 19 16:49:03 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon May 19 22:27:39 2014 -0700"
      },
      "message": "Now we have a proper C++ library, use std::unique_ptr.\n\nAlso remove the Android.libcxx.mk and other bits of stlport compatibility\nmechanics.\n\nChange-Id: Icdf7188ba3c79cdf5617672c1cfd0a68ae596a61\n"
    },
    {
      "commit": "507dfdd147c97bfbadebfd63584d094b6a4e7b47",
      "tree": "cce43931b6dcd088cb2932c2491f86116353a27f",
      "parents": [
        "922ddb30982d2597eab634d8b8598bec0eb7d3b7"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 15 16:42:40 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 15 16:50:51 2014 -0700"
      },
      "message": "Compatibility layer to transition from UniquePtr to std::unique_ptr.\n\nUse ART_WITH_STLPORT (enabled for the target) to cause the use of UniquePtr,\nfor the host switch to std::unique_ptr. For now the type remains called\nUniquePtr.\nMake dalvik compile with clang on the host, move its build to C++11.\n\nChange-Id: I5ba8d2757904bc089ed62047ea03de3c0853fb12\n"
    },
    {
      "commit": "42d65c52bbf4a354605389a759190e793787f692",
      "tree": "98dd633038cbc1ae0ccdda3de1f73e79a9ab4049",
      "parents": [
        "fa25af3e3410537e86b485682d519dafbad01753"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Apr 18 16:49:39 2014 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Apr 18 16:51:15 2014 -0700"
      },
      "message": "Add an option to specify a list of methods for LIR dumping.\n\nAn example would be:\n--runtime-arg -verbose-methods:Array.checkRange32,Array.checkRange64\nor\n\"-verbose-methods:void Array.checkRange32,void Array.checkRange64\"\n\nChange-Id: I61c1eb3b2eb4b24126a9264261c27889d53cc6bd\n"
    },
    {
      "commit": "43b2e0f9105848da6470458e7c04bf1fd7fcb25c",
      "tree": "65406c86398c27c934169251c3a4446e99c885f7",
      "parents": [
        "f7eedc939e9dc07b627b2f94eb132155be992883"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 30 16:58:39 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 30 16:58:39 2014 -0800"
      },
      "message": "Fix multi-line hex dumping and add unit test.\n\nChange-Id: I7657018fef5d9c17410a9a634db275555f180014\n"
    },
    {
      "commit": "b400da011e434913030aa250594738de5e0ef9e6",
      "tree": "b449b952cfb04efe8a47f9240a52b782755fd850",
      "parents": [
        "9d8918fe97c235fdc6eb2c7f2d50a6673ab50329"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 23 08:28:28 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 23 09:52:04 2014 -0800"
      },
      "message": "Fix 64bit issues in logging code.\n\nChange-Id: Ia73d0141348b3f74a9949012b0060dd4acb5e3b8\n"
    },
    {
      "commit": "1e363f96a8e5386282340bb37972dcc823b42e2e",
      "tree": "38d072dbb87b0b1f032a7104760f4a9e8636d6e4",
      "parents": [
        "34e82934546bd470283346907bd7b74990797c56"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 13 15:58:24 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 13 15:58:24 2013 -0800"
      },
      "message": "Use a UniquePtr to clean up global logging std::string*s.\n\nThis makes valgrind happier.\nBug: 11670287\n\nChange-Id: I957b94cdc177665e66b069e4d2b2b8d0a4b589c8\n"
    },
    {
      "commit": "a3d2718d1fac53210b2a311b1728409d6c8e7b9d",
      "tree": "5f000437e67d2def425d0e25c3b53cef8bf2515b",
      "parents": [
        "f7ee11632e3dfda29d553d8962be9747d5ce6dfd"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Nov 05 23:22:27 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Nov 06 01:33:23 2013 -0800"
      },
      "message": "Change thread.h to thread-inl.h to pick up missing Thread::Currnet for debug build in master\n\nChange-Id: I56a4dd18ec1c212f9dbb73b14c0c0623b23c87bd\n"
    },
    {
      "commit": "442cd6ec36f3f451960496174bb9396ed2de0a73",
      "tree": "3fb954f64d4f4a2f606e8becdc67eb127f87cabc",
      "parents": [
        "d8cf66be7fa0803b26508005cefb27e1498d2963"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Aug 05 16:17:42 2013 +0200"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Aug 12 06:32:11 2013 +0000"
      },
      "message": "Fix logging memory leak.\n\nUse a UniquePtr to ensure the LogMessage::data_ member is deleted.\n\nChange-Id: Ifbf5e38307c72908579a7adbe1660f99da0e558e\n(cherry picked from commit 916041f1ea33f5cb9de869d28dcdfaa390095c32)"
    },
    {
      "commit": "7934ac288acfb2552bb0b06ec1f61e5820d924a4",
      "tree": "43f3acd8af7fd34d4ae7b64f6e06bb8429d74bb8",
      "parents": [
        "fb331d7ca004f39608fcfdae49d38df90c702ea9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 26 10:54:15 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 26 11:55:10 2013 -0700"
      },
      "message": "Fix cpplint whitespace/comments issues\n\nChange-Id: Iae286862c85fb8fd8901eae1204cd6d271d69496\n"
    },
    {
      "commit": "f69863b3039fc621ff4250e262d2a024d5e79ec8",
      "tree": "b6d40c4019de2155f8753f83b4750bd3a3514d7a",
      "parents": [
        "93ba893c20532990a430741e0a97212900094e8c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 17 21:53:13 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 17 23:23:12 2013 -0700"
      },
      "message": "Fix cpplint whitespace/newline issues\n\nChange-Id: Ie2049d9f667339e41f36c4f5d09f0d10d8d2c762\n"
    },
    {
      "commit": "7940e44f4517de5e2634a7e07d58d0fb26160513",
      "tree": "ac90242d96229a6942f6e24ab137bc1f8f2e0025",
      "parents": [
        "5cd9e3b122f276f610980cbaf0d2ad6ed4cd9088"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 13:46:57 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 17:49:01 2013 -0700"
      },
      "message": "Create separate Android.mk for main build targets\n\nThe runtime, compiler, dex2oat, and oatdump now are in seperate trees\nto prevent dependency creep.  They can now be individually built\nwithout rebuilding the rest of the art projects. dalvikvm and jdwpspy\nwere already this way. Builds in the art directory should behave as\nbefore, building everything including tests.\n\nChange-Id: Ic6b1151e5ed0f823c3dd301afd2b13eb2d8feb81\n"
    },
    {
      "commit": "fa42b4410d49134a8e63dc2196be4013d286f2d6",
      "tree": "71e325089092167f202fbdf763daaf700cfd4a4b",
      "parents": [
        "7675e16bcae06c0fe258aad89b3d511037dec399"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 17 12:53:45 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 17 19:01:40 2013 -0700"
      },
      "message": "Move to new art dalvikvm\n\nChange-Id: Ib04bc9853b7084965fa0c9899c3e5f5ac42d4ce7\n"
    },
    {
      "commit": "74c070440e9c3f362cd0e9e13754bc8693ed9073",
      "tree": "00d99e15e0b8297ab08bfb1cf1abe51fda5799ef",
      "parents": [
        "e606010a5e5ea803736576b47740a2551e5d0dfc"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri May 17 14:04:12 2013 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri May 17 14:04:12 2013 +0200"
      },
      "message": "Help inline LogMessage::stream method.\n\nA very simple method that should be safely inlined by compiler.\n\nChange-Id: I7a2fa41d566e36b30b1afd6a2f6b0c2f986dc46f\n"
    },
    {
      "commit": "f08e473519dc5c7ccb85eb2b333f9d0aff23a329",
      "tree": "796cb1f9102e07c33de163281a2e34af5bf634d0",
      "parents": [
        "10e75abe80fc86ff5a6a5b4b3bcef382b3c596be"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 09 09:45:49 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 09 09:45:49 2013 -0700"
      },
      "message": "Fix abort regression.\n\nChange https://googleplex-android-review.googlesource.com/#/c/249463/ set a\nboolean prior to testing it meaning that all aborts were seen as recursive and\nno meaningful log information was given.\n\nAlso a fix related to https://googleplex-android-review.googlesource.com/293665\nwhere we were attempting to dump other threads stacks during aborting even\nthough those threads weren\u0027t suspended.\n\nChange-Id: I1f848512c5e380529579db3d16bb8f5ddda36ad3\n"
    },
    {
      "commit": "07ed66b5ae659c452cbe1ab20c3dbf1d6f546461",
      "tree": "2350745da33df6fcb9fb0c9059e55ea5d5ea8f67",
      "parents": [
        "76b6167407c2b6f5d40ad895b2793a6b037f54b2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 18:34:25 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 18:35:05 2012 -0800"
      },
      "message": "Move logging.h into base/logging.h.\n\nChange-Id: Id68f85f7c3a71b156cb40dec63f94d4fb827f279\n"
    },
    {
      "commit": "76b6167407c2b6f5d40ad895b2793a6b037f54b2",
      "tree": "5c433a0907ddf401f4078b6703253b1ae75e723e",
      "parents": [
        "f66330a747eff155eb571b634fc9d901c55a78a7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 17:47:30 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 18:11:44 2012 -0800"
      },
      "message": "Move mutex.h into base/mutex.h.\n\nWe don\u0027t actually need any hackery to get the right mutex.h any\nmore, but since we planned on having the google3-like stuff\nin google3-like locations, this is an easy one to fix.\n\nChange-Id: Ie27464ebbc208a6f4e694a97cf26b1cee0737009\n"
    },
    {
      "commit": "af1b89281fd1f86efeb791b61f5a3f2031c70312",
      "tree": "a4f00e84271f267404a082c954f7416d5bcd3e0e",
      "parents": [
        "9c85bc0b6577ee00e4e2d3ee9a7d0fd72d7a4966"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Nov 27 15:19:57 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Nov 27 15:37:00 2012 -0800"
      },
      "message": "Prevent hang due to HandleUnexpectedSignal reentry\n\nChange-Id: I0fe6a9b642e8d866aba893906c36bca6f1a4334e\n"
    },
    {
      "commit": "81b8871007101f42e2baabf213e1312004073eb0",
      "tree": "7664b7ebf5dabeb0364806d1312299020c77c1d4",
      "parents": [
        "bcc2926b9721f94c17ed98fae5264cc98f0e066f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Nov 05 19:21:30 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Nov 05 19:22:24 2012 -0800"
      },
      "message": "Broaden scope of gAborting. Fixes hang in HandleUnexpectedSignal.\n\nChange-Id: I4c29cd7b67f07bb9f99c308feac5a3d6c236bc2b\n"
    },
    {
      "commit": "50b35e2fd1a68cd1240e4a9d9f363e11764957d1",
      "tree": "4f3c58b7b293380f19e4f33357cb352e3330772e",
      "parents": [
        "8e9a1497f0d7da4d55f6e7ed8a7d96ba6db7222d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 04 10:09:15 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 05 11:07:39 2012 -0700"
      },
      "message": "Explicitly pass Thread::Current to MutexLock and Alloc.\n\nChange-Id: I8b75bc0617915465f102815b32306aa7760dcae4\n"
    },
    {
      "commit": "81d425b0b232962441616f8b14f73620bffef5e5",
      "tree": "cd1e46656269acf20e78817d675e56d9b9133e6c",
      "parents": [
        "bfaf917edbb1de8d158c3615e0da8ac3143d10c8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 27 16:03:43 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 27 17:19:25 2012 -0700"
      },
      "message": "Pass self to lock methods.\n\nThis avoids frequent recomputation of\nThread::Current/pthread_getspecific.\n\nAlso add a futex based reader/writer mutex that is disabled.\n\nChange-Id: I118fdb99ef1d1c4bfda6446ba3a0d8b6ab31eaee\n"
    },
    {
      "commit": "b726dcb581bf72da46527378ccb6889020f0e6e9",
      "tree": "c0383ed788652926e93147e50d659ed226519548",
      "parents": [
        "fd678beb171a4686a4f2d53ca4188a4ade8fa54e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 05 08:57:23 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 05 09:06:19 2012 -0700"
      },
      "message": "Rename GlobalSynchronization to Locks\n\nAlso address some review comments in common_throws relating to\nToStr\u003cInvokeType\u003e and exception detail messages.\n\nChange-Id: Ibf2c0f147689fa236d349bd7f01eed3c2522552b\n"
    },
    {
      "commit": "00f7d0eaa6bd93d33bf0c1429bf4ba0b3f28abac",
      "tree": "6a2172ece15c4699e6c2a67ce76f019db0a9a21d",
      "parents": [
        "634ea28f78c4a138e6a1de54eae8696095422415"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jul 19 15:28:27 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 14 10:45:52 2012 -0700"
      },
      "message": "Global lock levels.\n\nIntroduce the notion of the mutators/GC being a shared-exclusive (aka\nreader-writer) lock. Introduce globally ordered locks, analysable by\nannotalysis, statically at compile time. Add locking attributes to\nmethods.\n\nMore subtly, remove the heap_lock_ and split between various locks that\nare held for smaller periods (where work doesn\u0027t get blocked). Remove\nbuggy Dalvik style thread transitions. Make GC use CMS in all cases when\nconcurrent is enabled. Fix bug where suspend counts rather than debug\nsuspend counts were sent to JDWP. Move the PathClassLoader to\nWellKnownClasses. In debugger refactor calls to send request and\npossibly suspend. Break apart different VmWait thread states. Move\nidentity hash code to a shared method.\n\nChange-Id: Icdbfc3ce3fcccd14341860ac7305d8e97b51f5c6\n"
    },
    {
      "commit": "24edeb5f13c2fe67344cab01cb248b8f94e6faf9",
      "tree": "3a2e9ca020df1c218fd2bb0b56d62e40e30d02c6",
      "parents": [
        "99356bda6dcb9d24596fc015b34681d5202b6441"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 18 15:29:46 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 18 15:45:32 2012 -0700"
      },
      "message": "Fix some camelCase.\n\nThese are the files that are mostly right but contain a few\northographic errors.\n\nChange-Id: I2ca1b5fad71c24f911fd55cfc91f7031af66be99\n"
    },
    {
      "commit": "0d39c12238499ca9ccc34d1532c443335e7c1044",
      "tree": "78a6befc07c5f24691234759eb2a8ddb488d0ef1",
      "parents": [
        "ebe2e0f2e5145ef8433c1459b9cd60ecd853ee76"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 06 16:41:17 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 06 17:31:26 2012 -0700"
      },
      "message": "\"InitGoogle\"-style argv stashing.\n\nThis lets us give the command line in crash dumps when dex2oat dies in the\ncontinuous build on the Mac. I\u0027ve also taken the opportunity to use the\nbasename of argv[0] as the default log tag, so dex2oat will now show up in\nlogcat as \"dex2oat\" instead of \"art\" (and we can probably stop manually\nprefixing dex2oat log output).\n\nAlso stash pthread_self() so we can _correctly_ report \"handle\u003d\" in the\nSIGQUIT output.\n\nChange-Id: Ia8249cd19bab5b816cb94a531a65becdfacaa98b\n"
    },
    {
      "commit": "72395bf298b7707ad9d93c3e51b57e1b8e010311",
      "tree": "8d2e6c3b6bd72ae27aa19979f301630fc438dfec",
      "parents": [
        "ae80b493748c5b6ffe310a91c651e7043f4b2dae"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 24 13:45:26 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 24 13:45:26 2012 -0700"
      },
      "message": "Support ANDROID_LOG_TAGS.\n\nThis is the dalvik-compatible solution to the \"I don\u0027t want non-FATAL logging\nin my test output\" problem.\n\nChange-Id: I51b7b883ce89604af4661696e7c7b041a0ef8211\n"
    },
    {
      "commit": "8593fdbacf97261f790ca53ea0ec416f57c987a7",
      "tree": "a9c97a2bc41a31c3a7f8f72d5f1c27bb34b8a627",
      "parents": [
        "e2f0911dfc7cec7c48ad0dea50f2028ae0f1fd0f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Apr 21 20:53:44 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Apr 21 20:53:44 2012 -0700"
      },
      "message": "Clean up host aborts (and simplify the code).\n\nChange-Id: I6efaf065304459df0e030f242f8d1d2fc6fdec4a\n"
    },
    {
      "commit": "93235f7b6ff000c80acf25cc998b853449c68c77",
      "tree": "a8f7eb2a38c8e686813ba57b41d8ac4b8ed5ad4a",
      "parents": [
        "b06cdefa11fd5088b8a423beec14d625f33d0205"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Mar 29 22:48:15 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Mar 29 22:48:15 2012 -0700"
      },
      "message": "Dump current klass_ on bad ChangeClass\n\nChange-Id: Idbe55d7e00a4b40993e6382b2bcfbb34ac39cc41\n"
    },
    {
      "commit": "bfbf0e2e081f6d24502eb294bed4102f8018d404",
      "tree": "5547c52424a0ba804bd4bb85ba91176a14406629",
      "parents": [
        "d2d5c2546733b579f8c7f1f8dd37d3bd85478dc8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 18:09:19 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 29 18:09:19 2012 -0700"
      },
      "message": "Make the hex dump more generally useful (specifically in CHECKs).\n\nChange-Id: I78a79f64abc70496e4575f753c44c939a3cbf5fd\n"
    },
    {
      "commit": "398f64b5805246765b699839b439e18c0dfbf2ee",
      "tree": "de3f86de82289b1734b12cdc7c4292f4aff16f55",
      "parents": [
        "ee0fa76b2e5d39ad36d1ff144b2d0270df81e606"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 26 18:05:48 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 26 18:05:48 2012 -0700"
      },
      "message": "Remove more lint, mostly C-style casts.\n\nChange-Id: Iaf1f23290e35ed48e5795fb20690953a9a834457\n"
    },
    {
      "commit": "b3bd5f07884f5a1f2b84224363b1372d7c28d447",
      "tree": "6e2997ab64b4a4f32d7ef539a4649adc736ea553",
      "parents": [
        "ddbd01ac1660d57416879d5a576482f1048dde64"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 08 21:05:27 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 09 15:37:46 2012 -0800"
      },
      "message": "Refactor the compilers out of libart.\n\nThis builds three separate compilers and dynamically links with the right one\nat runtime.\n\nChange-Id: I59d22b9884f41de733c09f97e29ee290236d5f4b\n"
    },
    {
      "commit": "11d1b0c31ddd710d26068da8e0e4621002205b4b",
      "tree": "8d9c9c0dd5741214466775b86069032d609fd91c",
      "parents": [
        "bbdb1437f55948e5395b4dcb306e25605539a444"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 23 16:57:47 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 23 17:26:10 2012 -0800"
      },
      "message": "Reduce namespace pollution.\n\nThis leaves us with just the mspace stuff and three libdex functions to clean\nup. We deliberately expose the JII API, and I don\u0027t think there\u0027s anything we\ncan really do about the art_..._from_code stuff (and at least that starts with\n\"art_\").\n\nChange-Id: I77e58e8330cd2afeb496642302dfe3311e68091a\n"
    },
    {
      "commit": "4dd9b4d95eec9db5338fb9bf132f9bb8facf6cf4",
      "tree": "f9dc6f6e6a55acea3a08f1f568ae6900c1dd7dd1",
      "parents": [
        "20a409c99a649a01cb7c65bd1089988445d8cdfd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 12 18:29:24 2011 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 13 08:23:08 2011 -0800"
      },
      "message": "Clean up verbose logging.\n\nChange-Id: I6b01980e7145c4f8d25a5b50f620903f61a1b427\n"
    },
    {
      "commit": "21f32d704a21bcd67d7b87b149b6314ff92946cb",
      "tree": "5546826bb2f700d88f3561c660b6e74eefc52b7d",
      "parents": [
        "545a064aca775ba801790fced3d713d8a87bfc61"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 09 17:44:13 2011 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 09 18:21:37 2011 -0800"
      },
      "message": "Fix some DDMS stuff I\u0027d broken, and fix HexDump\u0027s double-spacing.\n\nChange-Id: I6583458a818406197744cc640b0993f73cfd5384\n"
    },
    {
      "commit": "872d4ec7225444d9400d30f9027247deb91012fd",
      "tree": "f293f31987efc6b43ab64fe043390959dc59c816",
      "parents": [
        "8f903f2c1832a93d3b479d412664e0972cc14d6a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 21 17:07:15 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 21 17:51:01 2011 -0700"
      },
      "message": "Bring across the JDWP implementation.\n\nThis compiles and links, but does nothing until we fill out the 100 or so\nunimplemented methods in \"debugger.cc\". Note that I also need to add the\nextra command-line handling for the JDWP agent stuff, and add calls from\nthe runtime to the various \"something interesting is going on\" hooks.\n\nChange-Id: I477cf3caf9e248c384ce1d739cbfadb60e2008bc\n"
    },
    {
      "commit": "3b6baaa203fa63f1522b2172a1645f90412afdae",
      "tree": "7de428a7d53f2b2b9c2274d49181befd5786b8fa",
      "parents": [
        "7abe9c933402f01d638086b2715b09b64b8595e0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 14 19:13:56 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 16 11:01:28 2011 -0700"
      },
      "message": "Bring our native stack usage down.\n\nI\u0027d have preferred to have a 512-byte limit, but there are some monsters\nin the verifier; 2000-line functions and the like. I\u0027m also not policing\ntests (except for one silly one). They can use all the stack they like.\n\nThis fixes the IntMath test (the stack overflow test was failing because\nwe were using more than 4KiB to throw!).\n\nChange-Id: I7e53e2fde2b39fde1910f8ee5b1712e8a66069c7\n"
    },
    {
      "commit": "f5a7a476e7ea63e094ff0f011dccc170607e6f6b",
      "tree": "4f07e57d5e3d2a82eeefcb7c6409f36b383b1d96",
      "parents": [
        "c2858561314513cc7bce2da7e13664aefef5a2ac"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 07 14:31:02 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 07 15:08:48 2011 -0700"
      },
      "message": "Enhance CHECK_EQ and friends to allow extra detail to be appended (like CHECK).\n\nChange-Id: Iaa980892ab31621c8bcca9ea7c6c4ee743333f45\n"
    },
    {
      "commit": "8daa0929f08a3080ea64dbd4e997e72f411e6fc9",
      "tree": "cecee23131d5e0357c17c44bcccc7ddcfb31b925",
      "parents": [
        "4b620ffb1b4d0c96a94bb3afe314f35d53990ec6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 11 13:46:25 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 11 14:01:57 2011 -0700"
      },
      "message": "More threads work.\n\nAdds stubs (and sometimes implementations) for dalvik.system.VMStack and\njava.lang.Thread native methods. There was a bug in the dalvik\nthread priority setting code, where the current thread and the passed-in\nthread were confused.\n\nI\u0027ve also pulled Mutex and ThreadList out into their own files, and\nmoved some functionality around (with the aim of having more stuff\nprivate, especially locks).\n\nChange-Id: Ieb0f22669cac3df44ca34f7868f8e7d4dfa09ab6\n"
    },
    {
      "commit": "5fe594f576225dd7d333835e39c448a71ea9b433",
      "tree": "f9b6203abaf07df1421f6e7cadcbb2c307cef5b2",
      "parents": [
        "4ef765227a0098b6f4dfe47d2d7a6f084cec9560"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 08 12:33:17 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 08 14:26:18 2011 -0700"
      },
      "message": "A bit further along the track of multiple threads.\n\nThis also makes valgrind happy, and tsan mostly happy. (The heap, it turns out,\ndoesn\u0027t have a lock yet.)\n\nThe DexVerifier changes are just to make valgrind happy, and the code a little\nless unidiomatic.\n\nChange-Id: Ic5d436b4863b9d7088eb0b8fe9d32308919899d8\n"
    },
    {
      "commit": "13f5a583d7120861170a3b93f60cb3adef2a31bf",
      "tree": "4b7970af2d111d371e09594d3bf84995e80bdae5",
      "parents": [
        "42ee14279065352a4b9a3e8028d02c567e847d05"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 06 13:39:14 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 06 13:39:14 2011 -0700"
      },
      "message": "Add missing file from last commit.\n\nChange-Id: Ia2b35a812b6787f27ec0c2935cd637a177caa92e\n"
    }
  ]
}
