Index: src/ia32/code-stubs-ia32.cc |
diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc |
index 548cbaace74bc90287efc2acfc56ac10994d1254..5789f49216f7a84feb65d87a5c85884a784dcbc4 100644 |
--- a/src/ia32/code-stubs-ia32.cc |
+++ b/src/ia32/code-stubs-ia32.cc |
@@ -43,6 +43,16 @@ namespace v8 { |
namespace internal { |
+void ToNumberStub::InitializeInterfaceDescriptor( |
+ Isolate* isolate, |
+ CodeStubInterfaceDescriptor* descriptor) { |
+ static Register registers[] = { eax }; |
+ descriptor->register_param_count_ = 1; |
+ descriptor->register_params_ = registers; |
+ descriptor->deoptimization_handler_ = NULL; |
+} |
+ |
+ |
void FastCloneShallowArrayStub::InitializeInterfaceDescriptor( |
Isolate* isolate, |
CodeStubInterfaceDescriptor* descriptor) { |
@@ -300,27 +310,6 @@ void HydrogenCodeStub::GenerateLightweightMiss(MacroAssembler* masm) { |
} |
-void ToNumberStub::Generate(MacroAssembler* masm) { |
- // The ToNumber stub takes one argument in eax. |
- Label check_heap_number, call_builtin; |
- __ JumpIfNotSmi(eax, &check_heap_number, Label::kNear); |
- __ ret(0); |
- |
- __ bind(&check_heap_number); |
- __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset)); |
- Factory* factory = masm->isolate()->factory(); |
- __ cmp(ebx, Immediate(factory->heap_number_map())); |
- __ j(not_equal, &call_builtin, Label::kNear); |
- __ ret(0); |
- |
- __ bind(&call_builtin); |
- __ pop(ecx); // Pop return address. |
- __ push(eax); |
- __ push(ecx); // 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 esi. |