)]}'
{
  "log": [
    {
      "commit": "e36e7f2226e4e08b7a7094f78cb80bbe0e729c2b",
      "tree": "0787ae19a232728121a60791f3a18094529120f1",
      "parents": [
        "244470afafdb1c5aba17507ef793d316b9c4d038"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Nov 14 14:21:23 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Nov 27 17:31:01 2018 +0000"
      },
      "message": "Store ImtIndex in ArtMethod.\n\nThis avoids recalculation and reduces pressure on the thread local cache.\n\nThis halves the time we spend hashing from 2% to 1% (maps on device).\n\nTest: ./art/test.py -b --host --64\nChange-Id: I2407bd9c222de4ddc6eea938908a1ac6d7abc35b\n"
    },
    {
      "commit": "6c2b86ea5347883564cf4450adbe79922bd8b458",
      "tree": "f39d824d8cf0744303356874cf7d8e28e9a801ae",
      "parents": [
        "e7019db7f0dce1bbad836396710c792fd39593fc"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Oct 15 12:57:20 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Oct 15 22:40:56 2018 +0100"
      },
      "message": "Cache the ImtTable index in the interpreter.\n\nThe index is fairly expensive to calculate; cache it.\n\nThis makes the interpreter 1% faster on average (golem; arm64),\nwith some benchmarks being up to 15% faster.\n\nTest: test.py -b --interpreter --host\nChange-Id: If77340967148254c47974538c3ebf051a055d4b0\n"
    },
    {
      "commit": "ef79aa317437d5ba2bc2e3dd197cd893a57b0d19",
      "tree": "9f580f5e337c1a9efb61b09ada50ef378c6d147e",
      "parents": [
        "233b572a940431a94a1790750afdceab2d6f4fde"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat Sep 08 18:02:36 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Sep 27 20:21:38 2018 +0100"
      },
      "message": "Use the small thread-local cache for mterp field accesses.\n\nThis reduces the overhead of non-quickened code from 10% to 7.5%.\n(measured on golem benchmarks for arm64)\n\nTest: ./art/test.py -b -r --interpreter\nChange-Id: Icce9183eb60c62ac30a0c6ff57e32c796c807f03\n"
    },
    {
      "commit": "912f36c954a91bdc7d9801a111ba089ec2a23681",
      "tree": "87e576e86867140c478d6959ce20a261daaad60a",
      "parents": [
        "26f048f48cdb1e884aab2b6fddf26d58346d29ad"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat Sep 08 12:22:58 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Sep 27 15:16:09 2018 +0100"
      },
      "message": "Add small thread-local cache for use by the interpreter.\n\nSmall (one page) cache which can be used on the hottest paths\nin the interpreter and which does not require synchronisation.\nThis CL adds the code but it does not use it for anything yet.\n\nTest: test-art-host-gtest\nChange-Id: I41d4e7a86a0f62f7a4efc165b8934232b4e766c7\n"
    }
  ]
}
