| 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_);
|
|
|