)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "cdfd39f579574a75b98e7ad48c69826b00361b27",
      "tree": "0f057472d19bf290766e20ea3ad63d0b28ee83a1",
      "parents": [
        "9a4f02722051955e536d6aacb776d637a6713545"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 29 18:16:58 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 02 14:39:49 2014 -0700"
      },
      "message": "Change intern table to unordered set.\n\nIntern table active used bytes goes from 430k to 317k on system\nserver. Similar %wise savings on other apps.\n\nBug: 16238192\n\n(cherry picked from commit d910fcef539e12ab181e56ec80684f39c4e95733)\n\nChange-Id: Ic70395124435c6f420a77e6d8639404a160f395a\n"
    },
    {
      "commit": "37f05ef45e0393de812d51261dc293240c17294d",
      "tree": "7c7793862efa52e1deb42babbdcb652c245ab941",
      "parents": [
        "e25826e28ea65d9c1aa23f84788a091c677b20c7"
      ],
      "author": {
        "name": "Fred Shih",
        "email": "ffred@google.com",
        "time": "Wed Jul 16 18:38:08 2014 -0700"
      },
      "committer": {
        "name": "Fred Shih",
        "email": "ffred@google.com",
        "time": "Mon Aug 25 11:16:53 2014 -0700"
      },
      "message": "Reduced memory usage of primitive fields smaller than 4-bytes\n\nReduced memory used by byte and boolean fields from 4 bytes down to a\nsingle byte and shorts and chars down to two bytes. Fields are now\narranged as Reference followed by decreasing component sizes, with\nfields shuffled forward as needed.\n\nBug: 8135266\nChange-Id: I65eaf31ed27e5bd5ba0c7d4606454b720b074752\n"
    },
    {
      "commit": "98d1cc8033251c93786e2fa8c59a2e555a9493be",
      "tree": "f0a76b8fff060ee484af09028da65a8339d57057",
      "parents": [
        "aebf3cda094f34cf846d19a7724bdc8005267c95"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu May 15 17:02:16 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jul 11 17:17:10 2014 -0700"
      },
      "message": "Improve performance of invokevirtual/invokeinterface with embedded imt/vtable\n\nAdd an embedded version of imt/vtable into class object. Both tables start at\nfixed offset within class object so method/entry point can be loaded directly\nfrom class object for invokeinterface/invokevirtual.\n\nBug: 8142917\nChange-Id: I4240d58cfbe9250107c95c0708c036854c455968\n"
    },
    {
      "commit": "b0fa5dc7769c1e054032f39de0a3f6d6dd06f8cf",
      "tree": "839d13ebfa7170967dd9b4abd434b7abda53da99",
      "parents": [
        "948740c1938860df055ddc801f20fd1707331e38"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Apr 28 16:47:08 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 29 14:36:28 2014 -0700"
      },
      "message": "Force inlining on trivial accessors.\n\nMake volatility for GetFieldObject a template parameter.\nMove some trivial mirror::String routines to a -inl.h.\n\nBug: 14285442\n\nChange-Id: Ie23b11d4f18cb15a62c3bbb42837a8aaf6b68f92\n"
    }
  ]
}
