diff options
Diffstat (limited to 'deps/v8/src/compiler/js-context-specialization.cc')
-rw-r--r-- | deps/v8/src/compiler/js-context-specialization.cc | 7 |
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) && |