)]}'
{
  "log": [
    {
      "commit": "14412079e6eba4d16f40c0bdc5e94812e1c7f5bc",
      "tree": "dda2e1759c10b05de64cd23b434d76d590469618",
      "parents": [
        "526ec078c7e4ace31193d7f49ded661ea0929292",
        "df1ccff0cf571076bed72e37492b000b08a7dd26"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Oct 08 22:25:50 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 08 22:25:50 2015 +0000"
      },
      "message": "Merge \"Revert \"Disable clang optimization to boot up on arm64.\"\""
    },
    {
      "commit": "df1ccff0cf571076bed72e37492b000b08a7dd26",
      "tree": "e373871d3b56a161eacd7a1d25846c2a39b0ad62",
      "parents": [
        "1675f2c5581c7b0b83c8823e2b4eb0ec62b28b7f"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Oct 08 21:00:10 2015 +0000"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Oct 08 21:48:30 2015 +0000"
      },
      "message": "Revert \"Disable clang optimization to boot up on arm64.\"\n\nThis reverts commit 1675f2c5581c7b0b83c8823e2b4eb0ec62b28b7f.\n\nWith latest Android source, now we can boot up without this workaround.\n\nBUG: 19180814\n\nChange-Id: I8a7852573856dbbe10a5f4823f7261b8ecc7490c\n"
    },
    {
      "commit": "067f1ed7816cf4eb5d6258ca31b387ddb2073ab7",
      "tree": "2f1cff344eea6d7792e375f43578bf73095e02d4",
      "parents": [
        "4b2e98fc8c257a27a95fecbc859fcc617e2fa827"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 07 08:29:13 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 07 16:40:25 2015 -0700"
      },
      "message": "ART: Remove TODO in BitVector\n\nRefactor the BitVector constructor: split it up to remove the\npossibility to provide contradicting parameters, and add a custom\ncopying constructor.\n\nChange-Id: Ie943f279baa007db578aea0f2f33fa93311612ee\n"
    },
    {
      "commit": "83d46ef1eaa8fdecadfdb9564d80e50b42646c37",
      "tree": "c009b65e982a72c78cbfe6b203c3e942275c8531",
      "parents": [
        "f3962119654ac1f02e7ec891e1526ca8045542aa"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 12 18:27:20 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 12 18:37:17 2015 +0100"
      },
      "message": "Quick: Fix DCE to mark wide register overlaps correctly.\n\nPreviously we missed some cases of overlap with registers\ncoming from previous blocks.\n\nBug: 20640451\nChange-Id: I4b32a7aaea2dea1b0b9560ae3459a4d903683f20\n"
    },
    {
      "commit": "7d275379bf490a87805852129e3fe2e8afe961e7",
      "tree": "d0bbe856872c92773931c62e6881b0305a916236",
      "parents": [
        "223f2f5b2a20ca8246da1523494900a2424d5956"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Apr 21 16:36:35 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Apr 21 17:17:11 2015 +0100"
      },
      "message": "ART: Update loop info of all nested loops when inlining\n\nWhen inlining into a nested loop, the inliner would only add the new\nblocks into the innermost loop info object. This patch fixes that and\nmodifies SsaChecker to verify the property.\n\nChange-Id: I21d343a6f7d972f5b7420701f816c65ab3f20566\n"
    },
    {
      "commit": "1675f2c5581c7b0b83c8823e2b4eb0ec62b28b7f",
      "tree": "bb0ca0614452268d8e0aafb68d2b76972c29d380",
      "parents": [
        "ab7f56d9b9838811cb01773e45999e2cda4aa03a"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Jan 30 15:37:34 2015 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Jan 30 15:37:34 2015 -0800"
      },
      "message": "Disable clang optimization to boot up on arm64.\n\nOn arm64 devices, clang compiled lib64/libart.so repeatedly\ncrashes during boot up stage. That prevents a stable adb connection.\nWhen optimization of BitVector::NumSetBits is disabled,\nwe can boot up to Android home screen, although some Apps\nare still unstable.\nThis is a temporary workaround only for clang/llvm arm64 target,\nto enable concurrent debugging on other bugs.\n\nBUG: 19180814\nChange-Id: Id82497ce4be0b2c30d36679d15394848d826f50c\n"
    },
    {
      "commit": "575e78c41ece0dec969d31f46be563d4eb7ae43b",
      "tree": "16906df0ba0912a6cb01b3139ba7c60d5f9d09b7",
      "parents": [
        "2998e9cdc9f19c30c4944a4726ed9f147de79ebd"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 23:41:03 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 03 23:41:03 2014 -0800"
      },
      "message": "ART: Replace COMPILE_ASSERT with static_assert (runtime)\n\nReplace all occurrences of COMPILE_ASSERT in the runtime tree.\n\nChange-Id: I01e420899c760094fb342cc6cb9e692dd670a0b2\n"
    },
    {
      "commit": "5a2e4ccabf4cda7050c63685be23339eac8779df",
      "tree": "ffa58c9c51de081b0f8e0916f12a025eaa223ed4",
      "parents": [
        "a8825e4b38ae01fa77d255ca423ab2f2b77c6097"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 15:13:22 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 30 15:13:22 2014 -0700"
      },
      "message": "Fix mixed signed/unsigned arithmetic in BitVector.\n\nChange-Id: I59c7f5a26e42689f77b067f4c73b086335e9273d\n"
    },
    {
      "commit": "dc8aa69496ea43f0a60f1f527822a90f6c3d6d03",
      "tree": "7c60de57e6e3e43f4c1797e58238e62f8e447134",
      "parents": [
        "dc9667e50f6adf99f2d4cfea27b4abcbf42e6a3f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 24 21:32:07 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 24 21:32:07 2014 -0700"
      },
      "message": "ART: Fix leak in bit_vector\n\nResizing leaks the original storage. Let the allocator know it\u0027s\nfree.\n\nBug: 18120044\nChange-Id: Ib95a87c3036f36377d64351173f8c04f28855663\n"
    },
    {
      "commit": "aea6888b056be21adf762e066c7f33b8939b8a06",
      "tree": "bfa17655ed3060b41e1cfd1583e590e9d9042f0a",
      "parents": [
        "b08f4dcf90215ed49e0b796ab3e609bd605be8ba",
        "c7dd295a4e0cc1d15c0c96088e55a85389bade74"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 22 19:10:23 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 22 19:10:24 2014 +0000"
      },
      "message": "Merge \"Tidy up logging.\""
    },
    {
      "commit": "c7dd295a4e0cc1d15c0c96088e55a85389bade74",
      "tree": "0c08a2236bc9ba5d9a4dc75d4dd0ed2d76f8f1c6",
      "parents": [
        "94e5af8602150efa95bde35cc9be9891ddf30135"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 21 23:31:19 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 22 12:06:23 2014 -0700"
      },
      "message": "Tidy up logging.\n\nMove gVerboseMethods to CompilerOptions. Now \"--verbose-methods\u003d\" option to\ndex2oat rather than runtime argument \"-verbose-methods:\".\nMove ToStr and Dumpable out of logging.h, move LogMessageData into logging.cc\nexcept for a forward declaration.\nRemove ConstDumpable as Dump methods are all const (and make this so if not\ncurrently true).\nMake LogSeverity an enum and improve compile time assertions and type checking.\nRemove log_severity.h that\u0027s only used in logging.h.\nWith system headers gone from logging.h, go add to .cc files missing system\nheader includes.\nAlso, make operator new in ValueObject private for compile time instantiation\nchecking.\n\nChange-Id: I3228f614500ccc9b14b49c72b9821c8b0db3d641\n"
    },
    {
      "commit": "b556761d14e8dd0d41f1cc0f7d19726fe3497e8f",
      "tree": "5c1ad1cbe81e3fe4f23de7e34e3444bd034ca245",
      "parents": [
        "70f4b9929048e71c4231d7976080be6277c3374b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 22 10:25:24 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 22 10:28:50 2014 +0100"
      },
      "message": "Fix bug in UnionIfNotIn.\n\nBug: 18066207\n\nChange-Id: Ib9b24802546403b3d5a4da19996034eb45601f53\n"
    },
    {
      "commit": "e77493c7217efdd1a0ecef521a6845a13da0305b",
      "tree": "3055cb7aaea8b9edc498b2e209d74af36c32e0fd",
      "parents": [
        "41cba7c66cbc441b00fca48dfb2501181b1f2a53"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Aug 20 15:08:45 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Aug 20 15:09:20 2014 -0700"
      },
      "message": "Make common BitVector operations inline-able.\n\nChange-Id: Ie25de4fae56c6712539f04172c42e3eff57df7ca\n"
    },
    {
      "commit": "014d77a2107fec8ba978a7428fd4d04e0bf8e168",
      "tree": "af30717fb54eedf6af9d931cb89656f29f701134",
      "parents": [
        "e4283be97047a26d3476acd3863dcc386498be17"
      ],
      "author": {
        "name": "Jean Christophe Beyler",
        "email": "jean.christophe.beyler@intel.com",
        "time": "Mon Jun 02 11:21:21 2014 -0700"
      },
      "committer": {
        "name": "Jean Christophe Beyler",
        "email": "jean.christophe.beyler@intel.com",
        "time": "Mon Jun 02 15:17:03 2014 -0700"
      },
      "message": "ART: BitVector not calculating number_of_bits correctly\n\nThe number_of_bits_ field has an unclear intent. Instead, using\n  storage_size_ * kWordBits when relevant.\n\nChange-Id: I8c13be0d6643de37813fb154296d451f22c298c8\nSigned-off-by: Jean Christophe Beyler \u003cjean.christophe.beyler@intel.com\u003e\n"
    },
    {
      "commit": "ec23021ceb9f91a424c524fbfbcc9de6fb21f2b1",
      "tree": "f357f025008f6b3bac1c4881ee77ff4999bbd951",
      "parents": [
        "ccddc49852a69094aecf9eb7c7de67a9c2c5c31a",
        "520f37bb5c34c5d86ad0091cb84a84c163a2fa9c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 23 18:03:11 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 23 18:03:11 2014 +0000"
      },
      "message": "Merge \"ART: Added print indices back to BitVector Dumper\""
    },
    {
      "commit": "520f37bb5c34c5d86ad0091cb84a84c163a2fa9c",
      "tree": "8c1ebd76a690dfa328821cd26b78d48531848cfa",
      "parents": [
        "b8033db2a8dc6f7c7e29b1552177542964f56e44"
      ],
      "author": {
        "name": "Jean Christophe Beyler",
        "email": "jean.christophe.beyler@intel.com",
        "time": "Thu May 22 15:43:50 2014 -0700"
      },
      "committer": {
        "name": "Jean Christophe Beyler",
        "email": "jean.christophe.beyler@intel.com",
        "time": "Fri May 23 09:31:27 2014 -0700"
      },
      "message": "ART: Added print indices back to BitVector Dumper\n\n- Added an API to get the indices set instead of 001...0 format\n\nChange-Id: I75841e41ca9b7ef77a0717715669dbe12506d6a1\nSigned-Off-By: Jean Christophe Beyler \u003cjean.christophe.beyler@intel.com\u003e\n"
    },
    {
      "commit": "a5b8fde2d2bc3167078694fad417fddfe442a6fd",
      "tree": "287942554467eb8566291f7d021549f65763f53e",
      "parents": [
        "567e9dbc65ee183cda2a052dbf224c8c4a8f9423"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 23 15:16:44 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 23 17:12:15 2014 +0100"
      },
      "message": "Rewrite BitVector index iterator.\n\nThe BitVector::Iterator was not iterating over the bits but\nrather over indexes of the set bits. Therefore, we rename it\nto IndexIterator and provide a BitVector::Indexes() to get\na container-style interface with begin() and end() for range\nbased for loops.\n\nAlso, simplify InsertPhiNodes where the tmp_blocks isn\u0027t\nneeded since the phi_nodes and input_blocks cannot lose any\nblocks in subsequent iterations, so we can do the Union()\ndirectly in those bit vectors and we need to repeat the loop\nonly if we have new input_blocks, rather than on phi_nodes\nchange. And move the temporary bit vectors to scoped arena.\n\nChange-Id: I6cb87a2f60724eeef67c6aaa34b36ed5acde6d43\n"
    },
    {
      "commit": "622d9c31febd950255b36a48b47e1f630197c5fe",
      "tree": "8a7f14ce3c6c087955ad5fe91a3ce7d5b5a82461",
      "parents": [
        "98a8a542f95e41c09d214a329a940b270f08f5b3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 12 16:11:02 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 13 09:06:14 2014 +0100"
      },
      "message": "Add loop recognition and CFG simplifications in new compiler.\n\nWe do three simplifications:\n- Split critical edges, for code generation from SSA (new).\n- Ensure one back edge per loop, to simplify loop recognition (new).\n- Ensure only one pre header for a loop, to simplify SSA creation (existing).\n\nChange-Id: I9bfccd4b236a00486a261078627b091c8a68be33\n"
    },
    {
      "commit": "221b86d96f6e1971d24e3d6a283352c58cedbd32",
      "tree": "f80439dc10bf971004472a7aa609aa0a9cff65eb",
      "parents": [
        "60280e50c1ef4a7ef286670975a81f8384138f42",
        "b5c9b4008760c9042061490f22aaff990ed04c9a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 07 15:15:46 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 07 15:15:46 2014 +0000"
      },
      "message": "Merge \"ART: BitVector and Optimization changes\""
    },
    {
      "commit": "804d09372cc3d80d537da1489da4a45e0e19aa5d",
      "tree": "b226350fdf3dc0c55a11e1615010c8475f167f90",
      "parents": [
        "0095e0b8380a8802f40a21928800b9df6e11f1d7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 02 08:46:00 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 07 10:32:11 2014 +0100"
      },
      "message": "Build live-in, live-out and kill sets for each block.\n\nThis information will be used when computing live ranges of\ninstructions.\n\nChange-Id: I345ee833c1ccb4a8e725c7976453f6d58d350d74\n"
    },
    {
      "commit": "b5c9b4008760c9042061490f22aaff990ed04c9a",
      "tree": "c3fc539b056dadcad2c47c9899caeecc5f2d00ae",
      "parents": [
        "36b65964d128471d917c2efc69c81bc50ef9360b"
      ],
      "author": {
        "name": "Jean Christophe Beyler",
        "email": "jean.christophe.beyler@intel.com",
        "time": "Wed Apr 30 14:52:00 2014 -0700"
      },
      "committer": {
        "name": "Jean Christophe Beyler",
        "email": "jean.christophe.beyler@intel.com",
        "time": "Tue May 06 13:47:51 2014 -0700"
      },
      "message": "ART: BitVector and Optimization changes\n\n- The BitVector has a function SameBitsSet that is a bit upside down\n  - This patch fixes it.\n\n- Two optimizations are fixed also:\n  - The null check pass uses now same bits set instead of equal due to a\n     subsequent change that will make it not always the case that  the\n     compared bitvectors be of the same size.\n  - The fused optimization supposes a predecessor will have an instruction.\n\nChange-Id: I9ef1c793964b18dc0f47baf9d1f361448bb053a3\nSigned-off-by: Jean Christophe Beyler \u003cjean.christophe.beyler@intel.com\u003e\nSigned-off-by: Razvan A Lupusoru \u003crazvan.a.lupusoru@intel.com\u003e\nSigned-off-by: Yixin Shou \u003cyixin.shou@intel.com\u003e\nSigned-off-by: Chao-ying Fu \u003cchao-ying.fu@intel.com\u003e\nSigned-off-by: Udayan Banerji \u003cudayan.banerji@intel.com\u003e\n"
    },
    {
      "commit": "8194963098247be6bca9cc4a54dbfa65c73e8ccc",
      "tree": "547cc708e06e6541676b17066023ae6f07b2049b",
      "parents": [
        "56a341a82ece9aa4f2a071629f3e1fd1adf988ae"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 02 11:53:22 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 02 12:21:02 2014 +0100"
      },
      "message": "Replace CountOneBits and __builtin_popcount with POPCOUNT.\n\nClean up utils.h, make some functions constexpr.\n\nChange-Id: I2399100280cbce81c3c4f5765f0680c1ddcb5883\n"
    },
    {
      "commit": "5afa08f95d43dd24fb4b3d7a08aa1ec23386ad54",
      "tree": "28d388989be9ccdfce387728f63820689c29e9ca",
      "parents": [
        "1c17753ca9cf125ffd1fa47f34650fb6f4005409"
      ],
      "author": {
        "name": "Jean Christophe Beyler",
        "email": "jean.christophe.beyler@intel.com",
        "time": "Tue Apr 15 15:54:35 2014 -0700"
      },
      "committer": {
        "name": "Jean Christophe Beyler",
        "email": "jean.christophe.beyler@intel.com",
        "time": "Thu Apr 24 12:20:40 2014 -0700"
      },
      "message": "ART: Bitvector extensions for dumping and size handling\n\n- Added dumping functions and the ensure size and clear function.\n- Fixed a bug in union where if a bit is not set in the source, an buffer\n   overflow can occur later down.\n\nChange-Id: Iff40529f3a8970a1ce2dd5c591f659f71924dea3\nSigned-off-by: Jean Christophe Beyler \u003cjean.christophe.beyler@intel.com\u003e\nSigned-off-by: Razvan A Lupusoru \u003crazvan.a.lupusoru@intel.com\u003e\nSigned-off-by: Yixin Shou \u003cyixin.shou@intel.com\u003e\nSigned-off-by: Chao-ying Fu \u003cchao-ying.fu@intel.com\u003e\nSigned-off-by: Udayan Banerji \u003cudayan.banerji@intel.com\u003e\n"
    },
    {
      "commit": "d3c5bebcb52a67cb06e7ab303eaf45f230c08b60",
      "tree": "85df477ba745b1e2c85ab1d167b0297236060f2f",
      "parents": [
        "043a7a6182870964021476484b1534106ff20600"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 11 16:32:51 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Apr 14 18:03:41 2014 +0100"
      },
      "message": "Avoid allocating OatFile::OatClass on the heap.\n\nAvoid allocating a BitVector for OatFile::OatClass::bitmap_\nwith kOatClassSomeCompiled methods. That makes the OatClass\ncopy-constructible as it doesn\u0027t own any memory. We use that\nin OatFile::OatDexFile::GetOatClass() to return the result\nby value thus avoiding one or two heap allocations per call.\n\nChange-Id: Ic7098109028a5b49e39ef626f877de86e732ed18\n"
    },
    {
      "commit": "4812d436ebf538043a7827253b2e940a52a43fcb",
      "tree": "18667db8756044a2625385b9ac3eab2a94451678",
      "parents": [
        "b28bdd624b63a52e4a69b93fa9abee6fbd393610"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 11 12:42:25 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 11 12:43:22 2014 +0000"
      },
      "message": "Fix BitVector::SetInitialBits().\n\nChange-Id: Iad3699d76ad69536aa4810329f5863bc995f6551\n"
    },
    {
      "commit": "ad0d30a2a2141aa0e9da9e97993ce20e4d8e056e",
      "tree": "90af62fbfc9a05b8d29bdf54d96f128183bce92b",
      "parents": [
        "1776f50b5b99782278d7f3d354fa956d9066c903"
      ],
      "author": {
        "name": "Jean Christophe Beyler",
        "email": "jean.christophe.beyler@intel.com",
        "time": "Thu Jan 16 09:00:18 2014 -0800"
      },
      "committer": {
        "name": "Jean Christophe Beyler",
        "email": "jean.christophe.beyler@intel.com",
        "time": "Fri Jan 17 13:37:14 2014 -0800"
      },
      "message": "Update to the BitVector Implementation\n\nIsBitSet:\n- If the index requested is above the size, return false.\n\nClearBit:\n- If the index requested is above the size, ignore.\n\nAdded SameBitsSet:\n- Check the bits set disregarding size and expandable.\n\nIntersect and Union:\n- removed the requirement of same size.\n- handles case where the sizes are not the same.\n\nAdded Subtract between BitVectors.\n\nSetInitialBits:\n- Now requests expansion if above the bits available.\n- Clears upper bits.\n\nAdded GetHighestBitSet.\n\nClearBit:\n- If we clear above the size, it is fine, it has not been set yet.\n\nCopy:\n- Supposes it is well allocated.\n- It used to just copy what was available in destination without checking source\u0027s size.\n- Now actually allocate the destination to make sure it holds enough space.\n- Set parameter to const.\n\nGeneral:\n- Moved sizeof(uint32_t) to sizeof(*storage_) for future maintenance.\n\nChange-Id: Iebb214632482c46807deca957f5b6dc892a61a84\n"
    },
    {
      "commit": "ba150c37d582eeeb8c11ba5245edc281cf31793c",
      "tree": "ca12cf82602e4b78b2a6ca463e9d0e35fc5e3ff6",
      "parents": [
        "3c2a6e2468e3e519ade6c3cfcaad7cd34243cdf1"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Aug 27 17:31:03 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 28 00:06:03 2013 -0700"
      },
      "message": "Omit OatMethodOffsets for classes without compiled code\n\nChange-Id: If0d290f4aebc778ff12d8fed017c270ad2ac3220\n"
    },
    {
      "commit": "413e89f277ec6ba1bdf2040f5b5611f29a27a447",
      "tree": "41fb703df7e0f208bbfa0d94919efae9630e7d1c",
      "parents": [
        "79b4f38dd35b83206e8166aaafb94bd75c3318b3"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 21 23:53:49 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 24 14:43:30 2013 -0700"
      },
      "message": "Refactor ArenaBitVector to create more general BitVector\n\nChange-Id: Ib26f2884de9ce7d620048bdf5ed6dec639622e41\n"
    }
  ]
}
