)]}'
{
  "commit": "c8c9588c3e91d76082e469f8a88be42301d741ad",
  "tree": "bd5823b62d39d30ea115763a6e39b5cd95f2e4f9",
  "parents": [
    "cbe623bc10eda6ff3d3fe78b3e9e96eae6569620"
  ],
  "author": {
    "name": "Tess Strickland",
    "email": "sstrickl@google.com",
    "time": "Mon Oct 05 04:44:55 2026 -0700"
  },
  "committer": {
    "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Oct 05 04:44:55 2026 -0700"
  },
  "message": "[vm,dyn_modules] Handle re-resolving implicit closures after reload.\n\nIn compiled code, calls to implicit closures after reload are\nre-resolved when the code for the implicit closure function is\nrecompiled. However, there is no recompilation step for bytecode.\n\nInstead, mark any old implicit closure functions and check for this\nmark in the interpreter when executing one of the internal implicit\nclosure bytecodes. If marked, the interpreter calls the runtime to\nperform the re-resolution. If the new implicit closure function is\ncompatible with the arguments of the old one, it is used instead,\notherwise the runtime call returns an array of arguments that the\ninterpreter can use to throw an appropriate NoSuchMethod error.\n\nTEST\u003dvm/cc/IsolateReload_TearOff\n\nCq-Include-Trybots: luci.dart.try:vm-dyn-linux-debug-x64-try,vm-dyn-mac-debug-arm64-try\nChange-Id: Ib016cf6a7ca7388d7e20062c212148a5f69fadec\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/558860\nCommit-Queue: Tess Strickland \u003csstrickl@google.com\u003e\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "947547caa78730505fb24aac859711440a549e76",
      "old_mode": 33188,
      "old_path": "pkg/native_compiler/lib/runtime/vm_offsets.g.dart",
      "new_id": "bbf18dbbc01f2f7af3e09a8f0a2dc24fbc7d2d30",
      "new_mode": 33188,
      "new_path": "pkg/native_compiler/lib/runtime/vm_offsets.g.dart"
    },
    {
      "type": "modify",
      "old_id": "62401e0ef518c092532d161c22755ee373c5db97",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/runtime_offsets_extracted.h",
      "new_id": "0515ea0455e719f229aaea638c1d30569232cfbc",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/runtime_offsets_extracted.h"
    },
    {
      "type": "modify",
      "old_id": "a976b7196b54730a81f64717251eefee78acd500",
      "old_mode": 33188,
      "old_path": "runtime/vm/interpreter.cc",
      "new_id": "bf40f8f17eae023b3fd967128218147bee2f7150",
      "new_mode": 33188,
      "new_path": "runtime/vm/interpreter.cc"
    },
    {
      "type": "modify",
      "old_id": "4a783137c64767b1a8073a542975f4b9d108716d",
      "old_mode": 33188,
      "old_path": "runtime/vm/isolate_reload.cc",
      "new_id": "b7be4d80b1a324b1ac3e9125d050b77eea751db3",
      "new_mode": 33188,
      "new_path": "runtime/vm/isolate_reload.cc"
    },
    {
      "type": "modify",
      "old_id": "bc1ae47cfd1596383d46efde67e87dbd36a0861c",
      "old_mode": 33188,
      "old_path": "runtime/vm/object.cc",
      "new_id": "9de49b5d8f738ec3c3d556e57ec36132e29bf847",
      "new_mode": 33188,
      "new_path": "runtime/vm/object.cc"
    },
    {
      "type": "modify",
      "old_id": "620a46301736c16564fc113705ca177162802ca7",
      "old_mode": 33188,
      "old_path": "runtime/vm/object.h",
      "new_id": "1692d600c843e276680c443305fb2b8e34ca11ff",
      "new_mode": 33188,
      "new_path": "runtime/vm/object.h"
    },
    {
      "type": "modify",
      "old_id": "782c2afadfc89badc8512a5ffa1e61fc04fe831a",
      "old_mode": 33188,
      "old_path": "runtime/vm/object_reload.cc",
      "new_id": "03f09a94da3ed63520286d526943684726c962b0",
      "new_mode": 33188,
      "new_path": "runtime/vm/object_reload.cc"
    },
    {
      "type": "modify",
      "old_id": "b21c21db2560578c0e3ea5b633c70ae66340ef36",
      "old_mode": 33188,
      "old_path": "runtime/vm/raw_object.h",
      "new_id": "71bd0f3e25f223aca1d63a95046fe0f91a913dec",
      "new_mode": 33188,
      "new_path": "runtime/vm/raw_object.h"
    },
    {
      "type": "modify",
      "old_id": "a985ba6c2d98cd13b3402426e7efa9f09577ceb0",
      "old_mode": 33188,
      "old_path": "runtime/vm/runtime_entry.cc",
      "new_id": "f58048b51e1304667cf87f8c17c8427cc224c10c",
      "new_mode": 33188,
      "new_path": "runtime/vm/runtime_entry.cc"
    },
    {
      "type": "modify",
      "old_id": "21996789dab99305865c501d6c495193852349be",
      "old_mode": 33188,
      "old_path": "runtime/vm/runtime_entry_list.h",
      "new_id": "8cbf0ed65395055dd7820b4556f7d918dfb938af",
      "new_mode": 33188,
      "new_path": "runtime/vm/runtime_entry_list.h"
    }
  ]
}
