[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);