| Index: src/compiler/verifier.cc
|
| diff --git a/src/compiler/verifier.cc b/src/compiler/verifier.cc
|
| index 602aa30fd38fe688d4b327dbccb21be2d11c7cdf..9ea83f112e9ec1147d496acad6350ad746fcdb1b 100644
|
| --- a/src/compiler/verifier.cc
|
| +++ b/src/compiler/verifier.cc
|
| @@ -48,7 +48,7 @@ class Verifier::Visitor {
|
| FATAL(str.str().c_str());
|
| }
|
| }
|
| - void CheckUpperIs(Node* node, Type* type) {
|
| + void CheckTypeIs(Node* node, Type* type) {
|
| if (typing == TYPED && !NodeProperties::GetType(node)->Is(type)) {
|
| std::ostringstream str;
|
| str << "TypeError: node #" << node->id() << ":" << *node->op()
|
| @@ -59,7 +59,7 @@ class Verifier::Visitor {
|
| FATAL(str.str().c_str());
|
| }
|
| }
|
| - void CheckUpperMaybe(Node* node, Type* type) {
|
| + void CheckTypeMaybe(Node* node, Type* type) {
|
| if (typing == TYPED && !NodeProperties::GetType(node)->Maybe(type)) {
|
| std::ostringstream str;
|
| str << "TypeError: node #" << node->id() << ":" << *node->op()
|
| @@ -181,7 +181,7 @@ void Verifier::Visitor::Check(Node* node) {
|
| CHECK_EQ(0, input_count);
|
| // Type is a tuple.
|
| // TODO(rossberg): Multiple outputs are currently typed as Internal.
|
| - CheckUpperIs(node, Type::Internal());
|
| + CheckTypeIs(node, Type::Internal());
|
| break;
|
| case IrOpcode::kEnd:
|
| // End has no outputs.
|
| @@ -230,7 +230,7 @@ void Verifier::Visitor::Check(Node* node) {
|
| Node* input = NodeProperties::GetControlInput(node, 0);
|
| CHECK(!input->op()->HasProperty(Operator::kNoThrow));
|
| // Type can be anything.
|
| - CheckUpperIs(node, Type::Any());
|
| + CheckTypeIs(node, Type::Any());
|
| break;
|
| }
|
| case IrOpcode::kSwitch: {
|
| @@ -330,21 +330,21 @@ void Verifier::Visitor::Check(Node* node) {
|
| CHECK_LE(-1, index);
|
| CHECK_LT(index + 1, start->op()->ValueOutputCount());
|
| // Type can be anything.
|
| - CheckUpperIs(node, Type::Any());
|
| + CheckTypeIs(node, Type::Any());
|
| break;
|
| }
|
| case IrOpcode::kInt32Constant: // TODO(rossberg): rename Word32Constant?
|
| // Constants have no inputs.
|
| CHECK_EQ(0, input_count);
|
| // Type is a 32 bit integer, signed or unsigned.
|
| - CheckUpperIs(node, Type::Integral32());
|
| + CheckTypeIs(node, Type::Integral32());
|
| break;
|
| case IrOpcode::kInt64Constant:
|
| // Constants have no inputs.
|
| CHECK_EQ(0, input_count);
|
| // Type is internal.
|
| // TODO(rossberg): Introduce proper Int64 type.
|
| - CheckUpperIs(node, Type::Internal());
|
| + CheckTypeIs(node, Type::Internal());
|
| break;
|
| case IrOpcode::kFloat32Constant:
|
| case IrOpcode::kFloat64Constant:
|
| @@ -352,7 +352,7 @@ void Verifier::Visitor::Check(Node* node) {
|
| // Constants have no inputs.
|
| CHECK_EQ(0, input_count);
|
| // Type is a number.
|
| - CheckUpperIs(node, Type::Number());
|
| + CheckTypeIs(node, Type::Number());
|
| break;
|
| case IrOpcode::kRelocatableInt32Constant:
|
| case IrOpcode::kRelocatableInt64Constant:
|
| @@ -362,20 +362,20 @@ void Verifier::Visitor::Check(Node* node) {
|
| // Constants have no inputs.
|
| CHECK_EQ(0, input_count);
|
| // Type can be anything represented as a heap pointer.
|
| - CheckUpperIs(node, Type::TaggedPointer());
|
| + CheckTypeIs(node, Type::TaggedPointer());
|
| break;
|
| case IrOpcode::kExternalConstant:
|
| // Constants have no inputs.
|
| CHECK_EQ(0, input_count);
|
| // Type is considered internal.
|
| - CheckUpperIs(node, Type::Internal());
|
| + CheckTypeIs(node, Type::Internal());
|
| break;
|
| case IrOpcode::kOsrValue:
|
| // OSR values have a value and a control input.
|
| CHECK_EQ(1, control_count);
|
| CHECK_EQ(1, input_count);
|
| // Type is merged from other values in the graph and could be any.
|
| - CheckUpperIs(node, Type::Any());
|
| + CheckTypeIs(node, Type::Any());
|
| break;
|
| case IrOpcode::kProjection: {
|
| // Projection has an input that produces enough values.
|
| @@ -385,7 +385,7 @@ void Verifier::Visitor::Check(Node* node) {
|
| // Type can be anything.
|
| // TODO(rossberg): Introduce tuple types for this.
|
| // TODO(titzer): Convince rossberg not to.
|
| - CheckUpperIs(node, Type::Any());
|
| + CheckTypeIs(node, Type::Any());
|
| break;
|
| }
|
| case IrOpcode::kSelect: {
|
| @@ -495,7 +495,7 @@ void Verifier::Visitor::Check(Node* node) {
|
| case IrOpcode::kJSLessThanOrEqual:
|
| case IrOpcode::kJSGreaterThanOrEqual:
|
| // Type is Boolean.
|
| - CheckUpperIs(node, Type::Boolean());
|
| + CheckTypeIs(node, Type::Boolean());
|
| break;
|
|
|
| case IrOpcode::kJSBitwiseOr:
|
| @@ -505,80 +505,80 @@ void Verifier::Visitor::Check(Node* node) {
|
| case IrOpcode::kJSShiftRight:
|
| case IrOpcode::kJSShiftRightLogical:
|
| // Type is 32 bit integral.
|
| - CheckUpperIs(node, Type::Integral32());
|
| + CheckTypeIs(node, Type::Integral32());
|
| break;
|
| case IrOpcode::kJSAdd:
|
| // Type is Number or String.
|
| - CheckUpperIs(node, Type::NumberOrString());
|
| + CheckTypeIs(node, Type::NumberOrString());
|
| break;
|
| case IrOpcode::kJSSubtract:
|
| case IrOpcode::kJSMultiply:
|
| case IrOpcode::kJSDivide:
|
| case IrOpcode::kJSModulus:
|
| // Type is Number.
|
| - CheckUpperIs(node, Type::Number());
|
| + CheckTypeIs(node, Type::Number());
|
| break;
|
|
|
| case IrOpcode::kJSToBoolean:
|
| // Type is Boolean.
|
| - CheckUpperIs(node, Type::Boolean());
|
| + CheckTypeIs(node, Type::Boolean());
|
| break;
|
| case IrOpcode::kJSToInteger:
|
| // Type is OrderedNumber.
|
| - CheckUpperIs(node, Type::OrderedNumber());
|
| + CheckTypeIs(node, Type::OrderedNumber());
|
| break;
|
| case IrOpcode::kJSToLength:
|
| // Type is OrderedNumber.
|
| - CheckUpperIs(node, Type::OrderedNumber());
|
| + CheckTypeIs(node, Type::OrderedNumber());
|
| break;
|
| case IrOpcode::kJSToName:
|
| // Type is Name.
|
| - CheckUpperIs(node, Type::Name());
|
| + CheckTypeIs(node, Type::Name());
|
| break;
|
| case IrOpcode::kJSToNumber:
|
| // Type is Number.
|
| - CheckUpperIs(node, Type::Number());
|
| + CheckTypeIs(node, Type::Number());
|
| break;
|
| case IrOpcode::kJSToString:
|
| // Type is String.
|
| - CheckUpperIs(node, Type::String());
|
| + CheckTypeIs(node, Type::String());
|
| break;
|
| case IrOpcode::kJSToObject:
|
| // Type is Receiver.
|
| - CheckUpperIs(node, Type::Receiver());
|
| + CheckTypeIs(node, Type::Receiver());
|
| break;
|
|
|
| case IrOpcode::kJSCreate:
|
| // Type is Object.
|
| - CheckUpperIs(node, Type::Object());
|
| + CheckTypeIs(node, Type::Object());
|
| break;
|
| case IrOpcode::kJSCreateArguments:
|
| // Type is OtherObject.
|
| - CheckUpperIs(node, Type::OtherObject());
|
| + CheckTypeIs(node, Type::OtherObject());
|
| break;
|
| case IrOpcode::kJSCreateArray:
|
| // Type is OtherObject.
|
| - CheckUpperIs(node, Type::OtherObject());
|
| + CheckTypeIs(node, Type::OtherObject());
|
| break;
|
| case IrOpcode::kJSCreateClosure:
|
| // Type is Function.
|
| - CheckUpperIs(node, Type::Function());
|
| + CheckTypeIs(node, Type::Function());
|
| break;
|
| case IrOpcode::kJSCreateIterResultObject:
|
| // Type is OtherObject.
|
| - CheckUpperIs(node, Type::OtherObject());
|
| + CheckTypeIs(node, Type::OtherObject());
|
| break;
|
| case IrOpcode::kJSCreateLiteralArray:
|
| case IrOpcode::kJSCreateLiteralObject:
|
| case IrOpcode::kJSCreateLiteralRegExp:
|
| // Type is OtherObject.
|
| - CheckUpperIs(node, Type::OtherObject());
|
| + CheckTypeIs(node, Type::OtherObject());
|
| break;
|
| case IrOpcode::kJSLoadProperty:
|
| case IrOpcode::kJSLoadNamed:
|
| case IrOpcode::kJSLoadGlobal:
|
| // Type can be anything.
|
| - CheckUpperIs(node, Type::Any());
|
| + CheckTypeIs(node, Type::Any());
|
| break;
|
| case IrOpcode::kJSStoreProperty:
|
| case IrOpcode::kJSStoreNamed:
|
| @@ -590,16 +590,16 @@ void Verifier::Visitor::Check(Node* node) {
|
| case IrOpcode::kJSHasProperty:
|
| case IrOpcode::kJSInstanceOf:
|
| // Type is Boolean.
|
| - CheckUpperIs(node, Type::Boolean());
|
| + CheckTypeIs(node, Type::Boolean());
|
| break;
|
| case IrOpcode::kJSTypeOf:
|
| // Type is String.
|
| - CheckUpperIs(node, Type::String());
|
| + CheckTypeIs(node, Type::String());
|
| break;
|
|
|
| case IrOpcode::kJSLoadContext:
|
| // Type can be anything.
|
| - CheckUpperIs(node, Type::Any());
|
| + CheckTypeIs(node, Type::Any());
|
| break;
|
| case IrOpcode::kJSStoreContext:
|
| // Type is empty.
|
| @@ -614,7 +614,7 @@ void Verifier::Visitor::Check(Node* node) {
|
| Node* context = NodeProperties::GetContextInput(node);
|
| // TODO(rossberg): This should really be Is(Internal), but the typer
|
| // currently can't do backwards propagation.
|
| - CheckUpperMaybe(context, Type::Internal());
|
| + CheckTypeMaybe(context, Type::Internal());
|
| if (typing == TYPED) CHECK(NodeProperties::GetType(node)->IsContext());
|
| break;
|
| }
|
| @@ -622,21 +622,21 @@ void Verifier::Visitor::Check(Node* node) {
|
| case IrOpcode::kJSCallConstruct:
|
| case IrOpcode::kJSConvertReceiver:
|
| // Type is Receiver.
|
| - CheckUpperIs(node, Type::Receiver());
|
| + CheckTypeIs(node, Type::Receiver());
|
| break;
|
| case IrOpcode::kJSCallFunction:
|
| case IrOpcode::kJSCallRuntime:
|
| // Type can be anything.
|
| - CheckUpperIs(node, Type::Any());
|
| + CheckTypeIs(node, Type::Any());
|
| break;
|
|
|
| case IrOpcode::kJSForInPrepare: {
|
| // TODO(bmeurer): What are the constraints on thse?
|
| - CheckUpperIs(node, Type::Any());
|
| + CheckTypeIs(node, Type::Any());
|
| break;
|
| }
|
| case IrOpcode::kJSForInNext: {
|
| - CheckUpperIs(node, Type::Union(Type::Name(), Type::Undefined(), zone));
|
| + CheckTypeIs(node, Type::Union(Type::Name(), Type::Undefined(), zone));
|
| break;
|
| }
|
|
|
| @@ -649,11 +649,11 @@ void Verifier::Visitor::Check(Node* node) {
|
| break;
|
|
|
| case IrOpcode::kJSGeneratorRestoreContinuation:
|
| - CheckUpperIs(node, Type::SignedSmall());
|
| + CheckTypeIs(node, Type::SignedSmall());
|
| break;
|
|
|
| case IrOpcode::kJSGeneratorRestoreRegister:
|
| - CheckUpperIs(node, Type::Any());
|
| + CheckTypeIs(node, Type::Any());
|
| break;
|
|
|
| case IrOpcode::kJSStackCheck:
|
| @@ -673,32 +673,32 @@ void Verifier::Visitor::Check(Node* node) {
|
| case IrOpcode::kBooleanNot:
|
| // Boolean -> Boolean
|
| CheckValueInputIs(node, 0, Type::Boolean());
|
| - CheckUpperIs(node, Type::Boolean());
|
| + CheckTypeIs(node, Type::Boolean());
|
| break;
|
| case IrOpcode::kNumberEqual:
|
| // (Number, Number) -> Boolean
|
| CheckValueInputIs(node, 0, Type::Number());
|
| CheckValueInputIs(node, 1, Type::Number());
|
| - CheckUpperIs(node, Type::Boolean());
|
| + CheckTypeIs(node, Type::Boolean());
|
| break;
|
| case IrOpcode::kNumberLessThan:
|
| case IrOpcode::kNumberLessThanOrEqual:
|
| // (Number, Number) -> Boolean
|
| CheckValueInputIs(node, 0, Type::Number());
|
| CheckValueInputIs(node, 1, Type::Number());
|
| - CheckUpperIs(node, Type::Boolean());
|
| + CheckTypeIs(node, Type::Boolean());
|
| break;
|
| case IrOpcode::kSpeculativeNumberAdd:
|
| case IrOpcode::kSpeculativeNumberSubtract:
|
| case IrOpcode::kSpeculativeNumberMultiply:
|
| case IrOpcode::kSpeculativeNumberDivide:
|
| case IrOpcode::kSpeculativeNumberModulus:
|
| - CheckUpperIs(node, Type::Number());
|
| + CheckTypeIs(node, Type::Number());
|
| break;
|
| case IrOpcode::kSpeculativeNumberEqual:
|
| case IrOpcode::kSpeculativeNumberLessThan:
|
| case IrOpcode::kSpeculativeNumberLessThanOrEqual:
|
| - CheckUpperIs(node, Type::Boolean());
|
| + CheckTypeIs(node, Type::Boolean());
|
| break;
|
| case IrOpcode::kNumberAdd:
|
| case IrOpcode::kNumberSubtract:
|
| @@ -707,13 +707,13 @@ void Verifier::Visitor::Check(Node* node) {
|
| // (Number, Number) -> Number
|
| CheckValueInputIs(node, 0, Type::Number());
|
| CheckValueInputIs(node, 1, Type::Number());
|
| - CheckUpperIs(node, Type::Number());
|
| + CheckTypeIs(node, Type::Number());
|
| break;
|
| case IrOpcode::kNumberModulus:
|
| // (Number, Number) -> Number
|
| CheckValueInputIs(node, 0, Type::Number());
|
| CheckValueInputIs(node, 1, Type::Number());
|
| - CheckUpperIs(node, Type::Number());
|
| + CheckTypeIs(node, Type::Number());
|
| break;
|
| case IrOpcode::kNumberBitwiseOr:
|
| case IrOpcode::kNumberBitwiseXor:
|
| @@ -721,43 +721,43 @@ void Verifier::Visitor::Check(Node* node) {
|
| // (Signed32, Signed32) -> Signed32
|
| CheckValueInputIs(node, 0, Type::Signed32());
|
| CheckValueInputIs(node, 1, Type::Signed32());
|
| - CheckUpperIs(node, Type::Signed32());
|
| + CheckTypeIs(node, Type::Signed32());
|
| break;
|
| case IrOpcode::kSpeculativeNumberBitwiseOr:
|
| case IrOpcode::kSpeculativeNumberBitwiseXor:
|
| case IrOpcode::kSpeculativeNumberBitwiseAnd:
|
| - CheckUpperIs(node, Type::Signed32());
|
| + CheckTypeIs(node, Type::Signed32());
|
| break;
|
| case IrOpcode::kNumberShiftLeft:
|
| case IrOpcode::kNumberShiftRight:
|
| // (Signed32, Unsigned32) -> Signed32
|
| CheckValueInputIs(node, 0, Type::Signed32());
|
| CheckValueInputIs(node, 1, Type::Unsigned32());
|
| - CheckUpperIs(node, Type::Signed32());
|
| + CheckTypeIs(node, Type::Signed32());
|
| break;
|
| case IrOpcode::kSpeculativeNumberShiftLeft:
|
| case IrOpcode::kSpeculativeNumberShiftRight:
|
| - CheckUpperIs(node, Type::Signed32());
|
| + CheckTypeIs(node, Type::Signed32());
|
| break;
|
| case IrOpcode::kNumberShiftRightLogical:
|
| // (Unsigned32, Unsigned32) -> Unsigned32
|
| CheckValueInputIs(node, 0, Type::Unsigned32());
|
| CheckValueInputIs(node, 1, Type::Unsigned32());
|
| - CheckUpperIs(node, Type::Unsigned32());
|
| + CheckTypeIs(node, Type::Unsigned32());
|
| break;
|
| case IrOpcode::kSpeculativeNumberShiftRightLogical:
|
| - CheckUpperIs(node, Type::Unsigned32());
|
| + CheckTypeIs(node, Type::Unsigned32());
|
| break;
|
| case IrOpcode::kNumberImul:
|
| // (Unsigned32, Unsigned32) -> Signed32
|
| CheckValueInputIs(node, 0, Type::Unsigned32());
|
| CheckValueInputIs(node, 1, Type::Unsigned32());
|
| - CheckUpperIs(node, Type::Signed32());
|
| + CheckTypeIs(node, Type::Signed32());
|
| break;
|
| case IrOpcode::kNumberClz32:
|
| // Unsigned32 -> Unsigned32
|
| CheckValueInputIs(node, 0, Type::Unsigned32());
|
| - CheckUpperIs(node, Type::Unsigned32());
|
| + CheckTypeIs(node, Type::Unsigned32());
|
| break;
|
| case IrOpcode::kNumberAtan2:
|
| case IrOpcode::kNumberMax:
|
| @@ -766,7 +766,7 @@ void Verifier::Visitor::Check(Node* node) {
|
| // (Number, Number) -> Number
|
| CheckValueInputIs(node, 0, Type::Number());
|
| CheckValueInputIs(node, 1, Type::Number());
|
| - CheckUpperIs(node, Type::Number());
|
| + CheckTypeIs(node, Type::Number());
|
| break;
|
| case IrOpcode::kNumberAbs:
|
| case IrOpcode::kNumberCeil:
|
| @@ -797,32 +797,32 @@ void Verifier::Visitor::Check(Node* node) {
|
| case IrOpcode::kNumberTrunc:
|
| // Number -> Number
|
| CheckValueInputIs(node, 0, Type::Number());
|
| - CheckUpperIs(node, Type::Number());
|
| + CheckTypeIs(node, Type::Number());
|
| break;
|
| case IrOpcode::kNumberToInt32:
|
| // Number -> Signed32
|
| CheckValueInputIs(node, 0, Type::Number());
|
| - CheckUpperIs(node, Type::Signed32());
|
| + CheckTypeIs(node, Type::Signed32());
|
| break;
|
| case IrOpcode::kNumberToUint32:
|
| // Number -> Unsigned32
|
| CheckValueInputIs(node, 0, Type::Number());
|
| - CheckUpperIs(node, Type::Unsigned32());
|
| + CheckTypeIs(node, Type::Unsigned32());
|
| break;
|
| case IrOpcode::kPlainPrimitiveToNumber:
|
| // PlainPrimitive -> Number
|
| CheckValueInputIs(node, 0, Type::PlainPrimitive());
|
| - CheckUpperIs(node, Type::Number());
|
| + CheckTypeIs(node, Type::Number());
|
| break;
|
| case IrOpcode::kPlainPrimitiveToWord32:
|
| // PlainPrimitive -> Integral32
|
| CheckValueInputIs(node, 0, Type::PlainPrimitive());
|
| - CheckUpperIs(node, Type::Integral32());
|
| + CheckTypeIs(node, Type::Integral32());
|
| break;
|
| case IrOpcode::kPlainPrimitiveToFloat64:
|
| // PlainPrimitive -> Number
|
| CheckValueInputIs(node, 0, Type::PlainPrimitive());
|
| - CheckUpperIs(node, Type::Number());
|
| + CheckTypeIs(node, Type::Number());
|
| break;
|
| case IrOpcode::kStringEqual:
|
| case IrOpcode::kStringLessThan:
|
| @@ -830,23 +830,23 @@ void Verifier::Visitor::Check(Node* node) {
|
| // (String, String) -> Boolean
|
| CheckValueInputIs(node, 0, Type::String());
|
| CheckValueInputIs(node, 1, Type::String());
|
| - CheckUpperIs(node, Type::Boolean());
|
| + CheckTypeIs(node, Type::Boolean());
|
| break;
|
| case IrOpcode::kStringCharCodeAt:
|
| // (String, Unsigned32) -> UnsignedSmall
|
| CheckValueInputIs(node, 0, Type::String());
|
| CheckValueInputIs(node, 1, Type::Unsigned32());
|
| - CheckUpperIs(node, Type::UnsignedSmall());
|
| + CheckTypeIs(node, Type::UnsignedSmall());
|
| break;
|
| case IrOpcode::kStringFromCharCode:
|
| // Number -> String
|
| CheckValueInputIs(node, 0, Type::Number());
|
| - CheckUpperIs(node, Type::String());
|
| + CheckTypeIs(node, Type::String());
|
| break;
|
| case IrOpcode::kReferenceEqual: {
|
| // (Unique, Any) -> Boolean and
|
| // (Any, Unique) -> Boolean
|
| - CheckUpperIs(node, Type::Boolean());
|
| + CheckTypeIs(node, Type::Boolean());
|
| break;
|
| }
|
| case IrOpcode::kObjectIsCallable:
|
| @@ -857,23 +857,23 @@ void Verifier::Visitor::Check(Node* node) {
|
| case IrOpcode::kObjectIsUndetectable:
|
| case IrOpcode::kArrayBufferWasNeutered:
|
| CheckValueInputIs(node, 0, Type::Any());
|
| - CheckUpperIs(node, Type::Boolean());
|
| + CheckTypeIs(node, Type::Boolean());
|
| break;
|
| case IrOpcode::kAllocate:
|
| CheckValueInputIs(node, 0, Type::PlainNumber());
|
| - CheckUpperIs(node, Type::TaggedPointer());
|
| + CheckTypeIs(node, Type::TaggedPointer());
|
| break;
|
| case IrOpcode::kEnsureWritableFastElements:
|
| CheckValueInputIs(node, 0, Type::Any());
|
| CheckValueInputIs(node, 1, Type::Internal());
|
| - CheckUpperIs(node, Type::Internal());
|
| + CheckTypeIs(node, Type::Internal());
|
| break;
|
| case IrOpcode::kMaybeGrowFastElements:
|
| CheckValueInputIs(node, 0, Type::Any());
|
| CheckValueInputIs(node, 1, Type::Internal());
|
| CheckValueInputIs(node, 2, Type::Unsigned31());
|
| CheckValueInputIs(node, 3, Type::Unsigned31());
|
| - CheckUpperIs(node, Type::Internal());
|
| + CheckTypeIs(node, Type::Internal());
|
| break;
|
| case IrOpcode::kTransitionElementsKind:
|
| CheckValueInputIs(node, 0, Type::Any());
|
| @@ -888,7 +888,7 @@ void Verifier::Visitor::Check(Node* node) {
|
| // Type* from = Type::Intersect(Type::Signed32(), Type::Tagged());
|
| // Type* to = Type::Intersect(Type::Signed32(), Type::UntaggedInt32());
|
| // CheckValueInputIs(node, 0, from));
|
| - // CheckUpperIs(node, to));
|
| + // CheckTypeIs(node, to));
|
| break;
|
| }
|
| case IrOpcode::kChangeTaggedToInt32: {
|
| @@ -897,7 +897,7 @@ void Verifier::Visitor::Check(Node* node) {
|
| // Type* from = Type::Intersect(Type::Signed32(), Type::Tagged());
|
| // Type* to = Type::Intersect(Type::Signed32(), Type::UntaggedInt32());
|
| // CheckValueInputIs(node, 0, from));
|
| - // CheckUpperIs(node, to));
|
| + // CheckTypeIs(node, to));
|
| break;
|
| }
|
| case IrOpcode::kChangeTaggedToUint32: {
|
| @@ -906,7 +906,7 @@ void Verifier::Visitor::Check(Node* node) {
|
| // Type* from = Type::Intersect(Type::Unsigned32(), Type::Tagged());
|
| // Type* to =Type::Intersect(Type::Unsigned32(), Type::UntaggedInt32());
|
| // CheckValueInputIs(node, 0, from));
|
| - // CheckUpperIs(node, to));
|
| + // CheckTypeIs(node, to));
|
| break;
|
| }
|
| case IrOpcode::kChangeTaggedToFloat64: {
|
| @@ -915,7 +915,7 @@ void Verifier::Visitor::Check(Node* node) {
|
| // Type* from = Type::Intersect(Type::Number(), Type::Tagged());
|
| // Type* to = Type::Intersect(Type::Number(), Type::UntaggedFloat64());
|
| // CheckValueInputIs(node, 0, from));
|
| - // CheckUpperIs(node, to));
|
| + // CheckTypeIs(node, to));
|
| break;
|
| }
|
| case IrOpcode::kTruncateTaggedToFloat64: {
|
| @@ -925,7 +925,7 @@ void Verifier::Visitor::Check(Node* node) {
|
| // Type::Tagged());
|
| // Type* to = Type::Intersect(Type::Number(), Type::UntaggedFloat64());
|
| // CheckValueInputIs(node, 0, from));
|
| - // CheckUpperIs(node, to));
|
| + // CheckTypeIs(node, to));
|
| break;
|
| }
|
| case IrOpcode::kChangeInt31ToTaggedSigned: {
|
| @@ -934,7 +934,7 @@ void Verifier::Visitor::Check(Node* node) {
|
| // Type* from =Type::Intersect(Type::Signed31(), Type::UntaggedInt32());
|
| // Type* to = Type::Intersect(Type::Signed31(), Type::Tagged());
|
| // CheckValueInputIs(node, 0, from));
|
| - // CheckUpperIs(node, to));
|
| + // CheckTypeIs(node, to));
|
| break;
|
| }
|
| case IrOpcode::kChangeInt32ToTagged: {
|
| @@ -943,7 +943,7 @@ void Verifier::Visitor::Check(Node* node) {
|
| // Type* from =Type::Intersect(Type::Signed32(), Type::UntaggedInt32());
|
| // Type* to = Type::Intersect(Type::Signed32(), Type::Tagged());
|
| // CheckValueInputIs(node, 0, from));
|
| - // CheckUpperIs(node, to));
|
| + // CheckTypeIs(node, to));
|
| break;
|
| }
|
| case IrOpcode::kChangeUint32ToTagged: {
|
| @@ -952,7 +952,7 @@ void Verifier::Visitor::Check(Node* node) {
|
| // Type* from=Type::Intersect(Type::Unsigned32(),Type::UntaggedInt32());
|
| // Type* to = Type::Intersect(Type::Unsigned32(), Type::Tagged());
|
| // CheckValueInputIs(node, 0, from));
|
| - // CheckUpperIs(node, to));
|
| + // CheckTypeIs(node, to));
|
| break;
|
| }
|
| case IrOpcode::kChangeFloat64ToTagged: {
|
| @@ -961,7 +961,7 @@ void Verifier::Visitor::Check(Node* node) {
|
| // Type* from =Type::Intersect(Type::Number(), Type::UntaggedFloat64());
|
| // Type* to = Type::Intersect(Type::Number(), Type::Tagged());
|
| // CheckValueInputIs(node, 0, from));
|
| - // CheckUpperIs(node, to));
|
| + // CheckTypeIs(node, to));
|
| break;
|
| }
|
| case IrOpcode::kChangeTaggedToBit: {
|
| @@ -970,7 +970,7 @@ void Verifier::Visitor::Check(Node* node) {
|
| // Type* from = Type::Intersect(Type::Boolean(), Type::TaggedPtr());
|
| // Type* to = Type::Intersect(Type::Boolean(), Type::UntaggedInt1());
|
| // CheckValueInputIs(node, 0, from));
|
| - // CheckUpperIs(node, to));
|
| + // CheckTypeIs(node, to));
|
| break;
|
| }
|
| case IrOpcode::kChangeBitToTagged: {
|
| @@ -979,7 +979,7 @@ void Verifier::Visitor::Check(Node* node) {
|
| // Type* from = Type::Intersect(Type::Boolean(), Type::UntaggedInt1());
|
| // Type* to = Type::Intersect(Type::Boolean(), Type::TaggedPtr());
|
| // CheckValueInputIs(node, 0, from));
|
| - // CheckUpperIs(node, to));
|
| + // CheckTypeIs(node, to));
|
| break;
|
| }
|
| case IrOpcode::kTruncateTaggedToWord32: {
|
| @@ -988,13 +988,13 @@ void Verifier::Visitor::Check(Node* node) {
|
| // Type* from = Type::Intersect(Type::Number(), Type::Tagged());
|
| // Type* to = Type::Intersect(Type::Number(), Type::UntaggedInt32());
|
| // CheckValueInputIs(node, 0, from));
|
| - // CheckUpperIs(node, to));
|
| + // CheckTypeIs(node, to));
|
| break;
|
| }
|
| case IrOpcode::kCheckBounds:
|
| CheckValueInputIs(node, 0, Type::Any());
|
| CheckValueInputIs(node, 1, Type::Unsigned31());
|
| - CheckUpperIs(node, Type::Unsigned31());
|
| + CheckTypeIs(node, Type::Unsigned31());
|
| break;
|
| case IrOpcode::kCheckMaps:
|
| // (Any, Internal, ..., Internal) -> Any
|
| @@ -1006,11 +1006,11 @@ void Verifier::Visitor::Check(Node* node) {
|
| break;
|
| case IrOpcode::kCheckNumber:
|
| CheckValueInputIs(node, 0, Type::Any());
|
| - CheckUpperIs(node, Type::Number());
|
| + CheckTypeIs(node, Type::Number());
|
| break;
|
| case IrOpcode::kCheckString:
|
| CheckValueInputIs(node, 0, Type::Any());
|
| - CheckUpperIs(node, Type::String());
|
| + CheckTypeIs(node, Type::String());
|
| break;
|
| case IrOpcode::kCheckIf:
|
| CheckValueInputIs(node, 0, Type::Boolean());
|
| @@ -1018,11 +1018,11 @@ void Verifier::Visitor::Check(Node* node) {
|
| break;
|
| case IrOpcode::kCheckTaggedSigned:
|
| CheckValueInputIs(node, 0, Type::Any());
|
| - CheckUpperIs(node, Type::TaggedSigned());
|
| + CheckTypeIs(node, Type::TaggedSigned());
|
| break;
|
| case IrOpcode::kCheckTaggedPointer:
|
| CheckValueInputIs(node, 0, Type::Any());
|
| - CheckUpperIs(node, Type::TaggedPointer());
|
| + CheckTypeIs(node, Type::TaggedPointer());
|
| break;
|
|
|
| case IrOpcode::kCheckedInt32Add:
|
| @@ -1042,22 +1042,22 @@ void Verifier::Visitor::Check(Node* node) {
|
|
|
| case IrOpcode::kCheckFloat64Hole:
|
| CheckValueInputIs(node, 0, Type::Number());
|
| - CheckUpperIs(node, Type::Number());
|
| + CheckTypeIs(node, Type::Number());
|
| break;
|
| case IrOpcode::kCheckTaggedHole:
|
| CheckValueInputIs(node, 0, Type::Any());
|
| - CheckUpperIs(node, Type::NonInternal());
|
| + CheckTypeIs(node, Type::NonInternal());
|
| break;
|
| case IrOpcode::kConvertTaggedHoleToUndefined:
|
| CheckValueInputIs(node, 0, Type::Any());
|
| - CheckUpperIs(node, Type::NonInternal());
|
| + CheckTypeIs(node, Type::NonInternal());
|
| break;
|
|
|
| case IrOpcode::kLoadField:
|
| // Object -> fieldtype
|
| // TODO(rossberg): activate once machine ops are typed.
|
| // CheckValueInputIs(node, 0, Type::Object());
|
| - // CheckUpperIs(node, FieldAccessOf(node->op()).type));
|
| + // CheckTypeIs(node, FieldAccessOf(node->op()).type));
|
| break;
|
| case IrOpcode::kLoadBuffer:
|
| break;
|
| @@ -1065,7 +1065,7 @@ void Verifier::Visitor::Check(Node* node) {
|
| // Object -> elementtype
|
| // TODO(rossberg): activate once machine ops are typed.
|
| // CheckValueInputIs(node, 0, Type::Object());
|
| - // CheckUpperIs(node, ElementAccessOf(node->op()).type));
|
| + // CheckTypeIs(node, ElementAccessOf(node->op()).type));
|
| break;
|
| case IrOpcode::kLoadTypedElement:
|
| break;
|
| @@ -1090,10 +1090,10 @@ void Verifier::Visitor::Check(Node* node) {
|
| break;
|
| case IrOpcode::kNumberSilenceNaN:
|
| CheckValueInputIs(node, 0, Type::Number());
|
| - CheckUpperIs(node, Type::Number());
|
| + CheckTypeIs(node, Type::Number());
|
| break;
|
| case IrOpcode::kTypeGuard:
|
| - CheckUpperIs(node, TypeGuardTypeOf(node->op()));
|
| + CheckTypeIs(node, TypeGuardTypeOf(node->op()));
|
| break;
|
|
|
| // Machine operators
|
|
|