)]}'
{
  "log": [
    {
      "commit": "2c64a837e62c2839521c89060b5bb0dcb237ddda",
      "tree": "65475ed2e313ff17354e741bac7e9c85739b8b95",
      "parents": [
        "6cd0005698181e4cef2247b632d396e605d58fa3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jan 04 11:31:56 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jan 05 11:27:50 2018 +0000"
      },
      "message": "Change ClassStatus to fit into 4 bits.\n\nIn preparation for extending the type check bit string from\n24 to 28 bits, rewrite ClassStatus to fit into 4 bits. Also\nperform a proper cleanup of the ClassStatus, i.e. change it\nto an enum class, remove the \"Status\" word from enumerator\nnames, replace \"Max\" with \"Last\" in line with other\nenumerations and remove aliases from mirror::Class.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --optimizing\nBug: 64692057\nBug: 65318848\nChange-Id: Iec1610ba5dac2c527b36c12819f132e1a77f2d45\n"
    },
    {
      "commit": "86083f7cd118f3d6c757191e83b4e4abaabdc5d7",
      "tree": "8e5b81ae0d09d41bfd90284a1b6b16b2332435e5",
      "parents": [
        "495e783c9180c3fc033ce459ee0a783e633f7754"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Oct 27 10:59:04 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Nov 07 14:47:51 2017 -0800"
      },
      "message": "runtime: Bitstring implementation for subtype checking (4/4).\n\nIntegrate the previous CLs into ART Runtime. Subsequent CLs to add\noptimizing compiler support.\n\nUse spare 24-bits from \"Class#status_\" field to\nimplement faster subtype checking in the runtime. Does not incur any extra memory overhead,\nand (when in compiled code) this is always as fast or faster than the original check.\n\nThe new subtype checking is O(1) of the form:\n\n  src \u003c: target :\u003d\n    (*src).status \u003e\u003e #imm_target_mask \u003d\u003d #imm_target_shifted\n\nBased on the original prototype CL by Zhengkai Wu:\nhttps://android-review.googlesource.com/#/c/platform/art/+/440996/\n\nTest: art/test.py -b -j32 --host\nBug: 64692057\nChange-Id: Iec3c54af529055a7f6147eebe5611d9ecd46942b\n"
    },
    {
      "commit": "ee5303f76ef167714a6a04d3abc502584ac5e103",
      "tree": "7f414df9d48dda94872421de4192daf6ec731681",
      "parents": [
        "c101222c854a0c476f5b6ae64e20adbd38126a3c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 31 15:34:42 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 05 10:46:07 2017 -0700"
      },
      "message": "ART: Move Class::Status to ClassStatus\n\nMove the enum to its own file to lower include burden on others.\nThis is an intentionally small and localized change. Users will\nbe cleaned up in a follow-up.\n\nBug: 63467744\nBug: 65318848\nTest: m test-art-host\nChange-Id: If3bfe6953973e24623e78a2a8dcc69b50117aa3c\n"
    }
  ]
}
