Index: src/x64/code-stubs-x64.cc |
diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc |
index 12c0ec55473d6277c892b4bed35f1dac7c2b3b37..9c15cf34b71b904a342a37ac271ba12f02824109 100644 |
--- a/src/x64/code-stubs-x64.cc |
+++ b/src/x64/code-stubs-x64.cc |
@@ -2944,9 +2944,10 @@ void NumberToStringStub::GenerateLookupNumberStringCache(MacroAssembler* masm, |
// Heap::GetNumberStringCache. |
Label is_smi; |
Label load_result_from_cache; |
+ Factory* factory = masm->isolate()->factory(); |
if (!object_is_smi) { |
__ JumpIfSmi(object, &is_smi); |
- __ CheckMap(object, FACTORY->heap_number_map(), not_found, true); |
+ __ CheckMap(object, factory->heap_number_map(), not_found, true); |
STATIC_ASSERT(8 == kDoubleSize); |
__ movl(scratch, FieldOperand(object, HeapNumber::kValueOffset + 4)); |
@@ -3035,6 +3036,7 @@ void CompareStub::Generate(MacroAssembler* masm) { |
ASSERT(lhs_.is(no_reg) && rhs_.is(no_reg)); |
Label check_unequal_objects, done; |
+ Factory* factory = masm->isolate()->factory(); |
// Compare two smis if required. |
if (include_smi_compare_) { |
@@ -3082,7 +3084,6 @@ void CompareStub::Generate(MacroAssembler* masm) { |
// Note: if cc_ != equal, never_nan_nan_ is not used. |
// We cannot set rax to EQUAL until just before return because |
// rax must be unchanged on jump to not_identical. |
- |
if (never_nan_nan_ && (cc_ == equal)) { |
__ Set(rax, EQUAL); |
__ ret(0); |
@@ -3090,7 +3091,7 @@ void CompareStub::Generate(MacroAssembler* masm) { |
NearLabel heap_number; |
// If it's not a heap number, then return equal for (in)equality operator. |
__ Cmp(FieldOperand(rdx, HeapObject::kMapOffset), |
- FACTORY->heap_number_map()); |
+ factory->heap_number_map()); |
__ j(equal, &heap_number); |
if (cc_ != equal) { |
// Call runtime on identical JSObjects. Otherwise return equal. |
@@ -3135,7 +3136,7 @@ void CompareStub::Generate(MacroAssembler* masm) { |
// Check if the non-smi operand is a heap number. |
__ Cmp(FieldOperand(rbx, HeapObject::kMapOffset), |
- FACTORY->heap_number_map()); |
+ factory->heap_number_map()); |
// If heap number, handle it in the slow case. |
__ j(equal, &slow); |
// Return non-equal. ebx (the lower half of rbx) is not zero. |
@@ -4066,10 +4067,11 @@ void StringCharCodeAtGenerator::GenerateSlow( |
MacroAssembler* masm, const RuntimeCallHelper& call_helper) { |
__ Abort("Unexpected fallthrough to CharCodeAt slow case"); |
+ Factory* factory = masm->isolate()->factory(); |
// Index is not a smi. |
__ bind(&index_not_smi_); |
// If index is a heap number, try converting it to an integer. |
- __ CheckMap(index_, FACTORY->heap_number_map(), index_not_number_, true); |
+ __ CheckMap(index_, factory->heap_number_map(), index_not_number_, true); |
call_helper.BeforeCall(masm); |
__ push(object_); |
__ push(index_); |