Index: runtime/vm/runtime_entry_arm64.cc |
diff --git a/runtime/vm/runtime_entry_arm64.cc b/runtime/vm/runtime_entry_arm64.cc |
index 23e00c66624d028912964fa20fee3789d8127f83..1c066bdb86e5033d7ed76f78759346826d133ad0 100644 |
--- a/runtime/vm/runtime_entry_arm64.cc |
+++ b/runtime/vm/runtime_entry_arm64.cc |
@@ -19,7 +19,7 @@ namespace dart { |
// function. Input for the stub is as follows: |
// SP : points to the arguments and return value array. |
// R5 : address of the runtime function to call. |
-// R4 : number of arguments to the call as Smi. |
+// R4 : number of arguments to the call. |
void RuntimeEntry::Call(Assembler* assembler, intptr_t argument_count) const { |
// Compute the effective address. When running under the simulator, |
// this is a redirection address that forces the simulator to call |
@@ -55,8 +55,9 @@ void RuntimeEntry::Call(Assembler* assembler, intptr_t argument_count) const { |
} else { |
// Argument count is not checked here, but in the runtime entry for a more |
// informative error message. |
+ ASSERT((entry & kSmiTagMask) == 0); |
__ LoadImmediate(R5, entry, kNoPP); |
- __ LoadImmediate(R4, Smi::RawValue(argument_count), kNoPP); |
+ __ LoadImmediate(R4, argument_count, kNoPP); |
__ BranchLink(&StubCode::CallToRuntimeLabel(), PP); |
} |
} |