Index: runtime/vm/kernel_to_il.cc |
diff --git a/runtime/vm/kernel_to_il.cc b/runtime/vm/kernel_to_il.cc |
index 02f54379e86e50ca0231e41aa207ddafc84e2afb..61a4e71f0d36f8aaf7e08312746f2e73041ca437 100644 |
--- a/runtime/vm/kernel_to_il.cc |
+++ b/runtime/vm/kernel_to_il.cc |
@@ -63,15 +63,15 @@ void ScopeBuilder::EnterScope(TreeNode* node) { |
} |
-void ScopeBuilder::ExitScope() { scope_ = scope_->parent(); } |
+void ScopeBuilder::ExitScope() { |
+ scope_ = scope_->parent(); |
+} |
LocalVariable* ScopeBuilder::MakeVariable(const dart::String& name, |
const AbstractType& type) { |
return new (Z) LocalVariable(TokenPosition::kNoSource, |
- TokenPosition::kNoSource, |
- name, |
- type); |
+ TokenPosition::kNoSource, name, type); |
} |
@@ -89,9 +89,8 @@ void ScopeBuilder::AddParameters(FunctionNode* function, intptr_t pos) { |
void ScopeBuilder::AddParameter(VariableDeclaration* declaration, |
intptr_t pos) { |
- LocalVariable* variable = |
- MakeVariable(H.DartSymbol(declaration->name()), |
- T.TranslateVariableType(declaration)); |
+ LocalVariable* variable = MakeVariable(H.DartSymbol(declaration->name()), |
+ T.TranslateVariableType(declaration)); |
if (declaration->IsFinal()) { |
variable->set_is_final(); |
} |
@@ -108,7 +107,8 @@ void ScopeBuilder::AddParameter(VariableDeclaration* declaration, |
void ScopeBuilder::AddExceptionVariable( |
- GrowableArray<LocalVariable*>* variables, const char* prefix, |
+ GrowableArray<LocalVariable*>* variables, |
+ const char* prefix, |
intptr_t nesting_depth) { |
LocalVariable* v = NULL; |
@@ -268,8 +268,8 @@ ScopeBuildingResult* ScopeBuilder::BuildScopes() { |
Function& outermost_function = Function::Handle(Z); |
TreeNode* outermost_node = NULL; |
Class* kernel_klass = NULL; |
- DiscoverEnclosingElements( |
- Z, function, &outermost_function, &outermost_node, &kernel_klass); |
+ DiscoverEnclosingElements(Z, function, &outermost_function, &outermost_node, |
+ &kernel_klass); |
// Use [klass]/[kernel_klass] as active class. Type parameters will get |
// resolved via [kernel_klass] unless we are nested inside a static factory |
// in which case we will use [member]. |
@@ -313,9 +313,8 @@ ScopeBuildingResult* ScopeBuilder::BuildScopes() { |
intptr_t pos = 0; |
if (function.IsClosureFunction()) { |
- LocalVariable* variable = |
- MakeVariable(Symbols::ClosureParameter(), |
- AbstractType::dynamic_type()); |
+ LocalVariable* variable = MakeVariable(Symbols::ClosureParameter(), |
+ AbstractType::dynamic_type()); |
variable->set_is_forced_stack(); |
scope_->InsertParameterAt(pos++, variable); |
} else if (!function.is_static()) { |
@@ -343,8 +342,7 @@ ScopeBuildingResult* ScopeBuilder::BuildScopes() { |
} |
} else if (function.IsFactory()) { |
LocalVariable* variable = MakeVariable( |
- Symbols::TypeArgumentsParameter(), |
- AbstractType::dynamic_type()); |
+ Symbols::TypeArgumentsParameter(), AbstractType::dynamic_type()); |
scope_->InsertParameterAt(pos++, variable); |
result_->type_arguments_variable = variable; |
} |
@@ -377,8 +375,8 @@ ScopeBuildingResult* ScopeBuilder::BuildScopes() { |
result_->this_variable = variable; |
} |
if (is_setter) { |
- result_->setter_value = MakeVariable( |
- Symbols::Value(), AbstractType::dynamic_type()); |
+ result_->setter_value = |
+ MakeVariable(Symbols::Value(), AbstractType::dynamic_type()); |
scope_->InsertParameterAt(pos++, result_->setter_value); |
} |
break; |
@@ -575,9 +573,8 @@ void ScopeBuilder::VisitForInStatement(ForInStatement* node) { |
void ScopeBuilder::AddSwitchVariable() { |
if ((depth_.function_ == 0) && (result_->switch_variable == NULL)) { |
- LocalVariable* variable = MakeVariable( |
- Symbols::SwitchExpr(), |
- AbstractType::dynamic_type()); |
+ LocalVariable* variable = |
+ MakeVariable(Symbols::SwitchExpr(), AbstractType::dynamic_type()); |
variable->set_is_forced_stack(); |
current_function_scope_->AddVariable(variable); |
result_->switch_variable = variable; |
@@ -595,9 +592,7 @@ void ScopeBuilder::VisitReturnStatement(ReturnStatement* node) { |
if ((depth_.function_ == 0) && (depth_.finally_ > 0) && |
(result_->finally_return_variable == NULL)) { |
const dart::String& name = H.DartSymbol(":try_finally_return_value"); |
- LocalVariable* variable = MakeVariable( |
- name, |
- AbstractType::dynamic_type()); |
+ LocalVariable* variable = MakeVariable(name, AbstractType::dynamic_type()); |
current_function_scope_->AddVariable(variable); |
result_->finally_return_variable = variable; |
} |
@@ -887,8 +882,10 @@ class TryCatchBlock { |
class CatchBlock { |
public: |
- CatchBlock(FlowGraphBuilder* builder, LocalVariable* exception_var, |
- LocalVariable* stack_trace_var, intptr_t catch_try_index) |
+ CatchBlock(FlowGraphBuilder* builder, |
+ LocalVariable* exception_var, |
+ LocalVariable* stack_trace_var, |
+ intptr_t catch_try_index) |
: builder_(builder), |
outer_(builder->catch_block_), |
exception_var_(exception_var), |
@@ -1032,8 +1029,9 @@ const dart::String& TranslationHelper::DartSetterName(Name* kernel_name) { |
if (content->buffer()[content->size() - 1] == '=') { |
skip = 1; |
} |
- dart::String& name = dart::String::ZoneHandle(Z, dart::String::FromUTF8( |
- content->buffer(), content->size() - skip, allocation_space_)); |
+ dart::String& name = dart::String::ZoneHandle( |
+ Z, dart::String::FromUTF8(content->buffer(), content->size() - skip, |
+ allocation_space_)); |
ManglePrivateName(kernel_name->library(), &name, false); |
name = dart::Field::SetterSymbol(name); |
return name; |
@@ -1172,7 +1170,8 @@ dart::RawFunction* TranslationHelper::LookupConstructorByKernelConstructor( |
dart::RawFunction* TranslationHelper::LookupConstructorByKernelConstructor( |
- const dart::Class& owner, Constructor* constructor) { |
+ const dart::Class& owner, |
+ Constructor* constructor) { |
dart::RawFunction* function = |
owner.LookupConstructorAllowPrivate(DartConstructorName(constructor)); |
ASSERT(function != Object::null()); |
@@ -1212,7 +1211,8 @@ void TranslationHelper::ReportError(const char* format, ...) { |
} |
-void TranslationHelper::ReportError(const Error& prev_error, const char* format, |
+void TranslationHelper::ReportError(const Error& prev_error, |
+ const char* format, |
...) { |
const Script& null_script = Script::Handle(Z); |
@@ -1242,8 +1242,8 @@ dart::String& TranslationHelper::ManglePrivateName(Library* kernel_library, |
const Array& TranslationHelper::ArgumentNames(List<NamedExpression>* named) { |
if (named->length() == 0) return Array::ZoneHandle(Z); |
- const Array& names = Array::ZoneHandle(Z, |
- Array::New(named->length(), allocation_space_)); |
+ const Array& names = |
+ Array::ZoneHandle(Z, Array::New(named->length(), allocation_space_)); |
for (intptr_t i = 0; i < named->length(); ++i) { |
names.SetAt(i, DartSymbol((*named)[i]->name())); |
} |
@@ -1261,7 +1261,8 @@ ConstantEvaluator::ConstantEvaluator(FlowGraphBuilder* builder, |
translation_helper_(*h), |
type_translator_(*type_translator), |
script_(dart::Script::Handle( |
- zone, builder_->parsed_function_->function().script())), |
+ zone, |
+ builder_->parsed_function_->function().script())), |
result_(dart::Instance::Handle(zone)) {} |
@@ -1368,8 +1369,10 @@ void ConstantEvaluator::VisitTypeLiteral(TypeLiteral* node) { |
RawObject* ConstantEvaluator::EvaluateConstConstructorCall( |
- const dart::Class& type_class, const TypeArguments& type_arguments, |
- const Function& constructor, const Object& argument) { |
+ const dart::Class& type_class, |
+ const TypeArguments& type_arguments, |
+ const Function& constructor, |
+ const Object& argument) { |
// Factories have one extra argument: the type arguments. |
// Constructors have 1 extra arguments: receiver. |
const int kNumArgs = 1; |
@@ -1444,9 +1447,8 @@ void ConstantEvaluator::CacheConstantValue(TreeNode* node, |
const intptr_t kInitialConstMapSize = 16; |
ASSERT(!script_.InVMHeap()); |
if (script_.compile_time_constants() == Array::null()) { |
- const Array& array = |
- Array::Handle(HashTables::New<KernelConstantsMap>(kInitialConstMapSize, |
- Heap::kNew)); |
+ const Array& array = Array::Handle( |
+ HashTables::New<KernelConstantsMap>(kInitialConstMapSize, Heap::kNew)); |
script_.set_compile_time_constants(array); |
} |
KernelConstantsMap constants(script_.compile_time_constants()); |
@@ -1732,7 +1734,8 @@ void ConstantEvaluator::VisitNot(Not* node) { |
const TypeArguments* ConstantEvaluator::TranslateTypeArguments( |
- const Function& target, dart::Class* target_klass, |
+ const Function& target, |
+ dart::Class* target_klass, |
Arguments* kernel_arguments) { |
List<DartType>& kernel_type_arguments = kernel_arguments->types(); |
@@ -1804,12 +1807,15 @@ const Object& ConstantEvaluator::RunFunction(const Function& function, |
FlowGraphBuilder::FlowGraphBuilder( |
- TreeNode* node, ParsedFunction* parsed_function, |
+ TreeNode* node, |
+ ParsedFunction* parsed_function, |
const ZoneGrowableArray<const ICData*>& ic_data_array, |
- InlineExitCollector* exit_collector, intptr_t osr_id, |
+ InlineExitCollector* exit_collector, |
+ intptr_t osr_id, |
intptr_t first_block_id) |
: zone_(Thread::Current()->zone()), |
- translation_helper_(Thread::Current(), zone_, |
+ translation_helper_(Thread::Current(), |
+ zone_, |
Thread::Current()->isolate()), |
node_(node), |
parsed_function_(parsed_function), |
@@ -1834,7 +1840,9 @@ FlowGraphBuilder::FlowGraphBuilder( |
next_used_try_index_(0), |
catch_block_(NULL), |
type_translator_(&translation_helper_, &active_class_), |
- constant_evaluator_(this, zone_, &translation_helper_, |
+ constant_evaluator_(this, |
+ zone_, |
+ &translation_helper_, |
&type_translator_) {} |
@@ -1842,7 +1850,8 @@ FlowGraphBuilder::~FlowGraphBuilder() {} |
Fragment FlowGraphBuilder::TranslateFinallyFinalizers( |
- TryFinallyBlock* outer_finally, intptr_t target_context_depth) { |
+ TryFinallyBlock* outer_finally, |
+ intptr_t target_context_depth) { |
TryFinallyBlock* const saved_block = try_finally_block_; |
const intptr_t saved_depth = context_depth_; |
const intptr_t saved_try_depth = try_depth_; |
@@ -2106,7 +2115,8 @@ Fragment FlowGraphBuilder::BranchIfEqual(TargetEntryInstr** then_entry, |
Fragment FlowGraphBuilder::BranchIfStrictEqual( |
- TargetEntryInstr** then_entry, TargetEntryInstr** otherwise_entry) { |
+ TargetEntryInstr** then_entry, |
+ TargetEntryInstr** otherwise_entry) { |
Value* rhs = Pop(); |
Value* lhs = Pop(); |
StrictCompareInstr* compare = new (Z) StrictCompareInstr( |
@@ -2121,10 +2131,9 @@ Fragment FlowGraphBuilder::BranchIfStrictEqual( |
Fragment FlowGraphBuilder::CatchBlockEntry(const Array& handler_types, |
intptr_t handler_index) { |
ASSERT(CurrentException()->is_captured() == |
- CurrentStackTrace()->is_captured()); |
+ CurrentStackTrace()->is_captured()); |
const bool should_restore_closure_context = |
- CurrentException()->is_captured() || |
- CurrentCatchContext()->is_captured(); |
+ CurrentException()->is_captured() || CurrentCatchContext()->is_captured(); |
CatchBlockEntryInstr* entry = new (Z) CatchBlockEntryInstr( |
AllocateBlockId(), CurrentTryIndex(), graph_entry_, handler_types, |
handler_index, *CurrentException(), *CurrentStackTrace(), |
@@ -2322,7 +2331,8 @@ Fragment FlowGraphBuilder::LoadField(intptr_t offset, intptr_t class_id) { |
Fragment FlowGraphBuilder::LoadNativeField(MethodRecognizer::Kind kind, |
- intptr_t offset, const Type& type, |
+ intptr_t offset, |
+ const Type& type, |
intptr_t class_id, |
bool is_immutable) { |
LoadFieldInstr* load = |
@@ -2452,9 +2462,7 @@ Fragment FlowGraphBuilder::StoreIndexed(intptr_t class_id) { |
Value* value = Pop(); |
Value* index = Pop(); |
const StoreBarrierType emit_store_barrier = |
- value->BindsToConstant() |
- ? kNoStoreBarrier |
- : kEmitStoreBarrier; |
+ value->BindsToConstant() ? kNoStoreBarrier : kEmitStoreBarrier; |
StoreIndexedInstr* store = new (Z) StoreIndexedInstr( |
Pop(), // Array. |
index, value, emit_store_barrier, Instance::ElementSizeFor(class_id), |
@@ -2465,7 +2473,8 @@ Fragment FlowGraphBuilder::StoreIndexed(intptr_t class_id) { |
Fragment FlowGraphBuilder::StoreInstanceField( |
- const dart::Field& field, StoreBarrierType emit_store_barrier) { |
+ const dart::Field& field, |
+ StoreBarrierType emit_store_barrier) { |
Value* value = Pop(); |
if (value->BindsToConstant()) { |
emit_store_barrier = kNoStoreBarrier; |
@@ -2492,7 +2501,8 @@ Fragment FlowGraphBuilder::StoreInstanceFieldGuarded(const dart::Field& field) { |
Fragment FlowGraphBuilder::StoreInstanceField( |
- intptr_t offset, StoreBarrierType emit_store_barrier) { |
+ intptr_t offset, |
+ StoreBarrierType emit_store_barrier) { |
Value* value = Pop(); |
if (value->BindsToConstant()) { |
emit_store_barrier = kNoStoreBarrier; |
@@ -2620,7 +2630,8 @@ Fragment FlowGraphBuilder::ThrowNoSuchMethodError() { |
dart::RawFunction* FlowGraphBuilder::LookupMethodByMember( |
- Member* target, const dart::String& method_name) { |
+ Member* target, |
+ const dart::String& method_name) { |
Class* kernel_klass = Class::Cast(target->parent()); |
dart::Class& klass = |
dart::Class::Handle(Z, H.LookupClassByKernelClass(kernel_klass)); |
@@ -2635,11 +2646,9 @@ LocalVariable* FlowGraphBuilder::MakeTemporary() { |
char name[64]; |
intptr_t index = stack_->definition()->temp_index(); |
OS::SNPrint(name, 64, ":temp%" Pd, index); |
- LocalVariable* variable = new (Z) LocalVariable( |
- TokenPosition::kNoSource, |
- TokenPosition::kNoSource, |
- H.DartSymbol(name), |
- Object::dynamic_type()); |
+ LocalVariable* variable = |
+ new (Z) LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource, |
+ H.DartSymbol(name), Object::dynamic_type()); |
// Set the index relative to the base of the expression stack including |
// outgoing arguments. |
variable->set_index(parsed_function_->first_stack_local_index() - |
@@ -2785,8 +2794,8 @@ FlowGraph* FlowGraphBuilder::BuildGraph() { |
Function& outermost_function = Function::Handle(Z); |
TreeNode* outermost_node = NULL; |
Class* kernel_klass = NULL; |
- DiscoverEnclosingElements( |
- Z, function, &outermost_function, &outermost_node, &kernel_klass); |
+ DiscoverEnclosingElements(Z, function, &outermost_function, &outermost_node, |
+ &kernel_klass); |
// Mark that we are using [klass]/[kernell_klass] as active class. Resolving |
// of type parameters will get resolved via [kernell_klass] unless we are |
@@ -2860,8 +2869,8 @@ FlowGraph* FlowGraphBuilder::BuildGraphOfFunction(FunctionNode* function, |
Constructor* constructor) { |
const Function& dart_function = parsed_function_->function(); |
TargetEntryInstr* normal_entry = BuildTargetEntry(); |
- graph_entry_ = new (Z) |
- GraphEntryInstr(*parsed_function_, normal_entry, osr_id_); |
+ graph_entry_ = |
+ new (Z) GraphEntryInstr(*parsed_function_, normal_entry, osr_id_); |
SetupDefaultParameterValues(function); |
@@ -2882,11 +2891,9 @@ FlowGraph* FlowGraphBuilder::BuildGraphOfFunction(FunctionNode* function, |
if (variable->is_captured()) { |
// There is no LocalVariable describing the on-stack parameter so |
// create one directly and use the same type. |
- LocalVariable* parameter = |
- new (Z) LocalVariable(TokenPosition::kNoSource, |
- TokenPosition::kNoSource, |
- Symbols::TempParam(), |
- variable->type()); |
+ LocalVariable* parameter = new (Z) |
+ LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource, |
+ Symbols::TempParam(), variable->type()); |
parameter->set_index(parameter_index); |
// Mark the stack variable so it will be ignored by the code for |
// try/catch. |
@@ -3032,7 +3039,7 @@ FlowGraph* FlowGraphBuilder::BuildGraphOfFunction(FunctionNode* function, |
// unreachable from the OSR entry. Catch entries are always considered |
// reachable, even if they become unreachable after OSR. |
if (osr_id_ != Compiler::kNoOSRDeoptId) { |
- BitVector* block_marks = new(Z) BitVector(Z, next_block_id_); |
+ BitVector* block_marks = new (Z) BitVector(Z, next_block_id_); |
bool found = graph_entry_->PruneUnreachable(graph_entry_, NULL, osr_id_, |
block_marks); |
ASSERT(found); |
@@ -3198,7 +3205,8 @@ Fragment FlowGraphBuilder::NativeFunctionBody(FunctionNode* kernel_function, |
FlowGraph* FlowGraphBuilder::BuildGraphOfFieldAccessor( |
- Field* kernel_field, LocalVariable* setter_value) { |
+ Field* kernel_field, |
+ LocalVariable* setter_value) { |
const dart::Function& function = parsed_function_->function(); |
bool is_setter = function.IsImplicitSetterFunction(); |
@@ -3334,7 +3342,8 @@ FlowGraph* FlowGraphBuilder::BuildGraphOfMethodExtractor( |
FlowGraph* FlowGraphBuilder::BuildGraphOfImplicitClosureFunction( |
- FunctionNode* kernel_function, const Function& function) { |
+ FunctionNode* kernel_function, |
+ const Function& function) { |
const Function& target = Function::ZoneHandle(Z, function.parent_function()); |
TargetEntryInstr* normal_entry = BuildTargetEntry(); |
@@ -3622,7 +3631,8 @@ JoinEntryInstr* FlowGraphBuilder::BuildJoinEntry() { |
Fragment FlowGraphBuilder::TranslateInitializers( |
- Class* kernel_klass, List<Initializer>* initializers) { |
+ Class* kernel_klass, |
+ List<Initializer>* initializers) { |
Fragment instructions; |
// These come from: |
@@ -4013,7 +4023,8 @@ void DartTypeTranslator::VisitVoidType(VoidType* node) { |
const TypeArguments& DartTypeTranslator::TranslateTypeArguments( |
- DartType** dart_types, intptr_t length) { |
+ DartType** dart_types, |
+ intptr_t length) { |
bool only_dynamic = true; |
for (intptr_t i = 0; i < length; i++) { |
if (!dart_types[i]->IsDynamicType()) { |
@@ -4041,7 +4052,8 @@ const TypeArguments& DartTypeTranslator::TranslateTypeArguments( |
const TypeArguments& DartTypeTranslator::TranslateInstantiatedTypeArguments( |
- const dart::Class& receiver_class, DartType** receiver_type_arguments, |
+ const dart::Class& receiver_class, |
+ DartType** receiver_type_arguments, |
intptr_t length) { |
const TypeArguments& type_arguments = |
TranslateTypeArguments(receiver_type_arguments, length); |