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

Unified Diff: runtime/vm/flow_graph_optimizer.cc

Issue 1533383003: Remove instantiator argument in generated code for type tests. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: fix typo Created 5 years 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/flow_graph_compiler_x64.cc ('k') | runtime/vm/il_printer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/flow_graph_optimizer.cc
diff --git a/runtime/vm/flow_graph_optimizer.cc b/runtime/vm/flow_graph_optimizer.cc
index 8a20b883b1218bc250bb052d9a52893db5cc2e40..1d0e4a9ac101590c14c0cbeac4506ded83f7912b 100644
--- a/runtime/vm/flow_graph_optimizer.cc
+++ b/runtime/vm/flow_graph_optimizer.cc
@@ -1303,7 +1303,6 @@ bool FlowGraphOptimizer::InlineSetIndexed(
// the index is not a smi.
const AbstractType& value_type =
AbstractType::ZoneHandle(Z, target.ParameterTypeAt(2));
- Definition* instantiator = NULL;
Definition* type_args = NULL;
switch (array_cid) {
case kArrayCid:
@@ -1321,7 +1320,6 @@ bool FlowGraphOptimizer::InlineSetIndexed(
NULL,
FlowGraph::kValue);
- instantiator = array;
type_args = load_type_args;
break;
}
@@ -1339,7 +1337,7 @@ bool FlowGraphOptimizer::InlineSetIndexed(
// Fall through.
case kTypedDataFloat32ArrayCid:
case kTypedDataFloat64ArrayCid: {
- type_args = instantiator = flow_graph_->constant_null();
+ type_args = flow_graph_->constant_null();
ASSERT((array_cid != kTypedDataFloat32ArrayCid &&
array_cid != kTypedDataFloat64ArrayCid) ||
value_type.IsDoubleType());
@@ -1347,14 +1345,14 @@ bool FlowGraphOptimizer::InlineSetIndexed(
break;
}
case kTypedDataFloat32x4ArrayCid: {
- type_args = instantiator = flow_graph_->constant_null();
+ type_args = flow_graph_->constant_null();
ASSERT((array_cid != kTypedDataFloat32x4ArrayCid) ||
value_type.IsFloat32x4Type());
ASSERT(value_type.IsInstantiated());
break;
}
case kTypedDataFloat64x2ArrayCid: {
- type_args = instantiator = flow_graph_->constant_null();
+ type_args = flow_graph_->constant_null();
ASSERT((array_cid != kTypedDataFloat64x2ArrayCid) ||
value_type.IsFloat64x2Type());
ASSERT(value_type.IsInstantiated());
@@ -1367,7 +1365,6 @@ bool FlowGraphOptimizer::InlineSetIndexed(
AssertAssignableInstr* assert_value =
new(Z) AssertAssignableInstr(token_pos,
new(Z) Value(stored_value),
- new(Z) Value(instantiator),
new(Z) Value(type_args),
value_type,
Symbols::Value(),
@@ -4051,12 +4048,10 @@ static bool TryExpandTestCidsResult(ZoneGrowableArray<intptr_t>* results,
void FlowGraphOptimizer::ReplaceWithInstanceOf(InstanceCallInstr* call) {
ASSERT(Token::IsTypeTestOperator(call->token_kind()));
Definition* left = call->ArgumentAt(0);
- Definition* instantiator = NULL;
Definition* type_args = NULL;
AbstractType& type = AbstractType::ZoneHandle(Z);
bool negate = false;
if (call->ArgumentCount() == 2) {
- instantiator = flow_graph()->constant_null();
type_args = flow_graph()->constant_null();
if (call->function_name().raw() ==
Library::PrivateCoreLibName(Symbols::_instanceOfNum()).raw()) {
@@ -4079,10 +4074,9 @@ void FlowGraphOptimizer::ReplaceWithInstanceOf(InstanceCallInstr* call) {
negate = Bool::Cast(call->ArgumentAt(1)->OriginalDefinition()
->AsConstant()->value()).value();
} else {
- instantiator = call->ArgumentAt(1);
- type_args = call->ArgumentAt(2);
- type = AbstractType::Cast(call->ArgumentAt(3)->AsConstant()->value()).raw();
- negate = Bool::Cast(call->ArgumentAt(4)->OriginalDefinition()
+ type_args = call->ArgumentAt(1);
+ type = AbstractType::Cast(call->ArgumentAt(2)->AsConstant()->value()).raw();
+ negate = Bool::Cast(call->ArgumentAt(3)->OriginalDefinition()
->AsConstant()->value()).value();
}
const ICData& unary_checks =
@@ -4159,7 +4153,6 @@ void FlowGraphOptimizer::ReplaceWithInstanceOf(InstanceCallInstr* call) {
InstanceOfInstr* instance_of =
new(Z) InstanceOfInstr(call->token_pos(),
new(Z) Value(left),
- new(Z) Value(instantiator),
new(Z) Value(type_args),
type,
negate,
@@ -4172,10 +4165,9 @@ void FlowGraphOptimizer::ReplaceWithInstanceOf(InstanceCallInstr* call) {
void FlowGraphOptimizer::ReplaceWithTypeCast(InstanceCallInstr* call) {
ASSERT(Token::IsTypeCastOperator(call->token_kind()));
Definition* left = call->ArgumentAt(0);
- Definition* instantiator = call->ArgumentAt(1);
- Definition* type_args = call->ArgumentAt(2);
+ Definition* type_args = call->ArgumentAt(1);
const AbstractType& type =
- AbstractType::Cast(call->ArgumentAt(3)->AsConstant()->value());
+ AbstractType::Cast(call->ArgumentAt(2)->AsConstant()->value());
ASSERT(!type.IsMalformedOrMalbounded());
const ICData& unary_checks =
ICData::ZoneHandle(Z, call->ic_data()->AsUnaryClassChecks());
@@ -4214,7 +4206,6 @@ void FlowGraphOptimizer::ReplaceWithTypeCast(InstanceCallInstr* call) {
AssertAssignableInstr* assert_as =
new(Z) AssertAssignableInstr(call->token_pos(),
new(Z) Value(left),
- new(Z) Value(instantiator),
new(Z) Value(type_args),
type,
dst_name,
« no previous file with comments | « runtime/vm/flow_graph_compiler_x64.cc ('k') | runtime/vm/il_printer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698