)]}'
{
  "log": [
    {
      "commit": "277ccbd200ea43590dfc06a93ae184a765327ad0",
      "tree": "d89712e93da5fb2748989353c9ee071102cf3f33",
      "parents": [
        "ad17d41841ba1fb177fb0bf175ec0e9f5e1412b3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 21:36:10 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 04 18:40:08 2014 -0800"
      },
      "message": "ART: More warnings\n\nEnable -Wno-conversion-null, -Wredundant-decls and -Wshadow in general,\nand -Wunused-but-set-parameter for GCC builds.\n\nChange-Id: I81bbdd762213444673c65d85edae594a523836e5\n"
    },
    {
      "commit": "cd48f2d86197d4fe87cc88077bc4af5ba66e5295",
      "tree": "a678a9eafd72d80cb6d7581b99cc11bc9cf64911",
      "parents": [
        "5bc47ebe278af65e8e2a2d6b603ac94a020285f7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 09 13:51:09 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 09 13:51:09 2014 -0700"
      },
      "message": "Change Reference.get() intrinsic to Reference.getReferent().\n\nThe reference intrinsic was incorrectly inlining\nPhantomReference.get(). We now get around this by adding a\nlayer of indirection. Reference.get() now calls getReferent()\nwhich is intrinsified and inlined.\n\nRequires:\nhttps://android-review.googlesource.com/#/c/107100/\n\nBug: 17429865\nChange-Id: Ie91e70abf43cedf3c707c7bb8a5059e19d2a2577\n"
    },
    {
      "commit": "78f7b4c04ab6e8b5581921bc95b67a9beee1c246",
      "tree": "78b93c72007478b5bfc3b88ab413fa3d772da723",
      "parents": [
        "052a647973b590c9d5007a2e16f313f4e32a70bd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 06 10:57:27 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 07 15:28:35 2014 -0700"
      },
      "message": "Add concurrent reference processing.\n\nConcurrent reference processing currently works by going into native\ncode from java.lang.ref.Reference.get(). From there, we have a fast\npath if the references aren\u0027t being processed which returns the\nreferent without needing to access any locks. In the slow path we\nblock until reference processing is complete. It may be possible to\nimprove the slow path if the referent is blackened.\n\nTODO: Investigate doing the fast path in java code by using racy reads\nof a static volatile boolean. This will work as long as there are no\nsuspend points inbetween the boolean read and referent read.\n\nBug: 14381653\n\nChange-Id: I1546b55be4691fe4ff4aa6d857b234cce7187d87\n"
    }
  ]
}
