[vm, compiler] Implicit accessor intrinsics don't need a regular function body.
Change-Id: I24ed366bb065c602f06a0ecf6853ffbba43f44a1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103942
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler.cc b/runtime/vm/compiler/backend/flow_graph_compiler.cc
index 2fc7029..ddebec9 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler.cc
@@ -1239,7 +1239,7 @@
SpecialStatsBegin(CombinedCodeStatistics::kTagIntrinsics);
GenerateGetterIntrinsic(compiler::target::Field::OffsetOf(field));
SpecialStatsEnd(CombinedCodeStatistics::kTagIntrinsics);
- return !isolate()->use_field_guards();
+ return true;
}
return false;
}
@@ -1258,7 +1258,7 @@
SpecialStatsBegin(CombinedCodeStatistics::kTagIntrinsics);
GenerateSetterIntrinsic(compiler::target::Field::OffsetOf(field));
SpecialStatsEnd(CombinedCodeStatistics::kTagIntrinsics);
- return !isolate()->use_field_guards();
+ return true;
}
return false;
}
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc b/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc
index 4c56935..ade4c9f 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc
@@ -843,7 +843,7 @@
// LR: return address.
// SP: receiver.
// Sequence node has one return node, its input is load field node.
- __ Comment("Inlined Getter");
+ __ Comment("Intrinsic Getter");
__ ldr(R0, Address(SP, 0 * compiler::target::kWordSize));
__ LoadFieldFromOffset(kWord, R0, R0, offset);
__ Ret();
@@ -854,7 +854,7 @@
// SP+1: receiver.
// SP+0: value.
// Sequence node has one store node and one return NULL node.
- __ Comment("Inlined Setter");
+ __ Comment("Intrinsic Setter");
__ ldr(R0, Address(SP, 1 * compiler::target::kWordSize)); // Receiver.
__ ldr(R1, Address(SP, 0 * compiler::target::kWordSize)); // Value.
__ StoreIntoObjectOffset(R0, offset, R1);
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc b/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc
index d632c20..6da971a 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc
@@ -816,7 +816,7 @@
// LR: return address.
// SP: receiver.
// Sequence node has one return node, its input is load field node.
- __ Comment("Inlined Getter");
+ __ Comment("Intrinsic Getter");
__ LoadFromOffset(R0, SP, 0 * kWordSize);
__ LoadFieldFromOffset(R0, R0, offset);
__ ret();
@@ -827,7 +827,7 @@
// SP+1: receiver.
// SP+0: value.
// Sequence node has one store node and one return NULL node.
- __ Comment("Inlined Setter");
+ __ Comment("Intrinsic Setter");
__ LoadFromOffset(R0, SP, 1 * kWordSize); // Receiver.
__ LoadFromOffset(R1, SP, 0 * kWordSize); // Value.
__ StoreIntoObjectOffset(R0, offset, R1);
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc b/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc
index 6cd2894..120c19d 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc
@@ -736,7 +736,7 @@
// TOS: return address.
// +1 : receiver.
// Sequence node has one return node, its input is load field node.
- __ Comment("Inlined Getter");
+ __ Comment("Intrinsic Getter");
__ movl(EAX, Address(ESP, 1 * kWordSize));
__ movl(EAX, FieldAddress(EAX, offset));
__ ret();
@@ -747,7 +747,7 @@
// +1 : value
// +2 : receiver.
// Sequence node has one store node and one return NULL node.
- __ Comment("Inlined Setter");
+ __ Comment("Intrinsic Setter");
__ movl(EAX, Address(ESP, 2 * kWordSize)); // Receiver.
__ movl(EBX, Address(ESP, 1 * kWordSize)); // Value.
__ StoreIntoObject(EAX, FieldAddress(EAX, offset), EBX);
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc b/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc
index 5358ee0..406524b 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc
@@ -831,7 +831,7 @@
// TOS: return address.
// +1 : receiver.
// Sequence node has one return node, its input is load field node.
- __ Comment("Inlined Getter");
+ __ Comment("Intrinsic Getter");
__ movq(RAX, Address(RSP, 1 * kWordSize));
__ movq(RAX, FieldAddress(RAX, offset));
__ ret();
@@ -842,7 +842,7 @@
// +1 : value
// +2 : receiver.
// Sequence node has one store node and one return NULL node.
- __ Comment("Inlined Setter");
+ __ Comment("Intrinsic Setter");
__ movq(RAX, Address(RSP, 2 * kWordSize)); // Receiver.
__ movq(RBX, Address(RSP, 1 * kWordSize)); // Value.
__ StoreIntoObject(RAX, FieldAddress(RAX, offset), RBX);