Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(93)

Unified Diff: runtime/vm/intermediate_language_dbc.cc

Issue 2481873005: clang-format runtime/vm (Closed)
Patch Set: Merge Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/intermediate_language_arm64.cc ('k') | runtime/vm/intermediate_language_ia32.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/intermediate_language_dbc.cc
diff --git a/runtime/vm/intermediate_language_dbc.cc b/runtime/vm/intermediate_language_dbc.cc
index 5f986cb9104f38910a82ebce6ecc2ecd72a0d994..f3057af1452587f8fa4f44cff9f465276874401f 100644
--- a/runtime/vm/intermediate_language_dbc.cc
+++ b/runtime/vm/intermediate_language_dbc.cc
@@ -43,7 +43,7 @@ DECLARE_FLAG(int, optimization_counter_threshold);
M(BinaryUint32Op) \
M(ShiftUint32Op) \
M(UnaryUint32Op) \
- M(UnboxedIntConverter) \
+ M(UnboxedIntConverter)
// List of instructions that are not used by DBC.
// Things we aren't planning to implement for DBC:
@@ -92,7 +92,7 @@ DECLARE_FLAG(int, optimization_counter_threshold);
M(Float64x2ZeroArg) \
M(Float64x2OneArg) \
M(CheckedSmiOp) \
- M(CheckedSmiComparison) \
+ M(CheckedSmiComparison)
// Location summaries actually are not used by the unoptimizing DBC compiler
// because we don't allocate any registers.
@@ -102,11 +102,12 @@ static LocationSummary* CreateLocationSummary(
Location output = Location::NoLocation(),
LocationSummary::ContainsCall contains_call = LocationSummary::kNoCall,
intptr_t num_temps = 0) {
- LocationSummary* locs = new(zone) LocationSummary(
- zone, num_inputs, num_temps, contains_call);
+ LocationSummary* locs =
+ new (zone) LocationSummary(zone, num_inputs, num_temps, contains_call);
for (intptr_t i = 0; i < num_inputs; i++) {
- locs->set_in(i, (contains_call == LocationSummary::kNoCall) ?
- Location::RequiresRegister() : Location::RegisterLocation(i));
+ locs->set_in(i, (contains_call == LocationSummary::kNoCall)
+ ? Location::RequiresRegister()
+ : Location::RegisterLocation(i));
}
for (intptr_t i = 0; i < num_temps; i++) {
locs->set_temp(i, Location::RequiresRegister());
@@ -123,25 +124,25 @@ static LocationSummary* CreateLocationSummary(
LocationSummary* Name##Instr::MakeLocationSummary(Zone* zone, bool opt) \
const { \
return CreateLocationSummary(zone, __VA_ARGS__); \
- } \
+ }
#define EMIT_NATIVE_CODE(Name, ...) \
DEFINE_MAKE_LOCATION_SUMMARY(Name, __VA_ARGS__); \
- void Name##Instr::EmitNativeCode(FlowGraphCompiler* compiler) \
+ void Name##Instr::EmitNativeCode(FlowGraphCompiler* compiler)
#define DEFINE_UNIMPLEMENTED_MAKE_LOCATION_SUMMARY(Name) \
LocationSummary* Name##Instr::MakeLocationSummary(Zone* zone, bool opt) \
const { \
if (!opt) UNIMPLEMENTED(); \
return NULL; \
- } \
+ }
#define DEFINE_UNREACHABLE_MAKE_LOCATION_SUMMARY(Name) \
LocationSummary* Name##Instr::MakeLocationSummary(Zone* zone, bool opt) \
const { \
UNREACHABLE(); \
return NULL; \
- } \
+ }
#define DEFINE_UNIMPLEMENTED_EMIT_NATIVE_CODE(Name) \
void Name##Instr::EmitNativeCode(FlowGraphCompiler* compiler) { \
@@ -165,7 +166,7 @@ static LocationSummary* CreateLocationSummary(
#define DEFINE_UNIMPLEMENTED(Name) \
DEFINE_UNIMPLEMENTED_MAKE_LOCATION_SUMMARY(Name) \
- DEFINE_UNIMPLEMENTED_EMIT_NATIVE_CODE(Name) \
+ DEFINE_UNIMPLEMENTED_EMIT_NATIVE_CODE(Name)
FOR_EACH_UNIMPLEMENTED_INSTRUCTION(DEFINE_UNIMPLEMENTED)
@@ -173,7 +174,7 @@ FOR_EACH_UNIMPLEMENTED_INSTRUCTION(DEFINE_UNIMPLEMENTED)
#define DEFINE_UNREACHABLE(Name) \
DEFINE_UNREACHABLE_MAKE_LOCATION_SUMMARY(Name) \
- DEFINE_UNREACHABLE_EMIT_NATIVE_CODE(Name) \
+ DEFINE_UNREACHABLE_EMIT_NATIVE_CODE(Name)
FOR_EACH_UNREACHABLE_INSTRUCTION(DEFINE_UNREACHABLE)
@@ -184,7 +185,9 @@ FOR_EACH_UNREACHABLE_INSTRUCTION(DEFINE_UNREACHABLE)
DEFINE_UNIMPLEMENTED_EMIT_BRANCH_CODE(CheckedSmiComparison)
-EMIT_NATIVE_CODE(InstanceOf, 2, Location::SameAsFirstInput(),
+EMIT_NATIVE_CODE(InstanceOf,
+ 2,
+ Location::SameAsFirstInput(),
LocationSummary::kCall) {
SubtypeTestCache& test_cache = SubtypeTestCache::Handle();
if (!type().IsVoidType() && type().IsInstantiated()) {
@@ -200,8 +203,7 @@ EMIT_NATIVE_CODE(InstanceOf, 2, Location::SameAsFirstInput(),
__ PushConstant(test_cache);
__ InstanceOf(negate_result() ? 1 : 0);
compiler->RecordSafepoint(locs());
- compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
- deopt_id(),
+ compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, deopt_id(),
token_pos());
if (compiler->is_optimizing()) {
@@ -210,21 +212,22 @@ EMIT_NATIVE_CODE(InstanceOf, 2, Location::SameAsFirstInput(),
}
-DEFINE_MAKE_LOCATION_SUMMARY(AssertAssignable, 2,
+DEFINE_MAKE_LOCATION_SUMMARY(AssertAssignable,
+ 2,
Location::SameAsFirstInput(),
LocationSummary::kCall);
EMIT_NATIVE_CODE(AssertBoolean,
- 1, Location::SameAsFirstInput(),
+ 1,
+ Location::SameAsFirstInput(),
LocationSummary::kCall) {
if (compiler->is_optimizing()) {
__ Push(locs()->in(0).reg());
}
__ AssertBoolean(Isolate::Current()->type_checks() ? 1 : 0);
compiler->RecordSafepoint(locs());
- compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
- deopt_id(),
+ compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, deopt_id(),
token_pos());
if (compiler->is_optimizing()) {
__ Drop1();
@@ -233,13 +236,12 @@ EMIT_NATIVE_CODE(AssertBoolean,
EMIT_NATIVE_CODE(PolymorphicInstanceCall,
- 0, Location::RegisterLocation(0),
+ 0,
+ Location::RegisterLocation(0),
LocationSummary::kCall) {
ASSERT(ic_data().NumArgsTested() == 1);
- const Array& arguments_descriptor =
- Array::Handle(ArgumentsDescriptor::New(
- instance_call()->ArgumentCount(),
- instance_call()->argument_names()));
+ const Array& arguments_descriptor = Array::Handle(ArgumentsDescriptor::New(
+ instance_call()->ArgumentCount(), instance_call()->argument_names()));
const intptr_t argdesc_kidx = __ AddConstant(arguments_descriptor);
// Push the target onto the stack.
@@ -247,19 +249,18 @@ EMIT_NATIVE_CODE(PolymorphicInstanceCall,
const intptr_t may_be_smi =
(ic_data().GetReceiverClassIdAt(0) == kSmiCid) ? 1 : 0;
GrowableArray<CidTarget> sorted_ic_data;
- FlowGraphCompiler::SortICDataByCount(ic_data(),
- &sorted_ic_data,
+ FlowGraphCompiler::SortICDataByCount(ic_data(), &sorted_ic_data,
/* drop_smi = */ true);
const intptr_t sorted_length = sorted_ic_data.length();
if (!Utils::IsUint(8, sorted_length)) {
Unsupported(compiler);
UNREACHABLE();
}
- __ PushPolymorphicInstanceCall(
- instance_call()->ArgumentCount(), sorted_length + may_be_smi);
+ __ PushPolymorphicInstanceCall(instance_call()->ArgumentCount(),
+ sorted_length + may_be_smi);
if (may_be_smi == 1) {
- const Function& target = Function::ZoneHandle(
- compiler->zone(), ic_data().GetTargetAt(0));
+ const Function& target =
+ Function::ZoneHandle(compiler->zone(), ic_data().GetTargetAt(0));
__ Nop(compiler->ToEmbeddableCid(kSmiCid, this));
__ Nop(__ AddConstant(target));
}
@@ -268,8 +269,8 @@ EMIT_NATIVE_CODE(PolymorphicInstanceCall,
__ Nop(compiler->ToEmbeddableCid(sorted_ic_data[i].cid, this));
__ Nop(__ AddConstant(target));
}
- compiler->EmitDeopt(
- deopt_id(), ICData::kDeoptPolymorphicInstanceCallTestFail, 0);
+ compiler->EmitDeopt(deopt_id(),
+ ICData::kDeoptPolymorphicInstanceCallTestFail, 0);
} else {
ASSERT(ic_data().HasOneTarget());
const Function& target = Function::ZoneHandle(ic_data().GetTargetAt(0));
@@ -278,8 +279,8 @@ EMIT_NATIVE_CODE(PolymorphicInstanceCall,
// Call the function.
__ StaticCall(instance_call()->ArgumentCount(), argdesc_kidx);
- compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
- deopt_id(), instance_call()->token_pos());
+ compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, deopt_id(),
+ instance_call()->token_pos());
compiler->RecordAfterCall(this);
__ PopLocal(locs()->out(0).reg());
}
@@ -291,11 +292,11 @@ EMIT_NATIVE_CODE(Stop, 0) {
EMIT_NATIVE_CODE(CheckStackOverflow,
- 0, Location::NoLocation(),
+ 0,
+ Location::NoLocation(),
LocationSummary::kCall) {
__ CheckStack();
- compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
- deopt_id(),
+ compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, deopt_id(),
token_pos());
compiler->RecordAfterCall(this);
}
@@ -319,11 +320,11 @@ EMIT_NATIVE_CODE(StoreLocal, 0) {
ASSERT(!compiler->is_optimizing());
ASSERT(local().index() != 0);
if (HasTemp()) {
- __ StoreLocal(
- (local().index() > 0) ? (-local().index()) : (-local().index() - 1));
+ __ StoreLocal((local().index() > 0) ? (-local().index())
+ : (-local().index() - 1));
} else {
- __ PopLocal(
- (local().index() > 0) ? (-local().index()) : (-local().index() - 1));
+ __ PopLocal((local().index() > 0) ? (-local().index())
+ : (-local().index() - 1));
}
}
@@ -376,12 +377,12 @@ EMIT_NATIVE_CODE(Return, 1) {
}
-LocationSummary* StoreStaticFieldInstr::MakeLocationSummary(
- Zone* zone, bool opt) const {
+LocationSummary* StoreStaticFieldInstr::MakeLocationSummary(Zone* zone,
+ bool opt) const {
const intptr_t kNumInputs = 1;
const intptr_t kNumTemps = 1;
- LocationSummary* locs = new(zone) LocationSummary(
- zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+ LocationSummary* locs = new (zone)
+ LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
for (intptr_t i = 0; i < kNumInputs; i++) {
locs->set_in(i, Location::RequiresRegister());
}
@@ -408,8 +409,7 @@ void StoreStaticFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
EMIT_NATIVE_CODE(LoadStaticField, 1, Location::RequiresRegister()) {
if (compiler->is_optimizing()) {
- __ LoadField(locs()->out(0).reg(),
- locs()->in(0).reg(),
+ __ LoadField(locs()->out(0).reg(), locs()->in(0).reg(),
Field::static_value_offset() / kWordSize);
} else {
const intptr_t kidx = __ AddConstant(StaticField());
@@ -437,9 +437,8 @@ EMIT_NATIVE_CODE(ClosureCall,
}
intptr_t argument_count = ArgumentCount();
- const Array& arguments_descriptor =
- Array::ZoneHandle(ArgumentsDescriptor::New(argument_count,
- argument_names()));
+ const Array& arguments_descriptor = Array::ZoneHandle(
+ ArgumentsDescriptor::New(argument_count, argument_names()));
const intptr_t argdesc_kidx =
compiler->assembler()->AddConstant(arguments_descriptor);
__ StaticCall(argument_count, argdesc_kidx);
@@ -481,8 +480,7 @@ static void EmitBranchOnCondition(FlowGraphCompiler* compiler,
Condition StrictCompareInstr::EmitComparisonCode(FlowGraphCompiler* compiler,
BranchLabels labels) {
- ASSERT((kind() == Token::kNE_STRICT) ||
- (kind() == Token::kEQ_STRICT));
+ ASSERT((kind() == Token::kNE_STRICT) || (kind() == Token::kEQ_STRICT));
Token::Kind comparison;
Condition condition;
@@ -492,32 +490,31 @@ Condition StrictCompareInstr::EmitComparisonCode(FlowGraphCompiler* compiler,
} else {
// Flip comparison to save a jump.
condition = NEXT_IS_FALSE;
- comparison = (kind() == Token::kEQ_STRICT) ? Token::kNE_STRICT
- : Token::kEQ_STRICT;
+ comparison =
+ (kind() == Token::kEQ_STRICT) ? Token::kNE_STRICT : Token::kEQ_STRICT;
}
if (!compiler->is_optimizing()) {
- const Bytecode::Opcode eq_op = needs_number_check() ?
- Bytecode::kIfEqStrictNumTOS : Bytecode::kIfEqStrictTOS;
- const Bytecode::Opcode ne_op = needs_number_check() ?
- Bytecode::kIfNeStrictNumTOS : Bytecode::kIfNeStrictTOS;
+ const Bytecode::Opcode eq_op = needs_number_check()
+ ? Bytecode::kIfEqStrictNumTOS
+ : Bytecode::kIfEqStrictTOS;
+ const Bytecode::Opcode ne_op = needs_number_check()
+ ? Bytecode::kIfNeStrictNumTOS
+ : Bytecode::kIfNeStrictTOS;
__ Emit(comparison == Token::kEQ_STRICT ? eq_op : ne_op);
} else {
- const Bytecode::Opcode eq_op = needs_number_check() ?
- Bytecode::kIfEqStrictNum : Bytecode::kIfEqStrict;
- const Bytecode::Opcode ne_op = needs_number_check() ?
- Bytecode::kIfNeStrictNum : Bytecode::kIfNeStrict;
- __ Emit(Bytecode::Encode(
- (comparison == Token::kEQ_STRICT) ? eq_op : ne_op,
- locs()->in(0).reg(),
- locs()->in(1).reg()));
+ const Bytecode::Opcode eq_op =
+ needs_number_check() ? Bytecode::kIfEqStrictNum : Bytecode::kIfEqStrict;
+ const Bytecode::Opcode ne_op =
+ needs_number_check() ? Bytecode::kIfNeStrictNum : Bytecode::kIfNeStrict;
+ __ Emit(Bytecode::Encode((comparison == Token::kEQ_STRICT) ? eq_op : ne_op,
+ locs()->in(0).reg(), locs()->in(1).reg()));
}
if (needs_number_check() && token_pos().IsReal()) {
compiler->RecordSafepoint(locs());
compiler->AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall,
- Thread::kNoDeoptId,
- token_pos());
+ Thread::kNoDeoptId, token_pos());
}
return condition;
@@ -526,8 +523,7 @@ Condition StrictCompareInstr::EmitComparisonCode(FlowGraphCompiler* compiler,
void StrictCompareInstr::EmitBranchCode(FlowGraphCompiler* compiler,
BranchInstr* branch) {
- ASSERT((kind() == Token::kEQ_STRICT) ||
- (kind() == Token::kNE_STRICT));
+ ASSERT((kind() == Token::kEQ_STRICT) || (kind() == Token::kNE_STRICT));
BranchLabels labels = compiler->CreateBranchLabels(branch);
Condition true_condition = EmitComparisonCode(compiler, labels);
@@ -540,11 +536,10 @@ EMIT_NATIVE_CODE(StrictCompare,
Location::RequiresRegister(),
needs_number_check() ? LocationSummary::kCall
: LocationSummary::kNoCall) {
- ASSERT((kind() == Token::kEQ_STRICT) ||
- (kind() == Token::kNE_STRICT));
+ ASSERT((kind() == Token::kEQ_STRICT) || (kind() == Token::kNE_STRICT));
Label is_true, is_false;
- BranchLabels labels = { &is_true, &is_false, &is_false };
+ BranchLabels labels = {&is_true, &is_false, &is_false};
Condition true_condition = EmitComparisonCode(compiler, labels);
EmitBranchOnCondition(compiler, true_condition, labels);
Label done;
@@ -567,8 +562,7 @@ EMIT_NATIVE_CODE(StrictCompare,
}
-LocationSummary* BranchInstr::MakeLocationSummary(Zone* zone,
- bool opt) const {
+LocationSummary* BranchInstr::MakeLocationSummary(Zone* zone, bool opt) const {
comparison()->InitializeLocationSummary(zone, opt);
if (!comparison()->HasLocs()) {
return NULL;
@@ -588,8 +582,7 @@ EMIT_NATIVE_CODE(Goto, 0) {
if (!compiler->is_optimizing()) {
// Add a deoptimization descriptor for deoptimizing instructions that
// may be inserted before this instruction.
- compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt,
- GetDeoptId(),
+ compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt, GetDeoptId(),
TokenPosition::kNoSource);
}
if (HasParallelMove()) {
@@ -605,8 +598,7 @@ EMIT_NATIVE_CODE(Goto, 0) {
Condition TestSmiInstr::EmitComparisonCode(FlowGraphCompiler* compiler,
BranchLabels labels) {
- ASSERT((kind() == Token::kEQ) ||
- (kind() == Token::kNE));
+ ASSERT((kind() == Token::kEQ) || (kind() == Token::kNE));
Register left = locs()->in(0).reg();
Register right = locs()->in(1).reg();
__ TestSmi(left, right);
@@ -632,7 +624,7 @@ EMIT_NATIVE_CODE(TestSmi,
Condition TestCidsInstr::EmitComparisonCode(FlowGraphCompiler* compiler,
- BranchLabels labels) {
+ BranchLabels labels) {
ASSERT((kind() == Token::kIS) || (kind() == Token::kISNOT));
const Register value = locs()->in(0).reg();
const intptr_t true_result = (kind() == Token::kIS) ? 1 : 0;
@@ -651,8 +643,7 @@ Condition TestCidsInstr::EmitComparisonCode(FlowGraphCompiler* compiler,
// No match found, deoptimize or false.
if (CanDeoptimize()) {
- compiler->EmitDeopt(deopt_id(),
- ICData::kDeoptTestCids,
+ compiler->EmitDeopt(deopt_id(), ICData::kDeoptTestCids,
licm_hoisted_ ? ICData::kHoisted : 0);
} else {
Label* target = result ? labels.false_label : labels.true_label;
@@ -671,11 +662,13 @@ void TestCidsInstr::EmitBranchCode(FlowGraphCompiler* compiler,
}
-EMIT_NATIVE_CODE(TestCids, 1, Location::RequiresRegister(),
+EMIT_NATIVE_CODE(TestCids,
+ 1,
+ Location::RequiresRegister(),
LocationSummary::kNoCall) {
Register result_reg = locs()->out(0).reg();
Label is_true, is_false, done;
- BranchLabels labels = { &is_true, &is_false, &is_false };
+ BranchLabels labels = {&is_true, &is_false, &is_false};
EmitComparisonCode(compiler, labels);
__ Jump(&is_true);
__ Bind(&is_false);
@@ -688,7 +681,8 @@ EMIT_NATIVE_CODE(TestCids, 1, Location::RequiresRegister(),
EMIT_NATIVE_CODE(CreateArray,
- 2, Location::RequiresRegister(),
+ 2,
+ Location::RequiresRegister(),
LocationSummary::kCall) {
if (compiler->is_optimizing()) {
const Register length = locs()->in(kLengthPos).reg();
@@ -707,8 +701,11 @@ EMIT_NATIVE_CODE(CreateArray,
}
-EMIT_NATIVE_CODE(StoreIndexed, 3, Location::NoLocation(),
- LocationSummary::kNoCall, 1) {
+EMIT_NATIVE_CODE(StoreIndexed,
+ 3,
+ Location::NoLocation(),
+ LocationSummary::kNoCall,
+ 1) {
if (!compiler->is_optimizing()) {
ASSERT(class_id() == kArrayCid);
__ StoreIndexedTOS();
@@ -787,8 +784,11 @@ EMIT_NATIVE_CODE(StoreIndexed, 3, Location::NoLocation(),
}
-EMIT_NATIVE_CODE(LoadIndexed, 2, Location::RequiresRegister(),
- LocationSummary::kNoCall, 1) {
+EMIT_NATIVE_CODE(LoadIndexed,
+ 2,
+ Location::RequiresRegister(),
+ LocationSummary::kNoCall,
+ 1) {
ASSERT(compiler->is_optimizing());
const Register array = locs()->in(0).reg();
const Register index = locs()->in(1).reg();
@@ -898,7 +898,8 @@ EMIT_NATIVE_CODE(LoadIndexed, 2, Location::RequiresRegister(),
EMIT_NATIVE_CODE(StringInterpolate,
- 1, Location::RegisterLocation(0),
+ 1,
+ Location::RegisterLocation(0),
LocationSummary::kCall) {
if (compiler->is_optimizing()) {
__ Push(locs()->in(0).reg());
@@ -917,7 +918,8 @@ EMIT_NATIVE_CODE(StringInterpolate,
EMIT_NATIVE_CODE(NativeCall,
- 0, Location::NoLocation(),
+ 0,
+ Location::NoLocation(),
LocationSummary::kCall) {
SetupNative();
@@ -937,14 +939,14 @@ EMIT_NATIVE_CODE(NativeCall,
__ NativeCall();
}
compiler->RecordSafepoint(locs());
- compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
- Thread::kNoDeoptId,
+ compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
token_pos());
}
EMIT_NATIVE_CODE(OneByteStringFromCharCode,
- 1, Location::RequiresRegister(),
+ 1,
+ Location::RequiresRegister(),
LocationSummary::kNoCall) {
ASSERT(compiler->is_optimizing());
const Register char_code = locs()->in(0).reg(); // Char code is a smi.
@@ -954,7 +956,8 @@ EMIT_NATIVE_CODE(OneByteStringFromCharCode,
EMIT_NATIVE_CODE(StringToCharCode,
- 1, Location::RequiresRegister(),
+ 1,
+ Location::RequiresRegister(),
LocationSummary::kNoCall) {
ASSERT(cid_ == kOneByteStringCid);
const Register str = locs()->in(0).reg();
@@ -964,7 +967,8 @@ EMIT_NATIVE_CODE(StringToCharCode,
EMIT_NATIVE_CODE(AllocateObject,
- 0, Location::RequiresRegister(),
+ 0,
+ Location::RequiresRegister(),
LocationSummary::kCall) {
if (ArgumentCount() == 1) {
// Allocate with type arguments.
@@ -979,8 +983,8 @@ EMIT_NATIVE_CODE(AllocateObject,
ASSERT(cls().id() != kIllegalCid);
tags = RawObject::ClassIdTag::update(cls().id(), tags);
if (Smi::IsValid(tags)) {
- const intptr_t tags_kidx = __ AddConstant(
- Smi::Handle(Smi::New(tags)));
+ const intptr_t tags_kidx =
+ __ AddConstant(Smi::Handle(Smi::New(tags)));
__ AllocateTOpt(locs()->out(0).reg(), tags_kidx);
__ Nop(cls().type_arguments_field_offset());
}
@@ -988,16 +992,14 @@ EMIT_NATIVE_CODE(AllocateObject,
__ PushConstant(cls());
__ AllocateT();
compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
- Thread::kNoDeoptId,
- token_pos());
+ Thread::kNoDeoptId, token_pos());
compiler->RecordSafepoint(locs());
__ PopLocal(locs()->out(0).reg());
} else {
__ PushConstant(cls());
__ AllocateT();
compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
- Thread::kNoDeoptId,
- token_pos());
+ Thread::kNoDeoptId, token_pos());
compiler->RecordSafepoint(locs());
}
} else if (compiler->is_optimizing()) {
@@ -1017,16 +1019,14 @@ EMIT_NATIVE_CODE(AllocateObject,
}
const intptr_t kidx = __ AddConstant(cls());
__ Allocate(kidx);
- compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
- Thread::kNoDeoptId,
+ compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
token_pos());
compiler->RecordSafepoint(locs());
__ PopLocal(locs()->out(0).reg());
} else {
const intptr_t kidx = __ AddConstant(cls());
__ Allocate(kidx);
- compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
- Thread::kNoDeoptId,
+ compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
token_pos());
compiler->RecordSafepoint(locs());
}
@@ -1090,42 +1090,42 @@ EMIT_NATIVE_CODE(BooleanNegate, 1, Location::RequiresRegister()) {
EMIT_NATIVE_CODE(AllocateContext,
- 0, Location::RequiresRegister(),
+ 0,
+ Location::RequiresRegister(),
LocationSummary::kCall) {
ASSERT(!compiler->is_optimizing());
__ AllocateContext(num_context_variables());
compiler->RecordSafepoint(locs());
- compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
- Thread::kNoDeoptId,
+ compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
token_pos());
}
EMIT_NATIVE_CODE(AllocateUninitializedContext,
- 0, Location::RequiresRegister(),
+ 0,
+ Location::RequiresRegister(),
LocationSummary::kCall) {
ASSERT(compiler->is_optimizing());
__ AllocateUninitializedContext(locs()->out(0).reg(),
num_context_variables());
__ AllocateContext(num_context_variables());
compiler->RecordSafepoint(locs());
- compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
- Thread::kNoDeoptId,
+ compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
token_pos());
__ PopLocal(locs()->out(0).reg());
}
EMIT_NATIVE_CODE(CloneContext,
- 1, Location::RequiresRegister(),
+ 1,
+ Location::RequiresRegister(),
LocationSummary::kCall) {
if (compiler->is_optimizing()) {
__ Push(locs()->in(0).reg());
}
__ CloneContext();
compiler->RecordSafepoint(locs());
- compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
- Thread::kNoDeoptId,
+ compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
token_pos());
if (compiler->is_optimizing()) {
__ PopLocal(locs()->out(0).reg());
@@ -1135,11 +1135,9 @@ EMIT_NATIVE_CODE(CloneContext,
EMIT_NATIVE_CODE(CatchBlockEntry, 0) {
__ Bind(compiler->GetJumpLabel(this));
- compiler->AddExceptionHandler(catch_try_index(),
- try_index(),
+ compiler->AddExceptionHandler(catch_try_index(), try_index(),
compiler->assembler()->CodeSize(),
- catch_handler_types_,
- needs_stacktrace());
+ catch_handler_types_, needs_stacktrace());
if (HasParallelMove()) {
compiler->parallel_move_resolver()->EmitNativeCode(parallel_move());
@@ -1149,9 +1147,11 @@ EMIT_NATIVE_CODE(CatchBlockEntry, 0) {
// of the allocatable register range.
const intptr_t num_non_copied_params =
compiler->flow_graph().num_non_copied_params();
- const intptr_t exception_reg = kNumberOfCpuRegisters -
+ const intptr_t exception_reg =
+ kNumberOfCpuRegisters -
(-exception_var().index() + num_non_copied_params);
- const intptr_t stacktrace_reg = kNumberOfCpuRegisters -
+ const intptr_t stacktrace_reg =
+ kNumberOfCpuRegisters -
(-stacktrace_var().index() + num_non_copied_params);
__ MoveSpecial(exception_reg, Simulator::kExceptionSpecialIndex);
__ MoveSpecial(stacktrace_reg, Simulator::kStacktraceSpecialIndex);
@@ -1167,8 +1167,7 @@ EMIT_NATIVE_CODE(CatchBlockEntry, 0) {
EMIT_NATIVE_CODE(Throw, 0, Location::NoLocation(), LocationSummary::kCall) {
__ Throw(0);
- compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
- deopt_id(),
+ compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, deopt_id(),
token_pos());
compiler->RecordAfterCall(this);
__ Trap();
@@ -1178,23 +1177,22 @@ EMIT_NATIVE_CODE(Throw, 0, Location::NoLocation(), LocationSummary::kCall) {
EMIT_NATIVE_CODE(ReThrow, 0, Location::NoLocation(), LocationSummary::kCall) {
compiler->SetNeedsStacktrace(catch_try_index());
__ Throw(1);
- compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
- deopt_id(),
+ compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, deopt_id(),
token_pos());
compiler->RecordAfterCall(this);
__ Trap();
}
EMIT_NATIVE_CODE(InstantiateType,
- 1, Location::RequiresRegister(),
+ 1,
+ Location::RequiresRegister(),
LocationSummary::kCall) {
if (compiler->is_optimizing()) {
__ Push(locs()->in(0).reg());
}
__ InstantiateType(__ AddConstant(type()));
compiler->RecordSafepoint(locs());
- compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
- deopt_id(),
+ compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, deopt_id(),
token_pos());
if (compiler->is_optimizing()) {
__ PopLocal(locs()->out(0).reg());
@@ -1202,7 +1200,8 @@ EMIT_NATIVE_CODE(InstantiateType,
}
EMIT_NATIVE_CODE(InstantiateTypeArguments,
- 1, Location::RequiresRegister(),
+ 1,
+ Location::RequiresRegister(),
LocationSummary::kCall) {
if (compiler->is_optimizing()) {
__ Push(locs()->in(0).reg());
@@ -1211,8 +1210,7 @@ EMIT_NATIVE_CODE(InstantiateTypeArguments,
type_arguments().IsRawInstantiatedRaw(type_arguments().Length()),
__ AddConstant(type_arguments()));
compiler->RecordSafepoint(locs());
- compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
- deopt_id(),
+ compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, deopt_id(),
token_pos());
if (compiler->is_optimizing()) {
__ PopLocal(locs()->out(0).reg());
@@ -1234,8 +1232,8 @@ void GraphEntryInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
LocationSummary* Instruction::MakeCallSummary(Zone* zone) {
- LocationSummary* result = new(zone) LocationSummary(
- zone, 0, 0, LocationSummary::kCall);
+ LocationSummary* result =
+ new (zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
// TODO(vegorov) support allocating out registers for calls.
// Currently we require them to be fixed.
result->set_out(0, Location::RegisterLocation(0));
@@ -1262,8 +1260,8 @@ static const intptr_t kMintShiftCountLimit = 63;
bool ShiftMintOpInstr::has_shift_count_check() const {
- return !RangeUtils::IsWithin(
- right()->definition()->range(), 0, kMintShiftCountLimit);
+ return !RangeUtils::IsWithin(right()->definition()->range(), 0,
+ kMintShiftCountLimit);
}
@@ -1389,21 +1387,20 @@ Representation StoreIndexedInstr::RequiredInputRepresentation(
void Environment::DropArguments(intptr_t argc) {
#if defined(DEBUG)
- // Check that we are in the backend - register allocation has been run.
- ASSERT(locations_ != NULL);
+ // Check that we are in the backend - register allocation has been run.
+ ASSERT(locations_ != NULL);
- // Check that we are only dropping a valid number of instructions from the
- // environment.
- ASSERT(argc <= values_.length());
+ // Check that we are only dropping a valid number of instructions from the
+ // environment.
+ ASSERT(argc <= values_.length());
#endif
- values_.TruncateTo(values_.length() - argc);
+ values_.TruncateTo(values_.length() - argc);
}
EMIT_NATIVE_CODE(CheckSmi, 1) {
__ CheckSmi(locs()->in(0).reg());
- compiler->EmitDeopt(deopt_id(),
- ICData::kDeoptCheckSmi,
+ compiler->EmitDeopt(deopt_id(), ICData::kDeoptCheckSmi,
licm_hoisted_ ? ICData::kHoisted : 0);
}
@@ -1418,8 +1415,7 @@ EMIT_NATIVE_CODE(CheckEitherNonSmi, 2) {
EMIT_NATIVE_CODE(CheckClassId, 1) {
- __ CheckClassId(locs()->in(0).reg(),
- compiler->ToEmbeddableCid(cid_, this));
+ __ CheckClassId(locs()->in(0).reg(), compiler->ToEmbeddableCid(cid_, this));
compiler->EmitDeopt(deopt_id(), ICData::kDeoptCheckClass);
}
@@ -1452,8 +1448,7 @@ EMIT_NATIVE_CODE(CheckClass, 1) {
__ Nop(__ AddConstant(Smi::Handle(Smi::New(cid_mask))));
} else {
GrowableArray<CidTarget> sorted_ic_data;
- FlowGraphCompiler::SortICDataByCount(unary_checks(),
- &sorted_ic_data,
+ FlowGraphCompiler::SortICDataByCount(unary_checks(), &sorted_ic_data,
/* drop_smi = */ true);
const intptr_t sorted_length = sorted_ic_data.length();
if (!Utils::IsUint(8, sorted_length)) {
@@ -1466,8 +1461,7 @@ EMIT_NATIVE_CODE(CheckClass, 1) {
}
}
}
- compiler->EmitDeopt(deopt_id(),
- ICData::kDeoptCheckClass,
+ compiler->EmitDeopt(deopt_id(), ICData::kDeoptCheckClass,
licm_hoisted_ ? ICData::kHoisted : 0);
}
@@ -1565,8 +1559,7 @@ EMIT_NATIVE_CODE(Box, 1, Location::RequiresRegister(), LocationSummary::kCall) {
}
const intptr_t kidx = __ AddConstant(compiler->double_class());
__ Allocate(kidx);
- compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
- Thread::kNoDeoptId,
+ compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
token_pos());
compiler->RecordSafepoint(locs());
__ PopLocal(out);
@@ -1585,7 +1578,7 @@ EMIT_NATIVE_CODE(Unbox, 1, Location::RequiresRegister()) {
} else if (CanConvertSmi() && (value_cid == kSmiCid)) {
__ SmiToDouble(result, box);
} else if ((value()->Type()->ToNullableCid() == box_cid) &&
- value()->Type()->is_nullable()) {
+ value()->Type()->is_nullable()) {
__ IfEqNull(box);
compiler->EmitDeopt(GetDeoptId(), ICData::kDeoptCheckClass);
__ UnboxDouble(result, box);
@@ -1651,11 +1644,20 @@ EMIT_NATIVE_CODE(BinaryDoubleOp, 2, Location::RequiresRegister()) {
const Register right = locs()->in(1).reg();
const Register result = locs()->out(0).reg();
switch (op_kind()) {
- case Token::kADD: __ DAdd(result, left, right); break;
- case Token::kSUB: __ DSub(result, left, right); break;
- case Token::kMUL: __ DMul(result, left, right); break;
- case Token::kDIV: __ DDiv(result, left, right); break;
- default: UNREACHABLE();
+ case Token::kADD:
+ __ DAdd(result, left, right);
+ break;
+ case Token::kSUB:
+ __ DSub(result, left, right);
+ break;
+ case Token::kMUL:
+ __ DMul(result, left, right);
+ break;
+ case Token::kDIV:
+ __ DDiv(result, left, right);
+ break;
+ default:
+ UNREACHABLE();
}
}
@@ -1683,8 +1685,8 @@ void DoubleTestOpInstr::EmitBranchCode(FlowGraphCompiler* compiler,
UNREACHABLE();
}
const bool is_negated = kind() != Token::kEQ;
- EmitBranchOnCondition(
- compiler, is_negated ? NEXT_IS_FALSE : NEXT_IS_TRUE, labels);
+ EmitBranchOnCondition(compiler, is_negated ? NEXT_IS_FALSE : NEXT_IS_TRUE,
+ labels);
}
@@ -1763,7 +1765,8 @@ EMIT_NATIVE_CODE(FloatToDouble, 1, Location::RequiresRegister()) {
EMIT_NATIVE_CODE(InvokeMathCFunction,
- InputCount(), Location::RequiresRegister()) {
+ InputCount(),
+ Location::RequiresRegister()) {
const Register left = locs()->in(0).reg();
const Register result = locs()->out(0).reg();
if (recognized_kind() == MethodRecognizer::kMathDoublePow) {
@@ -1808,12 +1811,18 @@ EMIT_NATIVE_CODE(MathMinMax, 2, Location::RequiresRegister()) {
static Token::Kind FlipCondition(Token::Kind kind) {
switch (kind) {
- case Token::kEQ: return Token::kNE;
- case Token::kNE: return Token::kEQ;
- case Token::kLT: return Token::kGTE;
- case Token::kGT: return Token::kLTE;
- case Token::kLTE: return Token::kGT;
- case Token::kGTE: return Token::kLT;
+ case Token::kEQ:
+ return Token::kNE;
+ case Token::kNE:
+ return Token::kEQ;
+ case Token::kLT:
+ return Token::kGTE;
+ case Token::kGT:
+ return Token::kLTE;
+ case Token::kLTE:
+ return Token::kGT;
+ case Token::kGTE:
+ return Token::kLT;
default:
UNREACHABLE();
return Token::kNE;
@@ -1823,12 +1832,18 @@ static Token::Kind FlipCondition(Token::Kind kind) {
static Bytecode::Opcode OpcodeForSmiCondition(Token::Kind kind) {
switch (kind) {
- case Token::kEQ: return Bytecode::kIfEqStrict;
- case Token::kNE: return Bytecode::kIfNeStrict;
- case Token::kLT: return Bytecode::kIfLt;
- case Token::kGT: return Bytecode::kIfGt;
- case Token::kLTE: return Bytecode::kIfLe;
- case Token::kGTE: return Bytecode::kIfGe;
+ case Token::kEQ:
+ return Bytecode::kIfEqStrict;
+ case Token::kNE:
+ return Bytecode::kIfNeStrict;
+ case Token::kLT:
+ return Bytecode::kIfLt;
+ case Token::kGT:
+ return Bytecode::kIfGt;
+ case Token::kLTE:
+ return Bytecode::kIfLe;
+ case Token::kGTE:
+ return Bytecode::kIfGe;
default:
UNREACHABLE();
return Bytecode::kTrap;
@@ -1838,12 +1853,18 @@ static Bytecode::Opcode OpcodeForSmiCondition(Token::Kind kind) {
static Bytecode::Opcode OpcodeForDoubleCondition(Token::Kind kind) {
switch (kind) {
- case Token::kEQ: return Bytecode::kIfDEq;
- case Token::kNE: return Bytecode::kIfDNe;
- case Token::kLT: return Bytecode::kIfDLt;
- case Token::kGT: return Bytecode::kIfDGt;
- case Token::kLTE: return Bytecode::kIfDLe;
- case Token::kGTE: return Bytecode::kIfDGe;
+ case Token::kEQ:
+ return Bytecode::kIfDEq;
+ case Token::kNE:
+ return Bytecode::kIfDNe;
+ case Token::kLT:
+ return Bytecode::kIfDLt;
+ case Token::kGT:
+ return Bytecode::kIfDGt;
+ case Token::kLTE:
+ return Bytecode::kIfDLe;
+ case Token::kGTE:
+ return Bytecode::kIfDGe;
default:
UNREACHABLE();
return Bytecode::kTrap;
@@ -1907,7 +1928,7 @@ EMIT_NATIVE_CODE(EqualityCompare, 2, Location::RequiresRegister()) {
// These labels are not used. They are arranged so that EmitComparisonCode
// emits a test that executes the following instruction when the test
// succeeds.
- BranchLabels labels = { &is_true, &is_false, &is_false };
+ BranchLabels labels = {&is_true, &is_false, &is_false};
const Register result = locs()->out(0).reg();
__ LoadConstant(result, Bool::False());
Condition true_condition = EmitComparisonCode(compiler, labels);
@@ -1939,7 +1960,7 @@ Condition RelationalOpInstr::EmitComparisonCode(FlowGraphCompiler* compiler,
EMIT_NATIVE_CODE(RelationalOp, 2, Location::RequiresRegister()) {
ASSERT(compiler->is_optimizing());
Label is_true, is_false;
- BranchLabels labels = { &is_true, &is_false, &is_false };
+ BranchLabels labels = {&is_true, &is_false, &is_false};
const Register result = locs()->out(0).reg();
__ LoadConstant(result, Bool::False());
Condition true_condition = EmitComparisonCode(compiler, labels);
@@ -1962,16 +1983,14 @@ EMIT_NATIVE_CODE(CheckArrayBound, 2) {
const intptr_t index_cid = this->index()->Type()->ToCid();
if (index_cid != kSmiCid) {
__ CheckSmi(index);
- compiler->EmitDeopt(deopt_id(),
- ICData::kDeoptCheckArrayBound,
+ compiler->EmitDeopt(deopt_id(), ICData::kDeoptCheckArrayBound,
(generalized_ ? ICData::kGeneralized : 0) |
- (licm_hoisted_ ? ICData::kHoisted : 0));
+ (licm_hoisted_ ? ICData::kHoisted : 0));
}
__ IfULe(length, index);
- compiler->EmitDeopt(deopt_id(),
- ICData::kDeoptCheckArrayBound,
+ compiler->EmitDeopt(deopt_id(), ICData::kDeoptCheckArrayBound,
(generalized_ ? ICData::kGeneralized : 0) |
- (licm_hoisted_ ? ICData::kHoisted : 0));
+ (licm_hoisted_ ? ICData::kHoisted : 0));
}
} // namespace dart
« no previous file with comments | « runtime/vm/intermediate_language_arm64.cc ('k') | runtime/vm/intermediate_language_ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698