[vm] Prevent tree shaking of fields in SendPort benchmark
In AOT the SendPort.{Send,Receive}.BinaryTree.* are really fast, because
the tree shaker will remove the fields, which will make us actually not
construct a tree at all but only one root node without fields.
TEST=Changes benchmark to work as intended
Change-Id: Idbcb1e15613b1fd071591be40c4ffd9eadc86ce5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/207121
Auto-Submit: Martin Kustermann <kustermann@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
diff --git a/benchmarks/SendPort/dart/SendPort.dart b/benchmarks/SendPort/dart/SendPort.dart
index a6e6044..fb950b5 100644
--- a/benchmarks/SendPort/dart/SendPort.dart
+++ b/benchmarks/SendPort/dart/SendPort.dart
@@ -175,8 +175,11 @@
}
class TreeNode {
+ @pragma('vm:entry-point') // Prevent tree shaking of this field.
final TreeNode? left;
+ @pragma('vm:entry-point') // Prevent tree shaking of this field.
final TreeNode? right;
+ @pragma('vm:entry-point') // Prevent tree shaking of this field.
final int value;
TreeNode(this.left, this.right, this.value);
diff --git a/benchmarks/SendPort/dart2/SendPort.dart b/benchmarks/SendPort/dart2/SendPort.dart
index 01d4042..a97acf3 100644
--- a/benchmarks/SendPort/dart2/SendPort.dart
+++ b/benchmarks/SendPort/dart2/SendPort.dart
@@ -177,8 +177,11 @@
}
class TreeNode {
+ @pragma('vm:entry-point') // Prevent tree shaking of this field.
final TreeNode left;
+ @pragma('vm:entry-point') // Prevent tree shaking of this field.
final TreeNode right;
+ @pragma('vm:entry-point') // Prevent tree shaking of this field.
final int value;
TreeNode(this.left, this.right, this.value);