Skip to content

Commit c59549e

Browse files
rmacnak-googleCommit Queue
authored andcommitted
[vm, compiler] More specific assembly comments for runtime calls.
TEST=ci Change-Id: Iaabdbceedbddffd2f980fb0828a8fc211524a3d5 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/455180 Commit-Queue: Ryan Macnak <rmacnak@google.com> Reviewed-by: Alexander Markov <alexmarkov@google.com>
1 parent 6c920ba commit c59549e

File tree

7 files changed

+15
-4
lines changed

7 files changed

+15
-4
lines changed

runtime/vm/compiler/assembler/assembler_arm.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3281,6 +3281,7 @@ void Assembler::CallRuntime(const RuntimeEntry& entry,
32813281
LoadFromOffset(R9, THR, entry.OffsetFromThread());
32823282
LoadImmediate(R4, argument_count);
32833283
ldr(IP, Address(THR, target::Thread::call_to_runtime_entry_point_offset()));
3284+
Comment("Runtime call: %s", entry.name());
32843285
blx(IP);
32853286
}
32863287

@@ -3298,7 +3299,6 @@ LeafRuntimeScope::LeafRuntimeScope(Assembler* assembler,
32983299
intptr_t frame_size,
32993300
bool preserve_registers)
33003301
: assembler_(assembler), preserve_registers_(preserve_registers) {
3301-
__ Comment("EnterCallRuntimeFrame");
33023302
if (preserve_registers) {
33033303
// Preserve volatile CPU registers and PP.
33043304
SPILLS_LR_TO_FRAME(__ EnterFrame(
@@ -3323,6 +3323,7 @@ void LeafRuntimeScope::Call(const RuntimeEntry& entry,
33233323
__ LoadFromOffset(TMP, THR, entry.OffsetFromThread());
33243324
__ str(TMP,
33253325
compiler::Address(THR, compiler::target::Thread::vm_tag_offset()));
3326+
__ Comment("Leaf runtime call: %s", entry.name());
33263327
__ blx(TMP);
33273328
__ LoadImmediate(TMP, VMTag::kDartTagId);
33283329
__ str(TMP,

runtime/vm/compiler/assembler/assembler_arm64.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1807,6 +1807,7 @@ void Assembler::CallRuntime(const RuntimeEntry& entry,
18071807
}
18081808
ldr(R5, compiler::Address(THR, entry.OffsetFromThread()));
18091809
LoadImmediate(R4, argument_count);
1810+
Comment("Runtime call: %s", entry.name());
18101811
Call(Address(THR, target::Thread::call_to_runtime_entry_point_offset()));
18111812
if (FLAG_target_thread_sanitizer && FLAG_precompiled_mode &&
18121813
tsan_enter_exit) {
@@ -1824,7 +1825,6 @@ LeafRuntimeScope::LeafRuntimeScope(Assembler* assembler,
18241825
intptr_t frame_size,
18251826
bool preserve_registers)
18261827
: assembler_(assembler), preserve_registers_(preserve_registers) {
1827-
__ Comment("EnterCallRuntimeFrame");
18281828
__ EnterFrame(0);
18291829

18301830
if (preserve_registers) {
@@ -1854,6 +1854,7 @@ void LeafRuntimeScope::Call(const RuntimeEntry& entry,
18541854
__ mov(CSP, SP);
18551855
__ ldr(TMP, compiler::Address(THR, entry.OffsetFromThread()));
18561856
__ str(TMP, compiler::Address(THR, target::Thread::vm_tag_offset()));
1857+
__ Comment("Leaf runtime call: %s", entry.name());
18571858
__ blr(TMP);
18581859
__ LoadImmediate(TMP, VMTag::kDartTagId);
18591860
__ str(TMP, compiler::Address(THR, target::Thread::vm_tag_offset()));

runtime/vm/compiler/assembler/assembler_ia32.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2622,6 +2622,7 @@ void Assembler::CallRuntime(const RuntimeEntry& entry,
26222622
// informative error message.
26232623
movl(ECX, compiler::Address(THR, entry.OffsetFromThread()));
26242624
movl(EDX, compiler::Immediate(argument_count));
2625+
Comment("Runtime call: %s", entry.name());
26252626
call(Address(THR, target::Thread::call_to_runtime_entry_point_offset()));
26262627
}
26272628

@@ -2631,7 +2632,6 @@ LeafRuntimeScope::LeafRuntimeScope(Assembler* assembler,
26312632
intptr_t frame_size,
26322633
bool preserve_registers)
26332634
: assembler_(assembler), preserve_registers_(preserve_registers) {
2634-
__ Comment("EnterCallRuntimeFrame");
26352635
__ EnterFrame(0);
26362636

26372637
if (preserve_registers_) {
@@ -2663,6 +2663,7 @@ void LeafRuntimeScope::Call(const RuntimeEntry& entry,
26632663
ASSERT(argument_count == entry.argument_count());
26642664
__ movl(EAX, compiler::Address(THR, entry.OffsetFromThread()));
26652665
__ movl(compiler::Assembler::VMTagAddress(), EAX);
2666+
__ Comment("Leaf runtime call: %s", entry.name());
26662667
__ call(EAX);
26672668
__ movl(compiler::Assembler::VMTagAddress(),
26682669
compiler::Immediate(VMTag::kDartTagId));

runtime/vm/compiler/assembler/assembler_riscv.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4831,6 +4831,7 @@ void Assembler::CallRuntime(const RuntimeEntry& entry,
48314831
}
48324832
lx(T5, compiler::Address(THR, entry.OffsetFromThread()));
48334833
li(T4, argument_count);
4834+
Comment("Runtime call: %s", entry.name());
48344835
Call(Address(THR, target::Thread::call_to_runtime_entry_point_offset()));
48354836
if (FLAG_target_thread_sanitizer && FLAG_precompiled_mode &&
48364837
tsan_enter_exit) {
@@ -4877,6 +4878,7 @@ void LeafRuntimeScope::Call(const RuntimeEntry& entry,
48774878
ASSERT(argument_count == entry.argument_count());
48784879
__ Load(TMP2, compiler::Address(THR, entry.OffsetFromThread()));
48794880
__ sx(TMP2, compiler::Address(THR, target::Thread::vm_tag_offset()));
4881+
__ Comment("Leaf runtime call: %s", entry.name());
48804882
__ jalr(TMP2);
48814883
__ LoadImmediate(TMP2, VMTag::kDartTagId);
48824884
__ sx(TMP2, compiler::Address(THR, target::Thread::vm_tag_offset()));

runtime/vm/compiler/assembler/assembler_x64.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2069,6 +2069,7 @@ void Assembler::CallRuntime(const RuntimeEntry& entry,
20692069
}
20702070
movq(RBX, compiler::Address(THR, entry.OffsetFromThread()));
20712071
LoadImmediate(R10, compiler::Immediate(argument_count));
2072+
Comment("Runtime call: %s", entry.name());
20722073
call(Address(THR, target::Thread::call_to_runtime_entry_point_offset()));
20732074
if (FLAG_target_thread_sanitizer && FLAG_precompiled_mode &&
20742075
tsan_enter_exit) {
@@ -2085,7 +2086,6 @@ LeafRuntimeScope::LeafRuntimeScope(Assembler* assembler,
20852086
intptr_t frame_size,
20862087
bool preserve_registers)
20872088
: assembler_(assembler), preserve_registers_(preserve_registers) {
2088-
__ Comment("EnterCallRuntimeFrame");
20892089
__ EnterFrame(0);
20902090

20912091
if (preserve_registers_) {
@@ -2107,6 +2107,7 @@ void LeafRuntimeScope::Call(const RuntimeEntry& entry,
21072107
COMPILE_ASSERT(CallingConventions::kVolatileCpuRegisters & (1 << RAX));
21082108
__ movq(RAX, compiler::Address(THR, entry.OffsetFromThread()));
21092109
__ movq(compiler::Assembler::VMTagAddress(), RAX);
2110+
__ Comment("Leaf runtime call: %s", entry.name());
21102111
__ CallCFunction(RAX);
21112112
__ movq(compiler::Assembler::VMTagAddress(),
21122113
compiler::Immediate(VMTag::kDartTagId));

runtime/vm/compiler/runtime_api.cc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,10 @@ word RuntimeEntry::OffsetFromThread() const {
333333
return target::Thread::OffsetFromThread(runtime_entry_);
334334
}
335335

336+
const char* RuntimeEntry::name() const {
337+
return runtime_entry_->name();
338+
}
339+
336340
bool RuntimeEntry::is_leaf() const {
337341
return runtime_entry_->is_leaf();
338342
}

runtime/vm/compiler/runtime_api.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,7 @@ class RuntimeEntry : public ValueObject {
227227

228228
word OffsetFromThread() const;
229229

230+
const char* name() const;
230231
bool is_leaf() const;
231232
intptr_t argument_count() const;
232233

0 commit comments

Comments
 (0)