)]}'
{
  "commit": "901fed103b16a18337d82b0ffc2f8a1f97dc3d95",
  "tree": "d9eb7b8731c3508c11ee8de1d82f233def5c117e",
  "parents": [
    "fd89f1176b00591f4ffb04a68703c8fb80776da3"
  ],
  "author": {
    "name": "Tess Strickland",
    "email": "sstrickl@google.com",
    "time": "Tue Mar 16 15:04:51 2021 +0000"
  },
  "committer": {
    "name": "commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Tue Mar 16 15:04:51 2021 +0000"
  },
  "message": "[vm] Use the cached number of parent type args in FunctionType.\n\nAlso ensure the number of parent type arguments is appropriately\nadjusted in the returned FunctionType when partially instantiating\na FunctionType, and that free parent type arguments are _not_\nincluded in types built while reading constants.\n\nSince the number of parent type arguments is now cached there, we\nno longer need to also cache them in ClosureData. We can also remove\nthe parent walking in Function::NumParentTypeArguments().\n\nPreviously, a FunctionType where the component types did not use\nparent type parameters was considered instantiated. This CL changes\nit so that FunctionType with free parent type parameters are never\nconsidered instantiated. This is necessary because otherwise,\nwhen instantiating the parent type parameters, a FunctionType that\ndoes not use its parent type parameters will be used unchanged\ninstead of creating a copy with fewer parent type parameters.\n\nBecause of this, places where IsInstantiated was used to simply\ncheck for generic parent functions (namely, for implicit closure\ncreation) has been appropriately weakened to check\n!HasGenericParent() instead.\n\nTEST\u003dExisting tests on CI.\n\nCq-Include-Trybots: luci.dart.try:vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-linux-product-x64-try,vm-kernel-precomp-nnbd-linux-release-x64-try\nChange-Id: Ifb4a0a1273d8d01908cdf4ffc3c4c28a1c33ffa0\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/190021\nReviewed-by: Martin Kustermann \u003ckustermann@google.com\u003e\nReviewed-by: Régis Crelier \u003cregis@google.com\u003e\nCommit-Queue: Tess Strickland \u003csstrickl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d390576a06ac2c65935fa5a2e7c69b9cb38cbc87",
      "old_mode": 33188,
      "old_path": "runtime/vm/clustered_snapshot.cc",
      "new_id": "ef653b0c225db59d140f0b376c3d7f55314d9505",
      "new_mode": 33188,
      "new_path": "runtime/vm/clustered_snapshot.cc"
    },
    {
      "type": "modify",
      "old_id": "2821fad685a0043360b6c95a3c1bb9152eac188c",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/il.cc",
      "new_id": "8aa57f7f6d8f3b2cfdd1f6273a0f77b1cc99d85a",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/il.cc"
    },
    {
      "type": "modify",
      "old_id": "cac72cc7604018c83f49769b43142dc8bdb28d14",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/range_analysis.cc",
      "new_id": "e39dff83cb88e2a9e9d490ccdd6cf78e6956b807",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/range_analysis.cc"
    },
    {
      "type": "modify",
      "old_id": "ab21d745f3c9f05575b81f95a3f5e9d5e6da9018",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/range_analysis.h",
      "new_id": "b0037f404c2f67d671f3f340ec196d24e5465202",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/range_analysis.h"
    },
    {
      "type": "modify",
      "old_id": "3a2a1cd55f1d5dfa7b142c8964149b51c49d3d62",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/backend/slot.h",
      "new_id": "8096b2d476d36fda7caac8096bc46fe724e47ade",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/backend/slot.h"
    },
    {
      "type": "modify",
      "old_id": "7c0d3adecb484a397943df49a02fc55eac90ee2a",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/frontend/constant_reader.cc",
      "new_id": "215ced28f20e6a4bae6f155a0d5b79bda6a24f13",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/frontend/constant_reader.cc"
    },
    {
      "type": "modify",
      "old_id": "db41553479caab75e2016ae30fecd808630a7d92",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/frontend/kernel_to_il.cc",
      "new_id": "74377681e44d2f2b04df3f9ebfd5e9d682fc61f1",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/frontend/kernel_to_il.cc"
    },
    {
      "type": "modify",
      "old_id": "3c934f622dd82f437e2733d66d5e3129e12901b7",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/runtime_api.h",
      "new_id": "7f0425a542d6a6d13d8760d869c78dea484bc97a",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/runtime_api.h"
    },
    {
      "type": "modify",
      "old_id": "efd12ee69ab6f577922b8652f8247a268afd6246",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/runtime_offsets_extracted.h",
      "new_id": "70016d8668cc5dc6ee01955a2c0f18a52843e6b8",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/runtime_offsets_extracted.h"
    },
    {
      "type": "modify",
      "old_id": "e7082657fbf6f7b05271dd9d7ee9a4b9ba9dc175",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/runtime_offsets_list.h",
      "new_id": "d2dac49846f5e9a478be2e6a792039171b3432b9",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/runtime_offsets_list.h"
    },
    {
      "type": "modify",
      "old_id": "4d07a98a7d4793b933e3211799a99bbb896ee69b",
      "old_mode": 33188,
      "old_path": "runtime/vm/object.cc",
      "new_id": "945516b1ffbe4d5c3d0cff6f52045444a35e7bf2",
      "new_mode": 33188,
      "new_path": "runtime/vm/object.cc"
    },
    {
      "type": "modify",
      "old_id": "535c62eae5e7307a1dfb863966c0ad8b41c74d46",
      "old_mode": 33188,
      "old_path": "runtime/vm/object.h",
      "new_id": "a360e94d40c44199863cf5c47c6f82c9845a1526",
      "new_mode": 33188,
      "new_path": "runtime/vm/object.h"
    },
    {
      "type": "modify",
      "old_id": "5bf6bc9cd31710feed35b33ec3f0f49aef7bf1a6",
      "old_mode": 33188,
      "old_path": "runtime/vm/raw_object.h",
      "new_id": "adc346f9afb4bccbfea1ab78f20dbce36361c0b3",
      "new_mode": 33188,
      "new_path": "runtime/vm/raw_object.h"
    }
  ]
}
