Index: src/ia32/code-stubs-ia32.cc |
diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc |
index c383ca07e61e1d07061950c6df882a549b4b8d8d..4ff8a6817a502a3b160b3d51171cd536f4ea52fd 100644 |
--- a/src/ia32/code-stubs-ia32.cc |
+++ b/src/ia32/code-stubs-ia32.cc |
@@ -170,6 +170,26 @@ void KeyedLoadFieldStub::InitializeInterfaceDescriptor( |
} |
+void StringLengthStub::InitializeInterfaceDescriptor( |
+ Isolate* isolate, |
+ CodeStubInterfaceDescriptor* descriptor) { |
+ static Register registers[] = { edx, ecx }; |
+ descriptor->register_param_count_ = 2; |
+ descriptor->register_params_ = registers; |
+ descriptor->deoptimization_handler_ = NULL; |
+} |
+ |
+ |
+void KeyedStringLengthStub::InitializeInterfaceDescriptor( |
+ Isolate* isolate, |
+ CodeStubInterfaceDescriptor* descriptor) { |
+ static Register registers[] = { edx, ecx }; |
+ descriptor->register_param_count_ = 2; |
+ descriptor->register_params_ = registers; |
+ descriptor->deoptimization_handler_ = NULL; |
+} |
+ |
+ |
void KeyedStoreFastElementStub::InitializeInterfaceDescriptor( |
Isolate* isolate, |
CodeStubInterfaceDescriptor* descriptor) { |
@@ -1046,26 +1066,6 @@ void FunctionPrototypeStub::Generate(MacroAssembler* masm) { |
} |
-void StringLengthStub::Generate(MacroAssembler* masm) { |
- // ----------- S t a t e ------------- |
- // -- ecx : name |
- // -- edx : receiver |
- // -- esp[0] : return address |
- // ----------------------------------- |
- Label miss; |
- |
- if (kind() == Code::KEYED_LOAD_IC) { |
- __ cmp(ecx, Immediate(masm->isolate()->factory()->length_string())); |
- __ j(not_equal, &miss); |
- } |
- |
- StubCompiler::GenerateLoadStringLength(masm, edx, eax, ebx, &miss); |
- __ bind(&miss); |
- StubCompiler::TailCallBuiltin( |
- masm, BaseLoadStoreStubCompiler::MissBuiltin(kind())); |
-} |
- |
- |
void StoreArrayLengthStub::Generate(MacroAssembler* masm) { |
// ----------- S t a t e ------------- |
// -- eax : value |