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

Unified Diff: runtime/vm/intermediate_language_ia32.cc

Issue 10843006: Remove the default contains_call parameter on location summaries. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rename. Created 8 years, 5 months 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
Index: runtime/vm/intermediate_language_ia32.cc
diff --git a/runtime/vm/intermediate_language_ia32.cc b/runtime/vm/intermediate_language_ia32.cc
index d07a64ff35524927ab79ee99d173c7785854bb18..6abf8c8ca736bfb427c53d2ea239b4f5cf7705ef 100644
--- a/runtime/vm/intermediate_language_ia32.cc
+++ b/runtime/vm/intermediate_language_ia32.cc
@@ -46,7 +46,8 @@ void BindInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
LocationSummary* ReturnInstr::MakeLocationSummary() const {
const intptr_t kNumInputs = 1;
const intptr_t kNumTemps = 1;
- LocationSummary* locs = new LocationSummary(kNumInputs, kNumTemps);
+ LocationSummary* locs =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kNoCall);
locs->set_in(0, Location::RegisterLocation(EAX));
locs->set_temp(0, Location::RequiresRegister());
return locs;
@@ -110,9 +111,8 @@ void ReturnInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
LocationSummary* ClosureCallComp::MakeLocationSummary() const {
const intptr_t kNumInputs = 0;
const intptr_t kNumTemps = 1;
- LocationSummary* result = new LocationSummary(kNumInputs,
- kNumTemps,
- LocationSummary::kCall);
+ LocationSummary* result =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kCall);
result->set_out(Location::RegisterLocation(EAX));
result->set_temp(0, Location::RegisterLocation(EDX)); // Arg. descriptor.
return result;
@@ -120,7 +120,9 @@ LocationSummary* ClosureCallComp::MakeLocationSummary() const {
LocationSummary* LoadLocalComp::MakeLocationSummary() const {
- return LocationSummary::Make(0, Location::RequiresRegister());
+ return LocationSummary::Make(0,
+ Location::RequiresRegister(),
+ LocationSummary::kNoCall);
}
@@ -131,7 +133,9 @@ void LoadLocalComp::EmitNativeCode(FlowGraphCompiler* compiler) {
LocationSummary* StoreLocalComp::MakeLocationSummary() const {
- return LocationSummary::Make(1, Location::SameAsFirstInput());
+ return LocationSummary::Make(1,
+ Location::SameAsFirstInput(),
+ LocationSummary::kNoCall);
}
@@ -144,7 +148,9 @@ void StoreLocalComp::EmitNativeCode(FlowGraphCompiler* compiler) {
LocationSummary* ConstantVal::MakeLocationSummary() const {
- return LocationSummary::Make(0, Location::RequiresRegister());
+ return LocationSummary::Make(0,
+ Location::RequiresRegister(),
+ LocationSummary::kNoCall);
}
@@ -157,9 +163,8 @@ void ConstantVal::EmitNativeCode(FlowGraphCompiler* compiler) {
LocationSummary* AssertAssignableComp::MakeLocationSummary() const {
const intptr_t kNumInputs = 3;
const intptr_t kNumTemps = 0;
- LocationSummary* summary = new LocationSummary(kNumInputs,
- kNumTemps,
- LocationSummary::kCall);
+ LocationSummary* summary =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kCall);
summary->set_in(0, Location::RegisterLocation(EAX)); // Value.
summary->set_in(1, Location::RegisterLocation(ECX)); // Instantiator.
summary->set_in(2, Location::RegisterLocation(EDX)); // Type arguments.
@@ -171,9 +176,8 @@ LocationSummary* AssertAssignableComp::MakeLocationSummary() const {
LocationSummary* AssertBooleanComp::MakeLocationSummary() const {
const intptr_t kNumInputs = 1;
const intptr_t kNumTemps = 0;
- LocationSummary* locs = new LocationSummary(kNumInputs,
- kNumTemps,
- LocationSummary::kCall);
+ LocationSummary* locs =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kCall);
locs->set_in(0, Location::RegisterLocation(EAX));
locs->set_out(Location::RegisterLocation(EAX));
return locs;
@@ -225,9 +229,8 @@ LocationSummary* EqualityCompareComp::MakeLocationSummary() const {
if (receiver_class_id() != kObject) {
ASSERT((receiver_class_id() == kSmi) || (receiver_class_id() == kDouble));
const intptr_t kNumTemps = 1;
- LocationSummary* locs = new LocationSummary(kNumInputs,
- kNumTemps,
- LocationSummary::kNoCall);
+ LocationSummary* locs =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kNoCall);
locs->set_in(0, Location::RequiresRegister());
locs->set_in(1, Location::RequiresRegister());
locs->set_temp(0, Location::RequiresRegister());
@@ -236,9 +239,8 @@ LocationSummary* EqualityCompareComp::MakeLocationSummary() const {
}
if (HasICData() && (ic_data()->NumberOfChecks() > 0)) {
const intptr_t kNumTemps = 1;
- LocationSummary* locs = new LocationSummary(kNumInputs,
- kNumTemps,
- LocationSummary::kCall);
+ LocationSummary* locs =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kCall);
locs->set_in(0, Location::RegisterLocation(ECX));
locs->set_in(1, Location::RegisterLocation(EDX));
locs->set_temp(0, Location::RegisterLocation(EBX));
@@ -246,9 +248,8 @@ LocationSummary* EqualityCompareComp::MakeLocationSummary() const {
return locs;
}
const intptr_t kNumTemps = 0;
- LocationSummary* locs = new LocationSummary(kNumInputs,
- kNumTemps,
- LocationSummary::kCall);
+ LocationSummary* locs =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kCall);
locs->set_in(0, Location::RegisterLocation(ECX));
locs->set_in(1, Location::RegisterLocation(EDX));
locs->set_out(Location::RegisterLocation(EAX));
@@ -504,9 +505,8 @@ LocationSummary* RelationalOpComp::MakeLocationSummary() const {
if ((operands_class_id() == kSmi) || (operands_class_id() == kDouble)) {
const intptr_t kNumInputs = 2;
const intptr_t kNumTemps = 1;
- LocationSummary* summary = new LocationSummary(kNumInputs,
- kNumTemps,
- LocationSummary::kNoCall);
+ LocationSummary* summary =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kNoCall);
summary->set_in(0, Location::RequiresRegister());
summary->set_in(1, Location::RequiresRegister());
summary->set_out(Location::RequiresRegister());
@@ -661,9 +661,8 @@ void RelationalOpComp::EmitNativeCode(FlowGraphCompiler* compiler) {
LocationSummary* NativeCallComp::MakeLocationSummary() const {
const intptr_t kNumInputs = 0;
const intptr_t kNumTemps = 3;
- LocationSummary* locs = new LocationSummary(kNumInputs,
- kNumTemps,
- LocationSummary::kCall);
+ LocationSummary* locs =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kCall);
locs->set_temp(0, Location::RegisterLocation(EAX));
locs->set_temp(1, Location::RegisterLocation(ECX));
locs->set_temp(2, Location::RegisterLocation(EDX));
@@ -707,7 +706,8 @@ LocationSummary* LoadIndexedComp::MakeLocationSummary() const {
(receiver_type() == kArray) ||
(receiver_type() == kImmutableArray)) {
const intptr_t kNumTemps = 1;
- LocationSummary* locs = new LocationSummary(kNumInputs, kNumTemps);
+ LocationSummary* locs =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kNoCall);
locs->set_in(0, Location::RequiresRegister());
locs->set_in(1, Location::RequiresRegister());
locs->set_temp(0, Location::RequiresRegister());
@@ -819,7 +819,8 @@ LocationSummary* StoreIndexedComp::MakeLocationSummary() const {
if ((receiver_type() == kGrowableObjectArray) ||
(receiver_type() == kArray)) {
const intptr_t kNumTemps = 1;
- LocationSummary* locs = new LocationSummary(kNumInputs, kNumTemps);
+ LocationSummary* locs =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kNoCall);
locs->set_in(0, Location::RequiresRegister());
locs->set_in(1, Location::RequiresRegister());
locs->set_in(2, Location::RequiresRegister());
@@ -1007,7 +1008,9 @@ void InstanceSetterComp::EmitNativeCode(FlowGraphCompiler* compiler) {
LocationSummary* StaticSetterComp::MakeLocationSummary() const {
const intptr_t kNumInputs = 1;
- return LocationSummary::Make(kNumInputs, Location::RequiresRegister());
+ return LocationSummary::Make(kNumInputs,
+ Location::RequiresRegister(),
+ LocationSummary::kNoCall);
}
@@ -1037,7 +1040,9 @@ LocationSummary* LoadInstanceFieldComp::MakeLocationSummary() const {
// reused for the result (but is not required to) because the input
// is not used after the result is defined. We should consider adding
// this information to the input policy.
- return LocationSummary::Make(1, Location::RequiresRegister());
+ return LocationSummary::Make(1,
+ Location::RequiresRegister(),
+ LocationSummary::kNoCall);
}
@@ -1063,7 +1068,9 @@ void LoadInstanceFieldComp::EmitNativeCode(FlowGraphCompiler* compiler) {
LocationSummary* LoadStaticFieldComp::MakeLocationSummary() const {
- return LocationSummary::Make(0, Location::RequiresRegister());
+ return LocationSummary::Make(0,
+ Location::RequiresRegister(),
+ LocationSummary::kNoCall);
}
@@ -1077,9 +1084,8 @@ void LoadStaticFieldComp::EmitNativeCode(FlowGraphCompiler* compiler) {
LocationSummary* InstanceOfComp::MakeLocationSummary() const {
const intptr_t kNumInputs = 3;
const intptr_t kNumTemps = 0;
- LocationSummary* summary = new LocationSummary(kNumInputs,
- kNumTemps,
- LocationSummary::kCall);
+ LocationSummary* summary =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kCall);
summary->set_in(0, Location::RegisterLocation(EAX));
summary->set_in(1, Location::RegisterLocation(ECX));
summary->set_in(2, Location::RegisterLocation(EDX));
@@ -1109,9 +1115,8 @@ LocationSummary* CreateArrayComp::MakeLocationSummary() const {
// ArgumentCount getter and an ArgumentAt getter.
const intptr_t kNumInputs = 1;
const intptr_t kNumTemps = 1;
- LocationSummary* locs = new LocationSummary(kNumInputs,
- kNumTemps,
- LocationSummary::kCall);
+ LocationSummary* locs =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kCall);
locs->set_in(0, Location::RegisterLocation(ECX));
locs->set_temp(0, Location::RegisterLocation(EDX));
locs->set_out(Location::RegisterLocation(EAX));
@@ -1146,9 +1151,8 @@ LocationSummary*
AllocateObjectWithBoundsCheckComp::MakeLocationSummary() const {
const intptr_t kNumInputs = 2;
const intptr_t kNumTemps = 0;
- LocationSummary* locs = new LocationSummary(kNumInputs,
- kNumTemps,
- LocationSummary::kCall);
+ LocationSummary* locs =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kCall);
locs->set_in(0, Location::RegisterLocation(EAX));
locs->set_in(1, Location::RegisterLocation(ECX));
locs->set_out(Location::RegisterLocation(EAX));
@@ -1180,7 +1184,9 @@ void AllocateObjectWithBoundsCheckComp::EmitNativeCode(
LocationSummary* LoadVMFieldComp::MakeLocationSummary() const {
- return LocationSummary::Make(1, Location::RequiresRegister());
+ return LocationSummary::Make(1,
+ Location::RequiresRegister(),
+ LocationSummary::kNoCall);
}
@@ -1208,9 +1214,8 @@ void LoadVMFieldComp::EmitNativeCode(FlowGraphCompiler* compiler) {
LocationSummary* InstantiateTypeArgumentsComp::MakeLocationSummary() const {
const intptr_t kNumInputs = 1;
const intptr_t kNumTemps = 1;
- LocationSummary* locs = new LocationSummary(kNumInputs,
- kNumTemps,
- LocationSummary::kCall);
+ LocationSummary* locs =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kCall);
locs->set_in(0, Location::RegisterLocation(EAX));
locs->set_temp(0, Location::RegisterLocation(ECX));
locs->set_out(Location::RegisterLocation(EAX));
@@ -1272,7 +1277,8 @@ LocationSummary*
ExtractConstructorTypeArgumentsComp::MakeLocationSummary() const {
const intptr_t kNumInputs = 1;
const intptr_t kNumTemps = 1;
- LocationSummary* locs = new LocationSummary(kNumInputs, kNumTemps);
+ LocationSummary* locs =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kNoCall);
locs->set_in(0, Location::RequiresRegister());
locs->set_out(Location::SameAsFirstInput());
locs->set_temp(0, Location::RequiresRegister());
@@ -1329,7 +1335,8 @@ LocationSummary*
ExtractConstructorInstantiatorComp::MakeLocationSummary() const {
const intptr_t kNumInputs = 1;
const intptr_t kNumTemps = 1;
- LocationSummary* locs = new LocationSummary(kNumInputs, kNumTemps);
+ LocationSummary* locs =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kNoCall);
locs->set_in(0, Location::RequiresRegister());
locs->set_out(Location::SameAsFirstInput());
locs->set_temp(0, Location::RequiresRegister());
@@ -1395,9 +1402,8 @@ void ExtractConstructorInstantiatorComp::EmitNativeCode(
LocationSummary* AllocateContextComp::MakeLocationSummary() const {
const intptr_t kNumInputs = 0;
const intptr_t kNumTemps = 1;
- LocationSummary* locs = new LocationSummary(kNumInputs,
- kNumTemps,
- LocationSummary::kCall);
+ LocationSummary* locs =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kCall);
locs->set_temp(0, Location::RegisterLocation(EDX));
locs->set_out(Location::RegisterLocation(EAX));
return locs;
@@ -1421,9 +1427,8 @@ void AllocateContextComp::EmitNativeCode(FlowGraphCompiler* compiler) {
LocationSummary* CloneContextComp::MakeLocationSummary() const {
const intptr_t kNumInputs = 1;
const intptr_t kNumTemps = 0;
- LocationSummary* locs = new LocationSummary(kNumInputs,
- kNumTemps,
- LocationSummary::kCall);
+ LocationSummary* locs =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kCall);
locs->set_in(0, Location::RegisterLocation(EAX));
locs->set_out(Location::RegisterLocation(EAX));
return locs;
@@ -1446,7 +1451,9 @@ void CloneContextComp::EmitNativeCode(FlowGraphCompiler* compiler) {
LocationSummary* CatchEntryComp::MakeLocationSummary() const {
- return LocationSummary::Make(0, Location::NoLocation());
+ return LocationSummary::Make(0,
+ Location::NoLocation(),
+ LocationSummary::kNoCall);
}
@@ -1474,9 +1481,8 @@ LocationSummary* CheckStackOverflowComp::MakeLocationSummary() const {
const intptr_t kNumInputs = 0;
const intptr_t kNumTemps = 0;
// TODO(vegorov): spilling is required only on an infrequently executed path.
- LocationSummary* summary = new LocationSummary(kNumInputs,
- kNumTemps,
- LocationSummary::kCall);
+ LocationSummary* summary =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kCall);
return summary;
}
@@ -1517,7 +1523,8 @@ LocationSummary* BinaryOpComp::MakeLocationSummary() const {
if (op_kind() == Token::kTRUNCDIV) {
const intptr_t kNumTemps = 3;
- LocationSummary* summary = new LocationSummary(kNumInputs, kNumTemps);
+ LocationSummary* summary =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kNoCall);
summary->set_in(0, Location::RegisterLocation(EAX));
summary->set_in(1, Location::RegisterLocation(ECX));
summary->set_out(Location::SameAsFirstInput());
@@ -1528,7 +1535,8 @@ LocationSummary* BinaryOpComp::MakeLocationSummary() const {
return summary;
} else if (op_kind() == Token::kSHR) {
const intptr_t kNumTemps = 1;
- LocationSummary* summary = new LocationSummary(kNumInputs, kNumTemps);
+ LocationSummary* summary =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kNoCall);
summary->set_in(0, Location::RequiresRegister());
summary->set_in(1, Location::RegisterLocation(ECX));
summary->set_out(Location::SameAsFirstInput());
@@ -1547,7 +1555,8 @@ LocationSummary* BinaryOpComp::MakeLocationSummary() const {
return summary;
} else {
const intptr_t kNumTemps = 1;
- LocationSummary* summary = new LocationSummary(kNumInputs, kNumTemps);
+ LocationSummary* summary =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kNoCall);
summary->set_in(0, Location::RequiresRegister());
summary->set_in(1, Location::RequiresRegister());
summary->set_out(Location::SameAsFirstInput());
@@ -1867,7 +1876,8 @@ void BinaryOpComp::EmitNativeCode(FlowGraphCompiler* compiler) {
LocationSummary* UnarySmiOpComp::MakeLocationSummary() const {
const intptr_t kNumInputs = 1;
const intptr_t kNumTemps = 0;
- LocationSummary* summary = new LocationSummary(kNumInputs, kNumTemps);
+ LocationSummary* summary =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kNoCall);
summary->set_in(0, Location::RequiresRegister());
summary->set_out(Location::SameAsFirstInput());
return summary;
@@ -1916,9 +1926,8 @@ void UnarySmiOpComp::EmitNativeCode(FlowGraphCompiler* compiler) {
LocationSummary* NumberNegateComp::MakeLocationSummary() const {
const intptr_t kNumInputs = 1;
const intptr_t kNumTemps = 1; // Needed for doubles.
- LocationSummary* summary = new LocationSummary(kNumInputs,
- kNumTemps,
- LocationSummary::kCall);
+ LocationSummary* summary =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kCall);
summary->set_in(0, Location::RegisterLocation(EAX));
summary->set_temp(0, Location::RegisterLocation(ECX));
summary->set_out(Location::RegisterLocation(EAX));
@@ -1978,7 +1987,8 @@ LocationSummary* ToDoubleComp::MakeLocationSummary() const {
const intptr_t kNumInputs = 1;
if (from() == kDouble) {
const intptr_t kNumTemps = 1;
- LocationSummary* locs = new LocationSummary(kNumInputs, kNumTemps);
+ LocationSummary* locs =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kNoCall);
locs->set_in(0, Location::RequiresRegister());
locs->set_temp(0, Location::RequiresRegister());
locs->set_out(Location::SameAsFirstInput());
@@ -2102,9 +2112,8 @@ LocationSummary* BranchInstr::MakeLocationSummary() const {
if ((kind() == Token::kEQ_STRICT) || (kind() == Token::kNE_STRICT)) {
const int kNumInputs = 2;
const int kNumTemps = 0;
- LocationSummary* locs = new LocationSummary(kNumInputs,
- kNumTemps,
- LocationSummary::kNoCall);
+ LocationSummary* locs =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kNoCall);
locs->set_in(0, Location::RequiresRegister());
locs->set_in(1, Location::RequiresRegister());
return locs;
@@ -2114,9 +2123,8 @@ LocationSummary* BranchInstr::MakeLocationSummary() const {
ICDataWithBothClassIds(*ic_data(), kDouble)) {
const intptr_t kNumInputs = 2;
const intptr_t kNumTemps = 1;
- LocationSummary* summary = new LocationSummary(kNumInputs,
- kNumTemps,
- LocationSummary::kNoCall);
+ LocationSummary* summary =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kNoCall);
summary->set_in(0, Location::RequiresRegister());
summary->set_in(1, Location::RequiresRegister());
summary->set_temp(0, Location::RequiresRegister());
@@ -2125,9 +2133,8 @@ LocationSummary* BranchInstr::MakeLocationSummary() const {
if ((kind() == Token::kEQ) || (kind() == Token::kNE)) {
const intptr_t kNumInputs = 2;
const intptr_t kNumTemps = 1;
- LocationSummary* locs = new LocationSummary(kNumInputs,
- kNumTemps,
- LocationSummary::kCall);
+ LocationSummary* locs =
+ new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kCall);
locs->set_in(0, Location::RegisterLocation(EAX));
locs->set_in(1, Location::RegisterLocation(ECX));
locs->set_temp(0, Location::RegisterLocation(EDX));

Powered by Google App Engine
This is Rietveld 408576698