Index: src/x64/code-stubs-x64.cc |
diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc |
index 652a4db7a6b58d9a4ed08fceb900c6af14bb6611..551a71690e7a45400ec4d078ef7fcf4e89e39f0b 100644 |
--- a/src/x64/code-stubs-x64.cc |
+++ b/src/x64/code-stubs-x64.cc |
@@ -39,6 +39,16 @@ namespace v8 { |
namespace internal { |
+void ToNumberStub::InitializeInterfaceDescriptor( |
+ Isolate* isolate, |
+ CodeStubInterfaceDescriptor* descriptor) { |
+ static Register registers[] = { rax }; |
+ descriptor->register_param_count_ = 1; |
+ descriptor->register_params_ = registers; |
+ descriptor->deoptimization_handler_ = NULL; |
+} |
+ |
+ |
void FastCloneShallowArrayStub::InitializeInterfaceDescriptor( |
Isolate* isolate, |
CodeStubInterfaceDescriptor* descriptor) { |
@@ -296,27 +306,6 @@ void HydrogenCodeStub::GenerateLightweightMiss(MacroAssembler* masm) { |
} |
-void ToNumberStub::Generate(MacroAssembler* masm) { |
- // The ToNumber stub takes one argument in rax. |
- Label check_heap_number, call_builtin; |
- __ SmiTest(rax); |
- __ j(not_zero, &check_heap_number, Label::kNear); |
- __ Ret(); |
- |
- __ bind(&check_heap_number); |
- __ CompareRoot(FieldOperand(rax, HeapObject::kMapOffset), |
- Heap::kHeapNumberMapRootIndex); |
- __ j(not_equal, &call_builtin, Label::kNear); |
- __ Ret(); |
- |
- __ bind(&call_builtin); |
- __ pop(rcx); // Pop return address. |
- __ push(rax); |
- __ push(rcx); // Push return address. |
- __ InvokeBuiltin(Builtins::TO_NUMBER, JUMP_FUNCTION); |
-} |
- |
- |
void FastNewClosureStub::Generate(MacroAssembler* masm) { |
// Create a new closure from the given function info in new |
// space. Set the context to the current context in rsi. |