)]}'
{
  "commit": "e68d624e4e6c0f2e4197b77e24728c419e6ccf2f",
  "tree": "83c71a6d793369ac354de01c3e929a3a2d8a5041",
  "parents": [
    "3872ad9b04ae898deaa23a76ba2a5f1d0f946e04"
  ],
  "author": {
    "name": "Bruce Dawson",
    "email": "brucedawson@google.com",
    "time": "Mon Jan 05 15:18:21 2015 -0800"
  },
  "committer": {
    "name": "Bruce Dawson",
    "email": "brucedawson@google.com",
    "time": "Mon Jan 05 15:18:21 2015 -0800"
  },
  "message": "XFA: merge patch from CL 792043005, run-time hashing.\n\nRemove run-time calculation of hash constants in pdfium.\n\nPDFium static initializers must go. Static initializers are prohibited\nby the style guide. They have negative consequences including increased\nstartup time (from pulling in additional code pages) and reduced sharing\nof data pages (since the variables can\u0027t go in the read-only data\nsegment).\n\nThis change uses a template struct and typed enums to reproduce\nJS_CalcHash at run-time. An unsigned long long constant and masking with\n0xFFFFFFFF are used to avoid compile errors due to integer overflow of\ncompile-time constants.\n\nThe HashVerify class is used to check the results, necessary since none\nof the functions in global.cpp are called when pdfium_test.exe runs.\n\nconst_expr would be a much cleaner way to implement this change but it\nis not yet widely supported.\n\nOn the Windows release build this reduces the code size (.text\nvirtual size) by 0x240 (576) bytes, the .data section by 0x20 bytes\n(for eight unsigned globals), and the .rdata section by 0x20 bytes\n(the unneeded string savings, minus the eight unsigned globals now\nbeing there).\n\nBUG\u003d441899\nTBR\u003dtsepez@chromium.org\n\nReview URL: https://codereview.chromium.org/792043005\n\nReview URL: https://codereview.chromium.org/828883004\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f5bc82c1bb2a4c27c473bc3b9d5d078617addc56",
      "old_mode": 33188,
      "old_path": "fpdfsdk/src/javascript/global.cpp",
      "new_id": "23d8926bd3b1e8ef547e8a717cb1a0c6293d58a3",
      "new_mode": 33188,
      "new_path": "fpdfsdk/src/javascript/global.cpp"
    }
  ]
}
