| Index: runtime/vm/flow_graph_compiler_x64.cc
|
| ===================================================================
|
| --- runtime/vm/flow_graph_compiler_x64.cc (revision 6529)
|
| +++ runtime/vm/flow_graph_compiler_x64.cc (working copy)
|
| @@ -464,45 +464,6 @@
|
| const Bool& bool_true = Bool::ZoneHandle(Bool::True());
|
| const Bool& bool_false = Bool::ZoneHandle(Bool::False());
|
|
|
| - // All objects are instances of type T if Object type is a subtype of type T.
|
| - const Type& object_type =
|
| - Type::Handle(Isolate::Current()->object_store()->object_type());
|
| - Error& malformed_error = Error::Handle();
|
| - if (type.IsInstantiated() &&
|
| - object_type.IsSubtypeOf(type, &malformed_error)) {
|
| - __ LoadObject(RAX, negate_result ? bool_false : bool_true);
|
| - return;
|
| - }
|
| -
|
| - // Eliminate the test if it can be performed successfully at compile time.
|
| - if ((value != NULL) && value->IsConstant() && type.IsInstantiated()) {
|
| - // TODO(regis): A constant value should be an instance, not an object.
|
| - Instance& literal_value = Instance::Handle();
|
| - literal_value ^= value->AsConstant()->value().raw();
|
| - const Class& cls = Class::Handle(literal_value.clazz());
|
| - if (cls.IsNullClass()) {
|
| - ASSERT(literal_value.IsNull() ||
|
| - (literal_value.raw() == Object::sentinel()) ||
|
| - (literal_value.raw() == Object::transition_sentinel()));
|
| - // A null object is only an instance of Object and Dynamic, which has
|
| - // already been checked above (if the type is instantiated). So we can
|
| - // return false here if the instance is null (and if the type is
|
| - // instantiated).
|
| - __ PushObject(negate_result ? bool_true : bool_false);
|
| - } else {
|
| - Error& malformed_error = Error::Handle();
|
| - if (literal_value.IsInstanceOf(type,
|
| - TypeArguments::Handle(),
|
| - &malformed_error)) {
|
| - __ PushObject(negate_result ? bool_false : bool_true);
|
| - } else {
|
| - ASSERT(malformed_error.IsNull());
|
| - __ PushObject(negate_result ? bool_true : bool_false);
|
| - }
|
| - }
|
| - return;
|
| - }
|
| -
|
| const Immediate raw_null =
|
| Immediate(reinterpret_cast<intptr_t>(Object::null()));
|
| Label done;
|
|
|