Index: src/x64/code-stubs-x64.cc |
diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc |
index 095113c40da56f397fbecbdc8f8b6d261ee38295..97b30b16c7e315fd6f04983bcf207f8899c68891 100644 |
--- a/src/x64/code-stubs-x64.cc |
+++ b/src/x64/code-stubs-x64.cc |
@@ -2383,6 +2383,7 @@ void ArrayLengthStub::Generate(MacroAssembler* masm) { |
// -- rsp[0] : return address |
// ----------------------------------- |
__ Cmp(rax, masm->isolate()->factory()->length_symbol()); |
+ __ j(not_equal, &miss); |
receiver = rdx; |
} else { |
ASSERT(kind() == Code::LOAD_IC); |
@@ -2410,6 +2411,7 @@ void FunctionPrototypeStub::Generate(MacroAssembler* masm) { |
// -- rsp[0] : return address |
// ----------------------------------- |
__ Cmp(rax, masm->isolate()->factory()->prototype_symbol()); |
+ __ j(not_equal, &miss); |
receiver = rdx; |
} else { |
ASSERT(kind() == Code::LOAD_IC); |
@@ -2437,6 +2439,7 @@ void StringLengthStub::Generate(MacroAssembler* masm) { |
// -- rsp[0] : return address |
// ----------------------------------- |
__ Cmp(rax, masm->isolate()->factory()->length_symbol()); |
+ __ j(not_equal, &miss); |
receiver = rdx; |
} else { |
ASSERT(kind() == Code::LOAD_IC); |
@@ -2475,6 +2478,7 @@ void StoreArrayLengthStub::Generate(MacroAssembler* masm) { |
Register scratch = rbx; |
if (kind() == Code::KEYED_STORE_IC) { |
__ Cmp(rcx, masm->isolate()->factory()->length_symbol()); |
+ __ j(not_equal, &miss); |
} |
// Check that the receiver isn't a smi. |