Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2234)

Unified Diff: src/objects-debug.cc

Issue 2407183002: [modules] Don't unnecessarily keep function alive after evaluation. (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.
}

Powered by Google App Engine
This is Rietveld 408576698