Files
sdk/pkg/dynamic_modules/test/data/closure_shapes/dynamic_interface.yaml
T
Nate Biggs 0e040b80fd [dart2wasm] Use dynamic invocations to call closures when dynamic modules are enabled.
Running with dynamic modules means that closure invocation shapes cannot be statically known. A closure can flow between any modules and can then be invoked with a shape that's unknown to the module that defines the closure.

Given this, our 2 options are to generate code for every invocation shape or invoke the closure as if we don't know it's shape (dynamic invocation).

The former would scale exponentially relative to the number of named parameters so is not practical.

The latter generates slower, bigger code but is the more practical of the 2.

Change-Id: I5e3613d23662e5b2213fdaa725642678fe26e43a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/421920
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ömer Ağacan <omersa@google.com>
2025-04-28 17:51:59 -07:00

11 lines
379 B
YAML

# Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
callable:
- library: 'shared/shared.dart'
- library: 'dart:core'
class: ['int', 'num', 'Object']
- library: 'dart:core'
class: 'pragma'
member: '_'