| Index: src/x64/stub-cache-x64.cc
|
| diff --git a/src/x64/stub-cache-x64.cc b/src/x64/stub-cache-x64.cc
|
| index 143d8d8697ee19b159837b8c2896e2b0c4e80eb4..71ea4ee34bad750a636507f2acedfde5d1b3409e 100644
|
| --- a/src/x64/stub-cache-x64.cc
|
| +++ b/src/x64/stub-cache-x64.cc
|
| @@ -2501,6 +2501,9 @@ MaybeObject* KeyedStoreStubCompiler::CompileStoreFastElement(
|
| // -- rdx : receiver
|
| // -- rsp[0] : return address
|
| // -----------------------------------
|
| + Label miss;
|
| + __ JumpIfSmi(rdx, &miss);
|
| +
|
| bool is_js_array = receiver_map->instance_type() == JS_ARRAY_TYPE;
|
| MaybeObject* maybe_stub =
|
| KeyedStoreFastElementStub(is_js_array).TryGetCode();
|
| @@ -2511,6 +2514,7 @@ MaybeObject* KeyedStoreStubCompiler::CompileStoreFastElement(
|
| Handle<Code>(stub),
|
| DO_SMI_CHECK);
|
|
|
| + __ bind(&miss);
|
| Handle<Code> ic = isolate()->builtins()->KeyedStoreIC_Miss();
|
| __ jmp(ic, RelocInfo::CODE_TARGET);
|
|
|
| @@ -2959,6 +2963,9 @@ MaybeObject* KeyedLoadStubCompiler::CompileLoadFastElement(Map* receiver_map) {
|
| // -- rdx : receiver
|
| // -- rsp[0] : return address
|
| // -----------------------------------
|
| + Label miss;
|
| + __ JumpIfSmi(rdx, &miss);
|
| +
|
| MaybeObject* maybe_stub = KeyedLoadFastElementStub().TryGetCode();
|
| Code* stub;
|
| if (!maybe_stub->To(&stub)) return maybe_stub;
|
| @@ -2967,6 +2974,7 @@ MaybeObject* KeyedLoadStubCompiler::CompileLoadFastElement(Map* receiver_map) {
|
| Handle<Code>(stub),
|
| DO_SMI_CHECK);
|
|
|
| + __ bind(&miss);
|
| Handle<Code> ic = isolate()->builtins()->KeyedLoadIC_Miss();
|
| __ jmp(ic, RelocInfo::CODE_TARGET);
|
|
|
|
|