Index: runtime/vm/runtime_entry_x64.cc |
diff --git a/runtime/vm/runtime_entry_x64.cc b/runtime/vm/runtime_entry_x64.cc |
index ccd0d6fd3c06d96b6da327d8eb7acb6ebf81697e..143d9001b93aba6fa65ae18800485d171d3488de 100644 |
--- a/runtime/vm/runtime_entry_x64.cc |
+++ b/runtime/vm/runtime_entry_x64.cc |
@@ -19,7 +19,7 @@ namespace dart { |
// function. Input for the stub is as follows: |
// RSP : points to the arguments and return value array. |
// RBX : address of the runtime function to call. |
-// R10 : number of arguments to the call as Smi. |
+// R10 : number of arguments to the call. |
void RuntimeEntry::Call(Assembler* assembler, intptr_t argument_count) const { |
if (is_leaf()) { |
ASSERT(argument_count == this->argument_count()); |
@@ -28,8 +28,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((GetEntryPoint() & kSmiTagMask) == 0); |
__ movq(RBX, Immediate(GetEntryPoint())); |
- __ movq(R10, Immediate(Smi::RawValue(argument_count))); |
+ __ movq(R10, Immediate(argument_count)); |
__ Call(&StubCode::CallToRuntimeLabel(), PP); |
} |
} |