)]}'
{
  "log": [
    {
      "commit": "7ed9c561048d79083b6d0576c71a986a3123bca6",
      "tree": "8e352f05dc5e82126dd61e0e8e6ddb2a1003e16a",
      "parents": [
        "c3cf1d2e35a45bd2e2c60fbc9c2a1a6a56dfc529"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Feb 02 15:22:09 2016 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Feb 05 12:12:44 2016 -0800"
      },
      "message": "Use 8-byte increment bracket sizes for rosalloc thread local runs.\n\nVery small space savings (\u003c 1%) after device boot and up to 10%\nallocation speedup.\n\nSome minor cleanup.\n\nBug: 9986565\n\nChange-Id: I51d791c4674d6944fe9a7ee78537ac3490c1a02c\n"
    },
    {
      "commit": "31bf42c48c4d00f0677c31264bba8d21618dae67",
      "tree": "65bd37da9543dd856a1adaf60268a11b87297f95",
      "parents": [
        "8e7b964be2fab9b6bbb30cf8897617424d0fe85f"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Sep 24 11:20:29 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Sep 30 14:32:24 2015 -0700"
      },
      "message": "Use free lists instead of bitmaps within rosalloc runs.\n\nSpeedups (CMS GC/N5)\nBinaryTrees:  2008 -\u003e 1694 ms (-16%)\nMemAllocTest: 2303 -\u003e 2076 ms (-10%)\n\nTODO: Add assembly fast path code.\n\nBug: 9986565\n\nChange-Id: I9dd7cbfd8e1ae083a399e70abaf2064a959f24fa\n"
    },
    {
      "commit": "1e13374baf7dfaf442ffbf9809c37c131d681eaf",
      "tree": "9a8a53295a8389d7ec10accf3efb8785a97a3599",
      "parents": [
        "f68c8545382925062da2b87169ca2b5314f0b431"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Wed May 20 12:30:59 2015 -0700"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Mon Jul 13 17:38:40 2015 -0700"
      },
      "message": "Generalize Valgrind annotations in ART to support ASan.\n\nAlso add redzones around non-fixed mem_map(s).\nAlso extend -Wframe-larger-than limit to enable arm64 ASan build.\n\nChange-Id: Ie572481a25fead59fc8978d2c317a33ac418516c\n"
    },
    {
      "commit": "4460a84be92b5a94ecfb5c650aef4945ab849c93",
      "tree": "2167b79cf593d5ff686aaf0e3bca3b7c571c6d69",
      "parents": [
        "4cfe74cb50b73f5f4b6dd32aabed55d044afe348"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Mar 09 11:57:48 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Mar 11 15:32:59 2015 -0700"
      },
      "message": "Rosalloc thread local allocation path without a cas.\n\nSpeedup on N4:\nMemAllocTest 3044 -\u003e 2396 (~21% reduction)\nBinaryTrees  4101 -\u003e 2929 (~26% reduction)\n\nBug: 9986565\nChange-Id: Ia1d1a37b9e001f903c3c056e8ec68fc8c623a78b\n"
    },
    {
      "commit": "d7576328811e5103e99d31f834a857522cc1463f",
      "tree": "5c20cecc09ca8786434b663cbfcad31e56c7ac72",
      "parents": [
        "b7ce2074ef43ff221cdec6ddba953f0b0c67447b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 24 22:13:45 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 06 19:47:07 2014 -0800"
      },
      "message": "ART: Fix valgrind\n\nAllow ValgrindMallocSpace wrapper for RosAlloc.Requires refactoring,\nas ValgrindMallocSpace was bound to the signature of DlMallocSpace.\n\nAlso turn of native stack dumping when running under Valgrind to\nwork around b/18119146.\n\nRitzperf before and after\nMean               3190.725   3082.475\nStandard Error     11.68407   10.37911\nMode               3069       2980\nMedian             3182.5     3051.5\nVariance           16382.117  12927.125\nStandard Deviation 127.99264  113.69751\nKurtosis           1.1065632  0.3657799\nSkewness           0.9013805  0.9117792\nRange              644        528\nMinimum            2991       2928\nMaximum            3635       3456\nCount              120        120\n\nBug: 18119146\nChange-Id: I25558ea7cb578406011dede9d3d0bdbfee4ff4d5\n"
    },
    {
      "commit": "13735955f39b3b304c37d2b2840663c131262c18",
      "tree": "0a731ac42b8230f9929172fa3e3d8051874e2b18",
      "parents": [
        "25b18bbdaa36ff936eb44f228f0518d4223e9d52"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 08 12:43:28 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 09 16:05:58 2014 -0700"
      },
      "message": "stdint types all the way!\n\nChange-Id: I4e4ef3a2002fc59ebd9097087f150eaf3f2a7e08\n"
    },
    {
      "commit": "0651d41e41341fb2e9ef3ee41dc1f1bfc832dbbb",
      "tree": "ad060fe7f37f4958d15d15d868e0cf6fb074d2cb",
      "parents": [
        "adcfc69aa94cc1d406ef78e194b1ac36e389ad95"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 29 14:37:57 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 30 15:23:36 2014 -0700"
      },
      "message": "Add thread unsafe allocation methods to spaces.\n\nUsed by SS/GSS collectors since these run with mutators suspended and\nonly allocate from a single thread. Added AllocThreadUnsafe to\nBumpPointerSpace and RosAllocSpace. Added AllocThreadUnsafe which uses\ncurrent runs as thread local runs for a thread unsafe allocation.\nAdded code to revoke current runs which are the same idx as thread\nlocal runs.\n\nChanged:\nThe number of thread local runs in each thread is now the the number\nof thread local runs in RosAlloc instead of the number of size\nbrackets.\n\nTotal GC time / time on EvaluateAndApplyChanges.\nTLAB SS:\nBefore: 36.7s / 7254\nAfter: 16.1s / 4837\n\nTLAB GSS:\nBefore: 6.9s / 3973\nAfter: 5.7s / 3778\n\nBug: 8981901\n\nChange-Id: Id1d264ade3799f431bf7ebbdcca6146aefbeb632\n"
    },
    {
      "commit": "73d1e17b3afc7d5e56184f90bf819dc64956448a",
      "tree": "6fee546dcebc0c8979a62be7e75c337f79b2ac2e",
      "parents": [
        "e8256e7773a230337c3d137cbf0365f737820405"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 11 17:53:48 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 25 14:08:49 2014 -0700"
      },
      "message": "Enable reading page map without lock in RosAlloc::BulkFree\n\nEnabling this flag greatly reduces how much time was spent in the GC.\nIt was not done previously since it was regressing MemAllocTest. With\nthese RosAlloc changes, the benchmark score no longer regresses after\nwe enable the flag.\n\nChanged Run::AllocSlot to only have one mode of allocation. The new\nmode is finding the first free bit in the bitmap. This was\npreviously the slow path but is now the fast path. Some optimizations\nwhich enabled this include always having the alloc bitmap bits which\ncorrespond to invalid slots be set to 1. This prevents us from needing\na bound check since we will never end up allocating there.\n\nChanged revoking thread local buffer to point to an invalid run. The\ninvalid run is just a run which always has all the allocation bits set\nto 1. When a thread attempts to do a thread local allocation from here\nit will always fail and go slow path. This eliminates the need for a\nnull check for revoked runs.\n\nChanged zeroing of memory to happen during free, AllocPages should\nalways return zeroed memory. Added prefetching which happens when we\nallocate a run.\n\nSome refactoring to reduce duplicated code.\n\nErgonomics changes: Changed kStickyGcThroughputAdjustment to 1.0,\nthis helps reduce GC time.\n\nMeasurements (3 samples per benchmark):\nBefore: MemAllocTest scores: 3463, 3445, 3431\nEvaluateAndApplyChanges score | total GC time\nIter 1: 3485, 23.602436s\nIter 2: 3434, 22.499882s\nIter 3: 3483, 23.253274s\n\nAfter: MemAllocTest scores: 3495, 3417, 3409\nEvaluateAndApplyChanges score | total GC time:\nIter 1: 3375, 17.463462s\nIter 2: 3358, 16.185188s\nIter 3: 3367, 15.822312s\n\nBug: 8788501\nBug: 11790317\nBug: 9986565\nChange-Id: Ifd273a054824028dabed27c07c081dde1816f93c\n"
    },
    {
      "commit": "3c2856e939f3daa7a95a1f8cb70f47e7a621db3c",
      "tree": "02483d5826ee7542394936f6bcce8aa66a462887",
      "parents": [
        "b6b4c459ef823ba62696796542519655c79423c2"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Nov 22 13:42:53 2013 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Nov 22 13:42:53 2013 -0800"
      },
      "message": "Inline RosAlloc::Alloc().\n\nBug: 9986565\nChange-Id: I9bc411b8ae39379f9d730f40974857a585405fde\n"
    }
  ]
}
