)]}'
{
  "log": [
    {
      "commit": "ca620d7bc03b23a0bcf0ef58df58603ee000dca0",
      "tree": "07cb026075b70a958d14ae84b4e213178a6ba0b4",
      "parents": [
        "b02b8d7df48ea3314cfcb3c08d84ac9556363833"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 08 08:09:33 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 08 15:04:48 2016 -0800"
      },
      "message": "ART: Fix tidy warnings\n\nSwitch to char versions of find variants.\n\nAdd \"explicit\" constructor variants or refactor and\nremove defaults.\n\nUse const references.\n\nBug: 32619234\nTest: m test-art-host\nChange-Id: I970cc2f47d6cf8f0c74104b994b075b2fafb3d45\n"
    },
    {
      "commit": "4464a3efcf8dcddfb00d7db0c3add9a7acb6642e",
      "tree": "6200ef3fb4796254224dcc3df37aa7986cf269f8",
      "parents": [
        "4a01be2b1a7de5ce68cb5a453eb7cb4fc6c6658b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 03 20:15:47 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 03 20:15:47 2016 -0800"
      },
      "message": "ART: Fix UTF test and monitor pool old chunks\n\nZero-initialize buffers in utf_test. UTF conversion does not\nappend a zero terminator, but the test uses strlen to check the\nbyte count.\n\nMove to unique_ptr for storing old monitor-pool chunk data to\nfix a leak.\n\nBug: 27156726\nChange-Id: I14424c6f98cf47beab6243f83a335bd6a682c638\n"
    },
    {
      "commit": "91d65e024846717fce3572106cffe9b957b8902c",
      "tree": "22ea1a91afdd552a31bb2365a9eae034ae0a1c9b",
      "parents": [
        "1bcbcf8e848d18b19d248c3d15f77c888f2b5f04"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jan 19 15:59:16 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jan 19 15:59:16 2016 +0000"
      },
      "message": "Fix various typos in ART\u0027s comments and string literals.\n\nChange-Id: I85d628055b1a61647a77fef730c9631c234e22a2\n"
    },
    {
      "commit": "e3bbc3f5ca5dc0fd6e03cacf98f3c9ac802063c1",
      "tree": "c41021373d9cfb21b52562fa9b25583e39cb242c",
      "parents": [
        "3b9957bfdb38c1048809f000afc7e771fd1a24db"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 25 11:10:20 2015 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 25 12:09:36 2015 +0000"
      },
      "message": "ART: Improve utf_test for unpaired surrogates.\n\nThis is a follow-up to\n    https://android-review.googlesource.com/180986\n\nChange-Id: I8982a63c0ec48bf3b3198c278a96be7b5dfc2152\n"
    },
    {
      "commit": "1646d7a22e43a1fb25452ead47a4073e63d7f391",
      "tree": "afa5614a1d262e83b3da57930a5266715e8acd97",
      "parents": [
        "0f0d5f370dca8bbdb97c61ea30e1b0476ee7749a"
      ],
      "author": {
        "name": "Bruce Hoult",
        "email": "b.hoult@samsung.com",
        "time": "Wed Oct 28 15:06:12 2015 +0300"
      },
      "committer": {
        "name": "Artem Udovichenko",
        "email": "artem.u@samsung.com",
        "time": "Tue Nov 24 13:36:30 2015 +0300"
      },
      "message": "Optimize some commonly used utf8 functions by:\n\n- using counted loops instead of searching for terminating null. In\n  the important cases the caller already knows the length: change\n  the API to pass it in. Keep the old API version as well to avoid\n  extensive changes to non-critical debug and test code.\n\n- ensure the common cases are at the start of if/then/else chains.\n  Usually 99+% of characters are ASCII even in mixed strings.\n\n- for the \"convert\" functions, when both utf8 and utf16 lengths are\n  passed, and are equal, it means the entire string is ASCII, and a\n  specialized loop can be used. The compiler might then unroll or\n  even vectorize this.\n\nThe functions improved are (tested on Nexus 5 with a 44 character\nASCII string):\n\nCountModifiedUtf8Chars    :  20% faster\nConvertUtf16ToModifiedUtf8:  80% faster\nConvertModifiedUtf8ToUtf16: 200% faster\n\nAlso for completeness CountUtf8Bytes has been cleaned up a little, but\nthe speed is unchanged. Unlike CountModifiedUtf8Chars, it was already\npassed the length, rather than searching for null.\n\nChange-Id: I1c9b7dea3eda869fc9f5f6b4dd6be8cdd5bc3ac0\n"
    },
    {
      "commit": "e16dad1d6388b0305f13e2171308a77f42e7c682",
      "tree": "a56d002ba622ecce7f1310e8fac56adca6547d5a",
      "parents": [
        "ebfd062af849a915bd75eebd81c6fdea15b1d8d5"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Feb 13 11:49:22 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Mar 25 08:46:51 2015 +0000"
      },
      "message": "Emit 4 byte UTF-sequences in place of encoded surrogate pairs.\n\nSymmetric with a5afcfc73141e5e378d79a326d0 which converts 4 byte UTF-8\nsequences to surrogate pairs.\n\nbug: 18848397\n\nChange-Id: I42adc275b7e0df0cbbd9d8a799e8b0447d8f5cae\n"
    },
    {
      "commit": "a5afcfc73141e5e378d79a326d02c5c2039fb025",
      "tree": "424add9558fb816c4f1d2f4edd128f4f2a086d9a",
      "parents": [
        "5a3399deaf448c8434d9ba0916ff799b1b791d95"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Jan 29 20:06:46 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Feb 12 11:54:37 2015 +0000"
      },
      "message": "Be more lenient with 4 byte UTF-8 sequences.\n\nAccept 4 byte sequences and convert them into surrogate\npairs instead of expecting 2 separate 3 byte sequences\neach encoding one half of a surrogate pair.\n\nNote that in addition to supporting 4 byte sequences in\nstrings from JNI, we also tolerate them in dex files. This\nis mainly for consistency, and there\u0027s no need to claim any\nsort of official support.\n\nbug: 18848397\nbug: https://code.google.com/p/android/issues/detail?id\u003d81341\nChange-Id: Ibc98d29e59d98803e640f2489ea4c56912a59b29\n"
    }
  ]
}
