summaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/js-context-specialization.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/compiler/js-context-specialization.cc')
-rw-r--r--deps/v8/src/compiler/js-context-specialization.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/deps/v8/src/compiler/js-context-specialization.cc b/deps/v8/src/compiler/js-context-specialization.cc
index 95d32bc3fd..ca7bcdfb66 100644
--- a/deps/v8/src/compiler/js-context-specialization.cc
+++ b/deps/v8/src/compiler/js-context-specialization.cc
@@ -102,8 +102,11 @@ bool IsContextParameter(Node* node) {
MaybeHandle<Context> GetSpecializationContext(Node* node, size_t* distance,
Maybe<OuterContext> maybe_outer) {
switch (node->opcode()) {
- case IrOpcode::kHeapConstant:
- return Handle<Context>::cast(OpParameter<Handle<HeapObject>>(node));
+ case IrOpcode::kHeapConstant: {
+ Handle<Object> object = OpParameter<Handle<HeapObject>>(node);
+ if (object->IsContext()) return Handle<Context>::cast(object);
+ break;
+ }
case IrOpcode::kParameter: {
OuterContext outer;
if (maybe_outer.To(&outer) && IsContextParameter(node) &&