Index: src/contexts.cc |
diff --git a/src/contexts.cc b/src/contexts.cc |
index ea4730042fc468ed0623b9a0198a6e095411895c..3c9e471479453a0c0e11a2e92d0e1b9f70e87898 100644 |
--- a/src/contexts.cc |
+++ b/src/contexts.cc |
@@ -110,10 +110,11 @@ JSReceiver* Context::extension_receiver() { |
ScopeInfo* Context::scope_info() { |
- DCHECK(IsModuleContext() || IsScriptContext() || IsBlockContext()); |
+ DCHECK(IsModuleContext() || IsScriptContext() || IsBlockContext() || |
+ IsCatchContext()); |
HeapObject* object = extension(); |
if (object->IsContextExtension()) { |
- DCHECK(IsBlockContext()); |
+ DCHECK(IsBlockContext() || IsCatchContext()); |
object = ContextExtension::cast(object)->scope_info(); |
} |
return ScopeInfo::cast(object); |
@@ -122,7 +123,7 @@ ScopeInfo* Context::scope_info() { |
String* Context::catch_name() { |
DCHECK(IsCatchContext()); |
- return String::cast(extension()); |
+ return String::cast(ContextExtension::cast(extension())->extension()); |
} |