diff --git a/LanguageFeatures/FinalizationRegistry/ffi/Finalizer/attach_A01_t01.dart b/LanguageFeatures/FinalizationRegistry/ffi/Finalizer/attach_A01_t01.dart
index a9118c4..6752b2d 100644
--- a/LanguageFeatures/FinalizationRegistry/ffi/Finalizer/attach_A01_t01.dart
+++ b/LanguageFeatures/FinalizationRegistry/ffi/Finalizer/attach_A01_t01.dart
@@ -35,23 +35,35 @@
 }
 
 @pragma('vm:never-inline')
-void attachToFinalizer(Object value, dynamic finalizationToken) {
-  finalizer.attach(value, finalizationToken);
+void attachToFinalizer1() {
+  finalizer.attach(Object(), "Just a string");
+  Expect.isNull(returnedToken);
+}
+
+@pragma('vm:never-inline')
+void attachToFinalizer2() {
+  finalizer.attach(A(), 15);
+  Expect.isNull(returnedToken);
+}
+
+@pragma('vm:never-inline')
+void attachToFinalizer3() {
+  finalizer.attach(A(), []);
   Expect.isNull(returnedToken);
 }
 
 main() async {
-  attachToFinalizer(Object(), "Just a string");
+  attachToFinalizer1();
   await triggerGcWithDelay();
   Expect.equals("Just a string", returnedToken);
   clean();
 
-  attachToFinalizer(A(), 15);
+  attachToFinalizer2();
   await triggerGcWithDelay();
   Expect.equals(15, returnedToken);
   clean();
 
-  attachToFinalizer(A(), []);
+  attachToFinalizer3();
   await triggerGcWithDelay();
   Expect.equals([], returnedToken);
   clean();
diff --git a/LanguageFeatures/FinalizationRegistry/ffi/Finalizer/attach_A01_t03.dart b/LanguageFeatures/FinalizationRegistry/ffi/Finalizer/attach_A01_t03.dart
index 07f5539..213435e 100644
--- a/LanguageFeatures/FinalizationRegistry/ffi/Finalizer/attach_A01_t03.dart
+++ b/LanguageFeatures/FinalizationRegistry/ffi/Finalizer/attach_A01_t03.dart
@@ -31,23 +31,33 @@
 });
 
 @pragma('vm:never-inline')
-void attachToFinalizer(Object value, int finalizationToken) {
-  finalizer.attach(value, finalizationToken);
+void attachToFinalizer1() {
+  finalizer.attach(Object(), 1);
+}
+
+@pragma('vm:never-inline')
+void attachToFinalizer2() {
+  finalizer.attach(A(), 15);
+}
+
+@pragma('vm:never-inline')
+void attachToFinalizer3() {
+  finalizer.attach(A(), 14);
 }
 
 main() async {
-  attachToFinalizer(Object(), 1);
+  attachToFinalizer1();
   await triggerGcWithDelay();
   Expect.equals(1, returnedToken);
 
-  attachToFinalizer(A(), 15);
+  attachToFinalizer2();
   await triggerGcWithDelay();
   Expect.equals(15, returnedToken);
 
   await triggerGcWithDelay();
   Expect.equals(15, returnedToken);
 
-  attachToFinalizer(A(), 14);
+  attachToFinalizer3();
   await triggerGcWithDelay();
   Expect.equals(14, returnedToken);
   Expect.equals(3, cnt);
