Index: src/compiler/js-typed-lowering.cc |
diff --git a/src/compiler/js-typed-lowering.cc b/src/compiler/js-typed-lowering.cc |
index 31d4a3fc8c80281e21d36260a8c7786057cecec6..c64c9359389efd3999bc48f45e55d9111257e18d 100644 |
--- a/src/compiler/js-typed-lowering.cc |
+++ b/src/compiler/js-typed-lowering.cc |
@@ -82,16 +82,16 @@ class JSBinopReduction final { |
if (BothInputsAre(Type::String()) || |
((lowering_->flags() & JSTypedLowering::kDeoptimizationEnabled) && |
BinaryOperationHintOf(node_->op()) == BinaryOperationHint::kString)) { |
- if (left_type()->IsConstant() && |
- left_type()->AsConstant()->Value()->IsString()) { |
+ if (left_type()->IsHeapConstant() && |
+ left_type()->AsHeapConstant()->Value()->IsString()) { |
Handle<String> left_string = |
- Handle<String>::cast(left_type()->AsConstant()->Value()); |
+ Handle<String>::cast(left_type()->AsHeapConstant()->Value()); |
if (left_string->length() >= ConsString::kMinLength) return true; |
} |
- if (right_type()->IsConstant() && |
- right_type()->AsConstant()->Value()->IsString()) { |
+ if (right_type()->IsHeapConstant() && |
+ right_type()->AsHeapConstant()->Value()->IsString()) { |
Handle<String> right_string = |
- Handle<String>::cast(right_type()->AsConstant()->Value()); |
+ Handle<String>::cast(right_type()->AsHeapConstant()->Value()); |
if (right_string->length() >= ConsString::kMinLength) return true; |
} |
} |
@@ -447,7 +447,6 @@ class JSBinopReduction final { |
// - immediately put in type bounds for all new nodes |
// - relax effects from generic but not-side-effecting operations |
- |
JSTypedLowering::JSTypedLowering(Editor* editor, |
CompilationDependencies* dependencies, |
Flags flags, JSGraph* jsgraph, Zone* zone) |
@@ -456,7 +455,7 @@ JSTypedLowering::JSTypedLowering(Editor* editor, |
flags_(flags), |
jsgraph_(jsgraph), |
the_hole_type_( |
- Type::Constant(factory()->the_hole_value(), graph()->zone())), |
+ Type::HeapConstant(factory()->the_hole_value(), graph()->zone())), |
type_cache_(TypeCache::Get()) { |
for (size_t k = 0; k < arraysize(shifted_int32_ranges_); ++k) { |
double min = kMinInt / (1 << k); |
@@ -598,9 +597,9 @@ Reduction JSTypedLowering::ReduceCreateConsString(Node* node) { |
// Determine the {first} length. |
Node* first_length = |
- first_type->IsConstant() |
+ first_type->IsHeapConstant() |
? jsgraph()->Constant( |
- Handle<String>::cast(first_type->AsConstant()->Value()) |
+ Handle<String>::cast(first_type->AsHeapConstant()->Value()) |
->length()) |
: effect = graph()->NewNode( |
simplified()->LoadField(AccessBuilder::ForStringLength()), |
@@ -608,9 +607,9 @@ Reduction JSTypedLowering::ReduceCreateConsString(Node* node) { |
// Determine the {second} length. |
Node* second_length = |
- second_type->IsConstant() |
+ second_type->IsHeapConstant() |
? jsgraph()->Constant( |
- Handle<String>::cast(second_type->AsConstant()->Value()) |
+ Handle<String>::cast(second_type->AsHeapConstant()->Value()) |
->length()) |
: effect = graph()->NewNode( |
simplified()->LoadField(AccessBuilder::ForStringLength()), |
@@ -980,8 +979,8 @@ Reduction JSTypedLowering::ReduceJSToLength(Node* node) { |
Reduction JSTypedLowering::ReduceJSToNumberInput(Node* input) { |
// Try constant-folding of JSToNumber with constant inputs. |
Type* input_type = NodeProperties::GetType(input); |
- if (input_type->IsConstant()) { |
- Handle<Object> input_value = input_type->AsConstant()->Value(); |
+ if (input_type->IsHeapConstant()) { |
+ Handle<Object> input_value = input_type->AsHeapConstant()->Value(); |
if (input_value->IsString()) { |
return Replace(jsgraph()->Constant( |
String::ToNumber(Handle<String>::cast(input_value)))); |
@@ -1280,13 +1279,13 @@ Reduction JSTypedLowering::ReduceJSInstanceOf(Node* node) { |
Node* effect = r.effect(); |
Node* control = r.control(); |
- if (!r.right_type()->IsConstant() || |
- !r.right_type()->AsConstant()->Value()->IsJSFunction()) { |
+ if (!r.right_type()->IsHeapConstant() || |
+ !r.right_type()->AsHeapConstant()->Value()->IsJSFunction()) { |
return NoChange(); |
} |
Handle<JSFunction> function = |
- Handle<JSFunction>::cast(r.right_type()->AsConstant()->Value()); |
+ Handle<JSFunction>::cast(r.right_type()->AsHeapConstant()->Value()); |
Handle<SharedFunctionInfo> shared(function->shared(), isolate()); |
// Make sure the prototype of {function} is the %FunctionPrototype%, and it |
@@ -1485,9 +1484,9 @@ Reduction JSTypedLowering::ReduceJSConvertReceiver(Node* node) { |
// with the global proxy unconditionally. |
if (receiver_type->Is(Type::NullOrUndefined()) || |
mode == ConvertReceiverMode::kNullOrUndefined) { |
- if (context_type->IsConstant()) { |
+ if (context_type->IsHeapConstant()) { |
Handle<JSObject> global_proxy( |
- Handle<Context>::cast(context_type->AsConstant()->Value()) |
+ Handle<Context>::cast(context_type->AsHeapConstant()->Value()) |
->global_proxy(), |
isolate()); |
receiver = jsgraph()->Constant(global_proxy); |
@@ -1590,9 +1589,9 @@ Reduction JSTypedLowering::ReduceJSConvertReceiver(Node* node) { |
Node* eglobal = effect; |
Node* rglobal; |
{ |
- if (context_type->IsConstant()) { |
+ if (context_type->IsHeapConstant()) { |
Handle<JSObject> global_proxy( |
- Handle<Context>::cast(context_type->AsConstant()->Value()) |
+ Handle<Context>::cast(context_type->AsHeapConstant()->Value()) |
->global_proxy(), |
isolate()); |
rglobal = jsgraph()->Constant(global_proxy); |
@@ -1715,10 +1714,10 @@ Reduction JSTypedLowering::ReduceJSCallConstruct(Node* node) { |
Node* control = NodeProperties::GetControlInput(node); |
// Check if {target} is a known JSFunction. |
- if (target_type->IsConstant() && |
- target_type->AsConstant()->Value()->IsJSFunction()) { |
+ if (target_type->IsHeapConstant() && |
+ target_type->AsHeapConstant()->Value()->IsJSFunction()) { |
Handle<JSFunction> function = |
- Handle<JSFunction>::cast(target_type->AsConstant()->Value()); |
+ Handle<JSFunction>::cast(target_type->AsHeapConstant()->Value()); |
Handle<SharedFunctionInfo> shared(function->shared(), isolate()); |
const int builtin_index = shared->construct_stub()->builtin_index(); |
const bool is_builtin = (builtin_index != -1); |
@@ -1800,10 +1799,10 @@ Reduction JSTypedLowering::ReduceJSCallFunction(Node* node) { |
} |
// Check if {target} is a known JSFunction. |
- if (target_type->IsConstant() && |
- target_type->AsConstant()->Value()->IsJSFunction()) { |
+ if (target_type->IsHeapConstant() && |
+ target_type->AsHeapConstant()->Value()->IsJSFunction()) { |
Handle<JSFunction> function = |
- Handle<JSFunction>::cast(target_type->AsConstant()->Value()); |
+ Handle<JSFunction>::cast(target_type->AsHeapConstant()->Value()); |
Handle<SharedFunctionInfo> shared(function->shared(), isolate()); |
const int builtin_index = shared->code()->builtin_index(); |
const bool is_builtin = (builtin_index != -1); |