Chromium Code Reviews| Index: src/ia32/stub-cache-ia32.cc |
| diff --git a/src/ia32/stub-cache-ia32.cc b/src/ia32/stub-cache-ia32.cc |
| index c9c22d2008553c5ae8cf1856824bd9bd98d86558..d5c432af80fae72c4688eac6519c2968c63dd40d 100644 |
| --- a/src/ia32/stub-cache-ia32.cc |
| +++ b/src/ia32/stub-cache-ia32.cc |
| @@ -2671,6 +2671,9 @@ MaybeObject* KeyedStoreStubCompiler::CompileStoreFastElement( |
| // -- edx : receiver |
| // -- esp[0] : return address |
| // ----------------------------------- |
| + Label miss; |
| + __ JumpIfSmi(edx, &miss); |
|
Mads Ager (chromium)
2011/05/23 11:34:13
Label::kNear?
|
| + |
| bool is_js_array = receiver_map->instance_type() == JS_ARRAY_TYPE; |
| MaybeObject* maybe_stub = |
| KeyedStoreFastElementStub(is_js_array).TryGetCode(); |
| @@ -2681,6 +2684,7 @@ MaybeObject* KeyedStoreStubCompiler::CompileStoreFastElement( |
| Handle<Code>(stub), |
| DO_SMI_CHECK); |
| + __ bind(&miss); |
| Handle<Code> ic = isolate()->builtins()->KeyedStoreIC_Miss(); |
| __ jmp(ic, RelocInfo::CODE_TARGET); |
| @@ -3133,6 +3137,9 @@ MaybeObject* KeyedLoadStubCompiler::CompileLoadFastElement(Map* receiver_map) { |
| // -- edx : receiver |
| // -- esp[0] : return address |
| // ----------------------------------- |
| + Label miss; |
| + __ JumpIfSmi(edx, &miss); |
|
Mads Ager (chromium)
2011/05/23 11:34:13
Label::kNear?
|
| + |
| MaybeObject* maybe_stub = KeyedLoadFastElementStub().TryGetCode(); |
| Code* stub; |
| if (!maybe_stub->To(&stub)) return maybe_stub; |
| @@ -3141,6 +3148,7 @@ MaybeObject* KeyedLoadStubCompiler::CompileLoadFastElement(Map* receiver_map) { |
| Handle<Code>(stub), |
| DO_SMI_CHECK); |
| + __ bind(&miss); |
| GenerateLoadMiss(masm(), Code::KEYED_LOAD_IC); |
| // Return the generated code. |