| Index: runtime/vm/flow_graph_type_propagator.cc
|
| diff --git a/runtime/vm/flow_graph_type_propagator.cc b/runtime/vm/flow_graph_type_propagator.cc
|
| index c9e4910bd6041dd495b21e47ea47e93b2266ac59..192a2af233ba9259dcb1561e0c0e77e86812a95a 100644
|
| --- a/runtime/vm/flow_graph_type_propagator.cc
|
| +++ b/runtime/vm/flow_graph_type_propagator.cc
|
| @@ -294,8 +294,7 @@ void FlowGraphTypePropagator::VisitPolymorphicInstanceCall(
|
| void FlowGraphTypePropagator::VisitGuardFieldClass(
|
| GuardFieldClassInstr* guard) {
|
| const intptr_t cid = guard->field().guarded_cid();
|
| - if ((cid == kIllegalCid) || (cid == kDynamicCid) ||
|
| - Field::IsExternalizableCid(cid)) {
|
| + if ((cid == kIllegalCid) || (cid == kDynamicCid)) {
|
| return;
|
| }
|
|
|
| @@ -856,9 +855,6 @@ CompileType ConstantInstr::ComputeType() const {
|
| }
|
|
|
| intptr_t cid = value().GetClassId();
|
| - if (Field::IsExternalizableCid(cid)) {
|
| - cid = kDynamicCid;
|
| - }
|
|
|
| if (value().IsInstance()) {
|
| // Allocate in old-space since this may be invoked from the
|
| @@ -1022,9 +1018,6 @@ CompileType LoadStaticFieldInstr::ComputeType() const {
|
| if (!IsNullableCid(cid)) is_nullable = CompileType::kNonNullable;
|
| }
|
| }
|
| - if (Field::IsExternalizableCid(cid)) {
|
| - cid = kDynamicCid;
|
| - }
|
| return CompileType(is_nullable, cid, abstract_type);
|
| }
|
|
|
| @@ -1061,25 +1054,16 @@ CompileType LoadFieldInstr::ComputeType() const {
|
|
|
| const AbstractType* abstract_type = NULL;
|
| if (Isolate::Current()->type_checks() &&
|
| - (type().IsFunctionType() ||
|
| - (type().HasResolvedTypeClass() &&
|
| - !Field::IsExternalizableCid(
|
| - Class::Handle(type().type_class()).id())))) {
|
| + (type().IsFunctionType() || type().HasResolvedTypeClass())) {
|
| abstract_type = &type();
|
| }
|
|
|
| if ((field_ != NULL) && (field_->guarded_cid() != kIllegalCid)) {
|
| bool is_nullable = field_->is_nullable();
|
| intptr_t field_cid = field_->guarded_cid();
|
| - if (Field::IsExternalizableCid(field_cid)) {
|
| - // We cannot assume that the type of the value in the field has not
|
| - // changed on the fly.
|
| - field_cid = kDynamicCid;
|
| - }
|
| return CompileType(is_nullable, field_cid, abstract_type);
|
| }
|
|
|
| - ASSERT(!Field::IsExternalizableCid(result_cid_));
|
| return CompileType::Create(result_cid_, *abstract_type);
|
| }
|
|
|
|
|