)]}'
{
  "commit": "2c3beac5f748c8eb581c14de5a2769a08762f0e8",
  "tree": "0eedfcb440457672f2ffcbce7a1ceb9c61d68c0a",
  "parents": [
    "b79031308cc878488202beb99883ec1f2efd9a6d"
  ],
  "author": {
    "name": "David \u0027Digit\u0027 Turner",
    "email": "digit@google.com",
    "time": "Fri Nov 26 13:19:52 2021 +0100"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Fri Dec 03 16:33:29 2021 +0000"
  },
  "message": "Fix Label::hash() computation.\n\nThis CL fixes a subtle bug where the hash_ member of a Label\ninstance was not properly initialized after a call to ::Resolve()\nin label.cc, and a few other trivial cases. This prevented the\nproper use of std::unordered_map\u003cLabel, ...\u003e types.\n\n+ Slightly speed up Label::ComputeHash() by avoiding string hashing\n  whenever possible, using the newly-introduced StringAtom::ptr_hash()\n  method (which replicates std::hash\u003cStringAtom\u003e()()).\n\nMeasurements show no impact on performance or RAM usage.\n\nChange-Id: I11b6645709cc8c8ff266bb5174c1bdd102919332\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/12580\nCommit-Queue: David Turner \u003cdigit@google.com\u003e\nReviewed-by: Brett Wilson \u003cbrettw@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c78b00e509e5cf2df31160ce2c6d58b686ff8699",
      "old_mode": 33188,
      "old_path": "src/gn/label.cc",
      "new_id": "6914962d3a21f3df6d25c43e9ca5858a83b4f7ad",
      "new_mode": 33188,
      "new_path": "src/gn/label.cc"
    },
    {
      "type": "modify",
      "old_id": "1458fcce297c21fd420fa047b4fdb177a2b4660a",
      "old_mode": 33188,
      "old_path": "src/gn/label.h",
      "new_id": "e2a02817da6efb517437b5c58c10faccefd3ed62",
      "new_mode": 33188,
      "new_path": "src/gn/label.h"
    },
    {
      "type": "modify",
      "old_id": "d8b3c2852ae2a0ab4ac6e78c2dc97be29ca46245",
      "old_mode": 33188,
      "old_path": "src/gn/source_dir.h",
      "new_id": "2a694cf8925db8deb182c5bd36cf5a3c31aa546f",
      "new_mode": 33188,
      "new_path": "src/gn/source_dir.h"
    },
    {
      "type": "modify",
      "old_id": "b13a4002dd41da8cc46ce7cb2c4632c1f0aa6b6f",
      "old_mode": 33188,
      "old_path": "src/gn/source_file.h",
      "new_id": "467c1199e1e12c69252a0f547067a73bd18a6acc",
      "new_mode": 33188,
      "new_path": "src/gn/source_file.h"
    },
    {
      "type": "modify",
      "old_id": "541399ea01842057a340a44a1163656e8059858d",
      "old_mode": 33188,
      "old_path": "src/gn/string_atom.h",
      "new_id": "c590e0b3c1c44db424894dc507f7f9c43788277c",
      "new_mode": 33188,
      "new_path": "src/gn/string_atom.h"
    }
  ]
}
