| Index: src/compiler/typer.cc | 
| diff --git a/src/compiler/typer.cc b/src/compiler/typer.cc | 
| index 73fe41d58291ff3dfbe0637b6dcc7c103b0041e9..6edfda329cec3d8391d981b66a36aebb7cd7bff3 100644 | 
| --- a/src/compiler/typer.cc | 
| +++ b/src/compiler/typer.cc | 
| @@ -493,8 +493,10 @@ Bounds Typer::Visitor::TypeJSInstanceOf(Node* node) { | 
|  | 
| Bounds Typer::Visitor::TypeJSLoadContext(Node* node) { | 
| Bounds outer = OperandType(node, 0); | 
| -  DCHECK(outer.upper->Is(Type::Internal())); | 
| -  DCHECK(outer.lower->Equals(outer.upper)); | 
| +  DCHECK(outer.upper->Maybe(Type::Internal())); | 
| +  // TODO(rossberg): More precisely, instead of the above assertion, we should | 
| +  // back-propagate the constraint that it has to be a subtype of Internal. | 
| + | 
| ContextAccess access = OpParameter<ContextAccess>(node); | 
| Type* context_type = outer.upper; | 
| MaybeHandle<Context> context; | 
|  |