 Chromium Code Reviews
 Chromium Code Reviews Issue 2407183002:
  [modules] Don't unnecessarily keep function alive after evaluation.  (Closed)
    
  
    Issue 2407183002:
  [modules] Don't unnecessarily keep function alive after evaluation.  (Closed) 
  | Index: src/objects-debug.cc | 
| diff --git a/src/objects-debug.cc b/src/objects-debug.cc | 
| index 75320677c557e18bce4085eef8e3793614623ce0..ac5671462a8d9210a5c1748451bf502574be3c23 100644 | 
| --- a/src/objects-debug.cc | 
| +++ b/src/objects-debug.cc | 
| @@ -928,17 +928,22 @@ void JSModuleNamespace::JSModuleNamespaceVerify() { | 
| } | 
| void Module::ModuleVerify() { | 
| - Isolate* isolate = GetIsolate(); | 
| CHECK(IsModule()); | 
| - CHECK(code()->IsSharedFunctionInfo() || code()->IsJSFunction()); | 
| + | 
| + CHECK((!instantiated() && code()->IsSharedFunctionInfo()) || | 
| + (instantiated() && !evaluated() && code()->IsJSFunction()) || | 
| + (instantiated() && evaluated() && code()->IsModuleInfo())); | 
| + | 
| code()->ObjectVerify(); | 
| 
adamk
2016/10/11 15:54:05
Maybe just remove all these ObjectVerify calls whi
 | 
| + embedder_data()->ObjectVerify(); | 
| exports()->ObjectVerify(); | 
| requested_modules()->ObjectVerify(); | 
| - VerifySmiField(kFlagsOffset); | 
| - embedder_data()->ObjectVerify(); | 
| + | 
| VerifySmiField(kHashOffset); | 
| - CHECK(module_namespace()->IsUndefined(isolate) || | 
| + | 
| + CHECK(module_namespace()->IsUndefined(GetIsolate()) || | 
| module_namespace()->IsJSModuleNamespace()); | 
| + | 
| // TODO(neis): Check more. | 
| } |