| Index: runtime/vm/flow_graph_compiler.cc
|
| ===================================================================
|
| --- runtime/vm/flow_graph_compiler.cc (revision 44266)
|
| +++ runtime/vm/flow_graph_compiler.cc (working copy)
|
| @@ -55,9 +55,6 @@
|
| DECLARE_FLAG(bool, use_osr);
|
| DECLARE_FLAG(bool, warn_on_javascript_compatibility);
|
|
|
| -// Quick access to the locally defined isolate() method.
|
| -#define I (isolate())
|
| -
|
| // Assign locations to incoming arguments, i.e., values pushed above spill slots
|
| // with PushArgument. Recursively allocates from outermost to innermost
|
| // environment.
|
| @@ -96,6 +93,7 @@
|
| const GrowableArray<const Function*>& inline_id_to_function,
|
| const GrowableArray<intptr_t>& caller_inline_id)
|
| : isolate_(Isolate::Current()),
|
| + zone_(Thread::Current()->zone()),
|
| assembler_(assembler),
|
| parsed_function_(parsed_function),
|
| flow_graph_(*flow_graph),
|
| @@ -137,17 +135,17 @@
|
| parsed_function.function().raw());
|
| if (!is_optimizing) {
|
| const intptr_t len = isolate()->deopt_id();
|
| - deopt_id_to_ic_data_ = new(isolate()) ZoneGrowableArray<const ICData*>(len);
|
| + deopt_id_to_ic_data_ = new(zone()) ZoneGrowableArray<const ICData*>(len);
|
| deopt_id_to_ic_data_->SetLength(len);
|
| for (intptr_t i = 0; i < len; i++) {
|
| (*deopt_id_to_ic_data_)[i] = NULL;
|
| }
|
| - const Array& old_saved_icdata = Array::Handle(isolate(),
|
| + const Array& old_saved_icdata = Array::Handle(zone(),
|
| flow_graph->function().ic_data_array());
|
| const intptr_t saved_len =
|
| old_saved_icdata.IsNull() ? 0 : old_saved_icdata.Length();
|
| for (intptr_t i = 0; i < saved_len; i++) {
|
| - ICData& icd = ICData::ZoneHandle(isolate());
|
| + ICData& icd = ICData::ZoneHandle(zone());
|
| icd ^= old_saved_icdata.At(i);
|
| (*deopt_id_to_ic_data_)[icd.deopt_id()] = &icd;
|
| }
|
| @@ -766,7 +764,7 @@
|
| return NULL;
|
| }
|
|
|
| - Environment* env = instruction->env()->DeepCopy(isolate());
|
| + Environment* env = instruction->env()->DeepCopy(zone());
|
| // 1. Iterate the registers in the order they will be spilled to compute
|
| // the slots they will be spilled to.
|
| intptr_t next_slot = StackSize() + env->CountArgsPushed();
|
| @@ -854,7 +852,7 @@
|
| const Function& function = parsed_function().function();
|
| const intptr_t incoming_arg_count =
|
| function.HasOptionalParameters() ? 0 : function.num_fixed_parameters();
|
| - DeoptInfoBuilder builder(isolate(), incoming_arg_count);
|
| + DeoptInfoBuilder builder(zone(), incoming_arg_count);
|
|
|
| intptr_t deopt_info_table_size = DeoptTable::SizeFor(deopt_infos_.length());
|
| if (deopt_info_table_size == 0) {
|
| @@ -928,7 +926,7 @@
|
| void FlowGraphCompiler::TryIntrinsify() {
|
| // Intrinsification skips arguments checks, therefore disable if in checked
|
| // mode.
|
| - if (FLAG_intrinsify && !I->TypeChecksEnabled()) {
|
| + if (FLAG_intrinsify && !isolate()->TypeChecksEnabled()) {
|
| if (parsed_function().function().kind() == RawFunction::kImplicitGetter) {
|
| // An implicit getter must have a specific AST structure.
|
| const SequenceNode& sequence_node = *parsed_function().node_sequence();
|
| @@ -1155,7 +1153,7 @@
|
| void FlowGraphCompiler::AllocateRegistersLocally(Instruction* instr) {
|
| ASSERT(!is_optimizing());
|
|
|
| - instr->InitializeLocationSummary(I->current_zone(),
|
| + instr->InitializeLocationSummary(zone(),
|
| false); // Not optimizing.
|
| LocationSummary* locs = instr->locs();
|
|
|
| @@ -1536,7 +1534,7 @@
|
| ASSERT(res->NumArgsTested() == num_args_tested);
|
| return res;
|
| }
|
| - const ICData& ic_data = ICData::ZoneHandle(isolate(), ICData::New(
|
| + const ICData& ic_data = ICData::ZoneHandle(zone(), ICData::New(
|
| parsed_function().function(), target_name,
|
| arguments_descriptor, deopt_id, num_args_tested));
|
| (*deopt_id_to_ic_data_)[deopt_id] = &ic_data;
|
| @@ -1557,8 +1555,8 @@
|
| ASSERT(res->NumArgsTested() == num_args_tested);
|
| return res;
|
| }
|
| - const ICData& ic_data = ICData::ZoneHandle(isolate(), ICData::New(
|
| - parsed_function().function(), String::Handle(isolate(), target.name()),
|
| + const ICData& ic_data = ICData::ZoneHandle(zone(), ICData::New(
|
| + parsed_function().function(), String::Handle(zone(), target.name()),
|
| arguments_descriptor, deopt_id, num_args_tested));
|
| ic_data.AddTarget(target);
|
| (*deopt_id_to_ic_data_)[deopt_id] = &ic_data;
|
|
|