)]}'
{
  "commit": "3520d0df30bea0746579c796fe3ca462a809473d",
  "tree": "60076078abd1b823bb7ed695db1addec40c81312",
  "parents": [
    "eb3a183b900889e1d1d8d5edc13e1b7aa26dcab6"
  ],
  "author": {
    "name": "Googler",
    "email": "noreply@google.com",
    "time": "Tue Jul 10 01:59:11 2018 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-piper@google.com",
    "time": "Tue Jul 10 02:00:31 2018 -0700"
  },
  "message": "Restructure the NestedSet usage in CcCompilationContext. Goals:\n- Don\u0027t use NestedSets of NestedSets. Not sure whether this is a performance\n  improvement or has serialization benefits, but it does make understanding the\n  structure a lot easier.\n- Use the same large NestedSet for all header information (whether or not they\n  are modular and what pregrepped headers might exist). This speeds up the\n  include scanner calls getLegalGeneratedScannerFileMap and getModularHeaders\n  because they now iterate over just a single NestedSet and the second\n  evaluation of a NestedSet is much cheaper. In a subsequent change, we can\n  likely fold all three iterations over this NestedSet into one (in\n  getLegalGeneratedScannerFileMap, getModularHeaders and getUsedModules).\n\nMeasurements show a small reduction in heap usage.\n\nRELNOTES: None.\nPiperOrigin-RevId: 203909308\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9254e3f9ac5617f9f3f333d5a308c04343f7cad7",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationContext.java",
      "new_id": "e5bc2f85fe5bb8c8671d80ae33354d0f94457d92",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationContext.java"
    },
    {
      "type": "modify",
      "old_id": "4e81e72948685a29e29772c8418fdd75a6896fbe",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java",
      "new_id": "1881fb78537c8adb31d5558262fee704421a6751",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java"
    }
  ]
}
