Index: src/x64/lithium-codegen-x64.cc |
=================================================================== |
--- src/x64/lithium-codegen-x64.cc (revision 7267) |
+++ src/x64/lithium-codegen-x64.cc (working copy) |
@@ -465,7 +465,7 @@ |
} |
-void LCodeGen::CallRuntime(Runtime::Function* function, |
+void LCodeGen::CallRuntime(const Runtime::Function* function, |
int num_arguments, |
LInstruction* instr) { |
ASSERT(instr != NULL); |
@@ -553,14 +553,14 @@ |
if (length == 0) return; |
ASSERT(FLAG_deopt); |
Handle<DeoptimizationInputData> data = |
- Factory::NewDeoptimizationInputData(length, TENURED); |
+ factory()->NewDeoptimizationInputData(length, TENURED); |
Handle<ByteArray> translations = translations_.CreateByteArray(); |
data->SetTranslationByteArray(*translations); |
data->SetInlinedFunctionCount(Smi::FromInt(inlined_function_count_)); |
Handle<FixedArray> literals = |
- Factory::NewFixedArray(deoptimization_literals_.length(), TENURED); |
+ factory()->NewFixedArray(deoptimization_literals_.length(), TENURED); |
for (int i = 0; i < deoptimization_literals_.length(); i++) { |
literals->set(i, *deoptimization_literals_[i]); |
} |
@@ -1910,7 +1910,7 @@ |
Register map = ToRegister(instr->TempAt(0)); |
__ movq(map, FieldOperand(object, HeapObject::kMapOffset)); |
__ bind(deferred->map_check()); // Label for calculating code patching. |
- __ Move(kScratchRegister, Factory::the_hole_value()); |
+ __ Move(kScratchRegister, factory()->the_hole_value()); |
__ cmpq(map, kScratchRegister); // Patched to cached map. |
__ j(not_equal, &cache_miss); |
// Patched to load either true or false. |
@@ -2099,7 +2099,7 @@ |
ASSERT(ToRegister(instr->result()).is(rax)); |
__ Move(rcx, instr->name()); |
- Handle<Code> ic(Builtins::builtin(Builtins::LoadIC_Initialize)); |
+ Handle<Code> ic(isolate()->builtins()->builtin(Builtins::LoadIC_Initialize)); |
CallCode(ic, RelocInfo::CODE_TARGET, instr); |
} |
@@ -2225,7 +2225,8 @@ |
ASSERT(ToRegister(instr->object()).is(rdx)); |
ASSERT(ToRegister(instr->key()).is(rax)); |
- Handle<Code> ic(Builtins::builtin(Builtins::KeyedLoadIC_Initialize)); |
+ Handle<Code> ic(isolate()->builtins()->builtin( |
+ Builtins::KeyedLoadIC_Initialize)); |
CallCode(ic, RelocInfo::CODE_TARGET, instr); |
} |
@@ -2724,7 +2725,8 @@ |
ASSERT(ToRegister(instr->result()).is(rax)); |
int arity = instr->arity(); |
- Handle<Code> ic = StubCache::ComputeKeyedCallInitialize(arity, NOT_IN_LOOP); |
+ Handle<Code> ic = isolate()->stub_cache()->ComputeKeyedCallInitialize( |
+ arity, NOT_IN_LOOP); |
CallCode(ic, RelocInfo::CODE_TARGET, instr); |
__ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); |
} |
@@ -2734,7 +2736,8 @@ |
ASSERT(ToRegister(instr->result()).is(rax)); |
int arity = instr->arity(); |
- Handle<Code> ic = StubCache::ComputeCallInitialize(arity, NOT_IN_LOOP); |
+ Handle<Code> ic = isolate()->stub_cache()->ComputeCallInitialize( |
+ arity, NOT_IN_LOOP); |
__ Move(rcx, instr->name()); |
CallCode(ic, RelocInfo::CODE_TARGET, instr); |
__ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); |
@@ -2755,7 +2758,8 @@ |
void LCodeGen::DoCallGlobal(LCallGlobal* instr) { |
ASSERT(ToRegister(instr->result()).is(rax)); |
int arity = instr->arity(); |
- Handle<Code> ic = StubCache::ComputeCallInitialize(arity, NOT_IN_LOOP); |
+ Handle<Code> ic = isolate()->stub_cache()->ComputeCallInitialize( |
+ arity, NOT_IN_LOOP); |
__ Move(rcx, instr->name()); |
CallCode(ic, RelocInfo::CODE_TARGET_CONTEXT, instr); |
__ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); |
@@ -2773,7 +2777,8 @@ |
ASSERT(ToRegister(instr->InputAt(0)).is(rdi)); |
ASSERT(ToRegister(instr->result()).is(rax)); |
- Handle<Code> builtin(Builtins::builtin(Builtins::JSConstructCall)); |
+ Handle<Code> builtin(isolate()->builtins()->builtin( |
+ Builtins::JSConstructCall)); |
__ Set(rax, instr->arity()); |
CallCode(builtin, RelocInfo::CONSTRUCT_CALL, instr); |
} |
@@ -2819,7 +2824,7 @@ |
ASSERT(ToRegister(instr->value()).is(rax)); |
__ Move(rcx, instr->hydrogen()->name()); |
- Handle<Code> ic(Builtins::builtin( |
+ Handle<Code> ic(isolate()->builtins()->builtin( |
info_->is_strict() ? Builtins::StoreIC_Initialize_Strict |
: Builtins::StoreIC_Initialize)); |
CallCode(ic, RelocInfo::CODE_TARGET, instr); |
@@ -2890,7 +2895,7 @@ |
ASSERT(ToRegister(instr->key()).is(rcx)); |
ASSERT(ToRegister(instr->value()).is(rax)); |
- Handle<Code> ic(Builtins::builtin( |
+ Handle<Code> ic(isolate()->builtins()->builtin( |
info_->is_strict() ? Builtins::KeyedStoreIC_Initialize_Strict |
: Builtins::KeyedStoreIC_Initialize)); |
CallCode(ic, RelocInfo::CODE_TARGET, instr); |
@@ -3399,9 +3404,9 @@ |
void LCodeGen::LoadHeapObject(Register result, Handle<HeapObject> object) { |
- if (Heap::InNewSpace(*object)) { |
+ if (heap()->InNewSpace(*object)) { |
Handle<JSGlobalPropertyCell> cell = |
- Factory::NewJSGlobalPropertyCell(object); |
+ factory()->NewJSGlobalPropertyCell(object); |
__ movq(result, cell, RelocInfo::GLOBAL_PROPERTY_CELL); |
__ movq(result, Operand(result, 0)); |
} else { |
@@ -3630,14 +3635,14 @@ |
Register input, |
Handle<String> type_name) { |
Condition final_branch_condition = no_condition; |
- if (type_name->Equals(Heap::number_symbol())) { |
+ if (type_name->Equals(heap()->number_symbol())) { |
__ JumpIfSmi(input, true_label); |
__ CompareRoot(FieldOperand(input, HeapObject::kMapOffset), |
Heap::kHeapNumberMapRootIndex); |
final_branch_condition = equal; |
- } else if (type_name->Equals(Heap::string_symbol())) { |
+ } else if (type_name->Equals(heap()->string_symbol())) { |
__ JumpIfSmi(input, false_label); |
__ CmpObjectType(input, FIRST_NONSTRING_TYPE, input); |
__ j(above_equal, false_label); |
@@ -3645,13 +3650,13 @@ |
Immediate(1 << Map::kIsUndetectable)); |
final_branch_condition = zero; |
- } else if (type_name->Equals(Heap::boolean_symbol())) { |
+ } else if (type_name->Equals(heap()->boolean_symbol())) { |
__ CompareRoot(input, Heap::kTrueValueRootIndex); |
__ j(equal, true_label); |
__ CompareRoot(input, Heap::kFalseValueRootIndex); |
final_branch_condition = equal; |
- } else if (type_name->Equals(Heap::undefined_symbol())) { |
+ } else if (type_name->Equals(heap()->undefined_symbol())) { |
__ CompareRoot(input, Heap::kUndefinedValueRootIndex); |
__ j(equal, true_label); |
__ JumpIfSmi(input, false_label); |
@@ -3661,12 +3666,12 @@ |
Immediate(1 << Map::kIsUndetectable)); |
final_branch_condition = not_zero; |
- } else if (type_name->Equals(Heap::function_symbol())) { |
+ } else if (type_name->Equals(heap()->function_symbol())) { |
__ JumpIfSmi(input, false_label); |
__ CmpObjectType(input, FIRST_FUNCTION_CLASS_TYPE, input); |
final_branch_condition = above_equal; |
- } else if (type_name->Equals(Heap::object_symbol())) { |
+ } else if (type_name->Equals(heap()->object_symbol())) { |
__ JumpIfSmi(input, false_label); |
__ CompareRoot(input, Heap::kNullValueRootIndex); |
__ j(equal, true_label); |