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

Unified Diff: src/debug/debug-scopes.cc

Issue 2449883002: Revert of [modules] Add partial support for debug-scopes. (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
« no previous file with comments | « src/debug/debug-scopes.h ('k') | src/debug/mirrors.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/debug/debug-scopes.cc
diff --git a/src/debug/debug-scopes.cc b/src/debug/debug-scopes.cc
index be23e8a3e2ca263df60c0e44b42a5bb0f369739d..b9f93e25999d327412800cff65fcb96efdcdc1fe 100644
--- a/src/debug/debug-scopes.cc
+++ b/src/debug/debug-scopes.cc
@@ -101,8 +101,6 @@
// Language mode may be inherited from the eval caller.
// Retrieve it from shared function info.
info->set_language_mode(shared_info->language_mode());
- } else if (scope_info->scope_type() == MODULE_SCOPE) {
- info->set_module();
} else {
DCHECK(scope_info->scope_type() == SCRIPT_SCOPE);
}
@@ -610,10 +608,17 @@
Handle<Context> context = CurrentContext();
DCHECK(context->IsModuleContext());
Handle<ScopeInfo> scope_info(context->scope_info());
+
+ // Allocate and initialize a JSObject with all the members of the debugged
+ // module.
Handle<JSObject> module_scope =
isolate_->factory()->NewJSObjectWithNullProto();
+
+ // Fill all context locals.
CopyContextLocalsToScopeObject(scope_info, context, module_scope);
- CopyModuleVarsToScopeObject(scope_info, context, module_scope);
+
+ // TODO(neis): Also collect stack locals as well as imports and exports.
+
return module_scope;
}
@@ -784,51 +789,6 @@
}
}
-void ScopeIterator::CopyModuleVarsToScopeObject(Handle<ScopeInfo> scope_info,
- Handle<Context> context,
- Handle<JSObject> scope_object) {
- Isolate* isolate = scope_info->GetIsolate();
-
- int module_variable_count =
- Smi::cast(scope_info->get(scope_info->ModuleVariableCountIndex()))
- ->value();
- for (int i = 0; i < module_variable_count; ++i) {
- Handle<String> local_name;
- bool is_export;
- {
- String* name;
- int index;
- scope_info->ModuleVariable(i, &name, &index);
- CHECK(!ScopeInfo::VariableIsSynthetic(name));
- local_name = handle(name, isolate);
- is_export = index == Variable::kModuleExportIndex;
- }
-
- Handle<Object> value;
- if (is_export) {
- value =
- Module::LoadExport(handle(context->module(), isolate), local_name);
- } else {
- Handle<ModuleInfo> module_info(scope_info->ModuleDescriptorInfo(),
- isolate);
- Handle<ModuleInfoEntry> entry =
- ModuleInfo::LookupRegularImport(module_info, local_name);
- Handle<String> import_name(String::cast(entry->import_name()), isolate);
- int module_request = Smi::cast(entry->module_request())->value();
- value = Module::LoadImport(handle(context->module(), isolate),
- import_name, module_request);
- }
-
- // Reflect variables under TDZ as undefined in scope object.
- if (value->IsTheHole(isolate)) continue;
- // This should always succeed.
- // TODO(verwaest): Use AddDataProperty instead.
- JSObject::SetOwnPropertyIgnoreAttributes(scope_object, local_name, value,
- NONE)
- .Check();
- }
-}
-
void ScopeIterator::CopyContextExtensionToScopeObject(
Handle<Context> context, Handle<JSObject> scope_object,
KeyCollectionMode mode) {
« no previous file with comments | « src/debug/debug-scopes.h ('k') | src/debug/mirrors.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698