Commit 155d2bc4 authored by Kim-Anh Tran's avatar Kim-Anh Tran Committed by Commit Bot

[wasm][debug] Add stack scope to CDP and V8

This change adds a stack scope for wasm debugging.
Currently the local scope contains both local variables as well as
the expression stack. For now, this change duplicates the information
available on stacks into the stack scope, until we have added
support for the stack scope in the DevTools front-end.

Bug: chromium:1043034
Change-Id: Ib0a07e07be7c53003526a7b1e1dbfaa1116b41ad
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2093510
Commit-Queue: Kim-Anh Tran <kimanh@chromium.org>
Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66867}
parent d014e8f7
...@@ -119,6 +119,7 @@ domain Debugger ...@@ -119,6 +119,7 @@ domain Debugger
script script
eval eval
module module
wasm-expression-stack
# Object representing the scope. For `global` and `with` scopes it represents the actual # Object representing the scope. For `global` and `with` scopes it represents the actual
# object; for the rest of the scopes, it is artificial transient object enumerating scope # object; for the rest of the scopes, it is artificial transient object enumerating scope
# variables as its properties. # variables as its properties.
......
...@@ -423,7 +423,8 @@ class V8_EXPORT_PRIVATE ScopeIterator { ...@@ -423,7 +423,8 @@ class V8_EXPORT_PRIVATE ScopeIterator {
ScopeTypeBlock, ScopeTypeBlock,
ScopeTypeScript, ScopeTypeScript,
ScopeTypeEval, ScopeTypeEval,
ScopeTypeModule ScopeTypeModule,
ScopeTypeWasmExpressionStack
}; };
virtual bool Done() = 0; virtual bool Done() = 0;
......
...@@ -137,17 +137,24 @@ DebugWasmScopeIterator::DebugWasmScopeIterator(Isolate* isolate, ...@@ -137,17 +137,24 @@ DebugWasmScopeIterator::DebugWasmScopeIterator(Isolate* isolate,
type_(debug::ScopeIterator::ScopeTypeGlobal) {} type_(debug::ScopeIterator::ScopeTypeGlobal) {}
bool DebugWasmScopeIterator::Done() { bool DebugWasmScopeIterator::Done() {
return type_ != debug::ScopeIterator::ScopeTypeGlobal && return type_ == debug::ScopeIterator::ScopeTypeWith;
type_ != debug::ScopeIterator::ScopeTypeLocal;
} }
void DebugWasmScopeIterator::Advance() { void DebugWasmScopeIterator::Advance() {
DCHECK(!Done()); DCHECK(!Done());
if (type_ == debug::ScopeIterator::ScopeTypeGlobal) { switch (type_) {
type_ = debug::ScopeIterator::ScopeTypeLocal; case ScopeTypeGlobal:
} else { type_ = debug::ScopeIterator::ScopeTypeLocal;
// We use ScopeTypeWith type as marker for done. break;
type_ = debug::ScopeIterator::ScopeTypeWith; case ScopeTypeLocal:
type_ = debug::ScopeIterator::ScopeTypeWasmExpressionStack;
break;
case ScopeTypeWasmExpressionStack:
// We use ScopeTypeWith type as marker for done.
type_ = debug::ScopeIterator::ScopeTypeWith;
break;
default:
UNREACHABLE();
} }
} }
...@@ -178,6 +185,20 @@ v8::Local<v8::Object> DebugWasmScopeIterator::GetObject() { ...@@ -178,6 +185,20 @@ v8::Local<v8::Object> DebugWasmScopeIterator::GetObject() {
return Utils::ToLocal(debug_info->GetLocalScopeObject( return Utils::ToLocal(debug_info->GetLocalScopeObject(
isolate_, frame_->pc(), frame_->fp(), frame_->callee_fp())); isolate_, frame_->pc(), frame_->fp(), frame_->callee_fp()));
} }
case debug::ScopeIterator::ScopeTypeWasmExpressionStack: {
if (frame_->is_wasm_interpreter_entry()) {
Handle<WasmDebugInfo> debug_info(
WasmInterpreterEntryFrame::cast(frame_)->debug_info(), isolate_);
return Utils::ToLocal(WasmDebugInfo::GetStackScopeObject(
debug_info, frame_->fp(), inlined_frame_index_));
}
// Compiled code.
DCHECK(frame_->is_wasm_compiled());
wasm::DebugInfo* debug_info =
WasmCompiledFrame::cast(frame_)->native_module()->GetDebugInfo();
return Utils::ToLocal(debug_info->GetStackScopeObject(
isolate_, frame_->pc(), frame_->fp(), frame_->callee_fp()));
}
default: default:
return {}; return {};
} }
......
...@@ -243,6 +243,8 @@ String16 scopeType(v8::debug::ScopeIterator::ScopeType type) { ...@@ -243,6 +243,8 @@ String16 scopeType(v8::debug::ScopeIterator::ScopeType type) {
return Scope::TypeEnum::Eval; return Scope::TypeEnum::Eval;
case v8::debug::ScopeIterator::ScopeTypeModule: case v8::debug::ScopeIterator::ScopeTypeModule:
return Scope::TypeEnum::Module; return Scope::TypeEnum::Module;
case v8::debug::ScopeIterator::ScopeTypeWasmExpressionStack:
return Scope::TypeEnum::WasmExpressionStack;
} }
UNREACHABLE(); UNREACHABLE();
return String16(); return String16();
......
...@@ -685,6 +685,9 @@ v8::MaybeLocal<v8::Value> V8Debugger::getTargetScopes( ...@@ -685,6 +685,9 @@ v8::MaybeLocal<v8::Value> V8Debugger::getTargetScopes(
case v8::debug::ScopeIterator::ScopeTypeModule: case v8::debug::ScopeIterator::ScopeTypeModule:
description = "Module" + nameSuffix; description = "Module" + nameSuffix;
break; break;
case v8::debug::ScopeIterator::ScopeTypeWasmExpressionStack:
description = "Wasm Expression Stack" + nameSuffix;
break;
} }
v8::Local<v8::Object> object = iterator->GetObject(); v8::Local<v8::Object> object = iterator->GetObject();
createDataProperty(context, scope, createDataProperty(context, scope,
......
...@@ -439,6 +439,24 @@ class InterpreterHandle { ...@@ -439,6 +439,24 @@ class InterpreterHandle {
return local_scope_object; return local_scope_object;
} }
Handle<JSObject> GetStackScopeObject(InterpretedFrame* frame,
Handle<WasmDebugInfo> debug_info) {
// Fill stack values.
int stack_count = frame->GetStackHeight();
// Use an object without prototype instead of an Array, for nicer displaying
// in DevTools. For Arrays, the length field and prototype is displayed,
// which does not make too much sense here.
Handle<JSObject> stack_scope_obj =
isolate_->factory()->NewJSObjectWithNullProto();
for (int i = 0; i < stack_count; ++i) {
WasmValue value = frame->GetStackValue(stack_count - i - 1);
Handle<Object> value_obj = WasmValueToValueObject(isolate_, value);
JSObject::AddDataElement(stack_scope_obj, static_cast<uint32_t>(i),
value_obj, NONE);
}
return stack_scope_obj;
}
private: private:
DISALLOW_COPY_AND_ASSIGN(InterpreterHandle); DISALLOW_COPY_AND_ASSIGN(InterpreterHandle);
}; };
...@@ -621,6 +639,39 @@ class DebugInfoImpl { ...@@ -621,6 +639,39 @@ class DebugInfoImpl {
return local_scope_object; return local_scope_object;
} }
Handle<JSObject> GetStackScopeObject(Isolate* isolate, Address pc, Address fp,
Address debug_break_fp) {
Handle<JSObject> stack_scope_obj =
isolate->factory()->NewJSObjectWithNullProto();
wasm::WasmCodeRefScope wasm_code_ref_scope;
wasm::WasmCode* code =
isolate->wasm_engine()->code_manager()->LookupCode(pc);
// Only Liftoff code can be inspected.
if (!code->is_liftoff()) return stack_scope_obj;
auto* debug_side_table = GetDebugSideTable(code, isolate->allocator());
int pc_offset = static_cast<int>(pc - code->instruction_start());
auto* debug_side_table_entry = debug_side_table->GetEntry(pc_offset);
DCHECK_NOT_NULL(debug_side_table_entry);
// Fill stack values.
// Use an object without prototype instead of an Array, for nicer displaying
// in DevTools. For Arrays, the length field and prototype is displayed,
// which does not make too much sense here.
int num_locals = static_cast<int>(debug_side_table->num_locals());
int value_count = debug_side_table_entry->num_values();
int stack_count = value_count - num_locals;
for (int i = 0; i < stack_count; ++i) {
WasmValue value = GetValue(debug_side_table_entry, value_count - i - 1,
fp, debug_break_fp);
Handle<Object> value_obj = WasmValueToValueObject(isolate, value);
JSObject::AddDataElement(stack_scope_obj, static_cast<uint32_t>(i),
value_obj, NONE);
}
return stack_scope_obj;
}
WireBytesRef GetLocalName(int func_index, int local_index) { WireBytesRef GetLocalName(int func_index, int local_index) {
base::MutexGuard guard(&mutex_); base::MutexGuard guard(&mutex_);
if (!local_names_) { if (!local_names_) {
...@@ -926,6 +977,12 @@ Handle<JSObject> DebugInfo::GetLocalScopeObject(Isolate* isolate, Address pc, ...@@ -926,6 +977,12 @@ Handle<JSObject> DebugInfo::GetLocalScopeObject(Isolate* isolate, Address pc,
return impl_->GetLocalScopeObject(isolate, pc, fp, debug_break_fp); return impl_->GetLocalScopeObject(isolate, pc, fp, debug_break_fp);
} }
Handle<JSObject> DebugInfo::GetStackScopeObject(Isolate* isolate, Address pc,
Address fp,
Address debug_break_fp) {
return impl_->GetStackScopeObject(isolate, pc, fp, debug_break_fp);
}
WireBytesRef DebugInfo::GetLocalName(int func_index, int local_index) { WireBytesRef DebugInfo::GetLocalName(int func_index, int local_index) {
return impl_->GetLocalName(func_index, local_index); return impl_->GetLocalName(func_index, local_index);
} }
...@@ -1129,6 +1186,14 @@ Handle<JSObject> WasmDebugInfo::GetLocalScopeObject( ...@@ -1129,6 +1186,14 @@ Handle<JSObject> WasmDebugInfo::GetLocalScopeObject(
return interp_handle->GetLocalScopeObject(frame.get(), debug_info); return interp_handle->GetLocalScopeObject(frame.get(), debug_info);
} }
// static
Handle<JSObject> WasmDebugInfo::GetStackScopeObject(
Handle<WasmDebugInfo> debug_info, Address frame_pointer, int frame_index) {
auto* interp_handle = GetInterpreterHandle(*debug_info);
auto frame = interp_handle->GetInterpretedFrame(frame_pointer, frame_index);
return interp_handle->GetStackScopeObject(frame.get(), debug_info);
}
// static // static
Handle<Code> WasmDebugInfo::GetCWasmEntry(Handle<WasmDebugInfo> debug_info, Handle<Code> WasmDebugInfo::GetCWasmEntry(Handle<WasmDebugInfo> debug_info,
const wasm::FunctionSig* sig) { const wasm::FunctionSig* sig) {
......
...@@ -146,6 +146,9 @@ class DebugInfo { ...@@ -146,6 +146,9 @@ class DebugInfo {
Handle<JSObject> GetLocalScopeObject(Isolate*, Address pc, Address fp, Handle<JSObject> GetLocalScopeObject(Isolate*, Address pc, Address fp,
Address debug_break_fp); Address debug_break_fp);
Handle<JSObject> GetStackScopeObject(Isolate*, Address pc, Address fp,
Address debug_break_fp);
WireBytesRef GetLocalName(int func_index, int local_index); WireBytesRef GetLocalName(int func_index, int local_index);
void SetBreakpoint(int func_index, int offset, Isolate* current_isolate); void SetBreakpoint(int func_index, int offset, Isolate* current_isolate);
......
...@@ -879,6 +879,12 @@ class WasmDebugInfo : public Struct { ...@@ -879,6 +879,12 @@ class WasmDebugInfo : public Struct {
Address frame_pointer, Address frame_pointer,
int frame_index); int frame_index);
// Get stack scope details for a specific interpreted frame. It contains
// information about stack values.
static Handle<JSObject> GetStackScopeObject(Handle<WasmDebugInfo>,
Address frame_pointer,
int frame_index);
V8_EXPORT_PRIVATE static Handle<Code> GetCWasmEntry(Handle<WasmDebugInfo>, V8_EXPORT_PRIVATE static Handle<Code> GetCWasmEntry(Handle<WasmDebugInfo>,
const wasm::FunctionSig*); const wasm::FunctionSig*);
......
...@@ -17,12 +17,14 @@ at func (0:69): ...@@ -17,12 +17,14 @@ at func (0:69):
- scope (local): - scope (local):
locals: "0": 0 (number), "i32Arg": 4 (number), "var1": 0 (number), "i64_local": 0 (number), "unicode☼f64": 0 (number) locals: "0": 0 (number), "i32Arg": 4 (number), "var1": 0 (number), "i64_local": 0 (number), "unicode☼f64": 0 (number)
stack: stack:
- scope (wasm-expression-stack):
at call_func (0:58): at call_func (0:58):
- scope (global): - scope (global):
globals: "global0": 0 (number) globals: "global0": 0 (number)
- scope (local): - scope (local):
locals: "var0": 4 (number), "var1": 7.199999809265137 (number) locals: "var0": 4 (number), "var1": 7.199999809265137 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -36,12 +38,15 @@ at func (0:71): ...@@ -36,12 +38,15 @@ at func (0:71):
- scope (local): - scope (local):
locals: "0": 0 (number), "i32Arg": 4 (number), "var1": 0 (number), "i64_local": 0 (number), "unicode☼f64": 0 (number) locals: "0": 0 (number), "i32Arg": 4 (number), "var1": 0 (number), "i64_local": 0 (number), "unicode☼f64": 0 (number)
stack: "0": 11 (number) stack: "0": 11 (number)
- scope (wasm-expression-stack):
0: 11 (number)
at call_func (0:58): at call_func (0:58):
- scope (global): - scope (global):
globals: "global0": 0 (number) globals: "global0": 0 (number)
- scope (local): - scope (local):
locals: "var0": 4 (number), "var1": 7.199999809265137 (number) locals: "var0": 4 (number), "var1": 7.199999809265137 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -55,12 +60,14 @@ at func (0:73): ...@@ -55,12 +60,14 @@ at func (0:73):
- scope (local): - scope (local):
locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 0 (number), "i64_local": 0 (number), "unicode☼f64": 0 (number) locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 0 (number), "i64_local": 0 (number), "unicode☼f64": 0 (number)
stack: stack:
- scope (wasm-expression-stack):
at call_func (0:58): at call_func (0:58):
- scope (global): - scope (global):
globals: "global0": 0 (number) globals: "global0": 0 (number)
- scope (local): - scope (local):
locals: "var0": 4 (number), "var1": 7.199999809265137 (number) locals: "var0": 4 (number), "var1": 7.199999809265137 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -74,12 +81,15 @@ at func (0:75): ...@@ -74,12 +81,15 @@ at func (0:75):
- scope (local): - scope (local):
locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 0 (number), "i64_local": 0 (number), "unicode☼f64": 0 (number) locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 0 (number), "i64_local": 0 (number), "unicode☼f64": 0 (number)
stack: "0": 47 (number) stack: "0": 47 (number)
- scope (wasm-expression-stack):
0: 47 (number)
at call_func (0:58): at call_func (0:58):
- scope (global): - scope (global):
globals: "global0": 0 (number) globals: "global0": 0 (number)
- scope (local): - scope (local):
locals: "var0": 4 (number), "var1": 7.199999809265137 (number) locals: "var0": 4 (number), "var1": 7.199999809265137 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -93,12 +103,14 @@ at func (0:77): ...@@ -93,12 +103,14 @@ at func (0:77):
- scope (local): - scope (local):
locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": 0 (number), "unicode☼f64": 0 (number) locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": 0 (number), "unicode☼f64": 0 (number)
stack: stack:
- scope (wasm-expression-stack):
at call_func (0:58): at call_func (0:58):
- scope (global): - scope (global):
globals: "global0": 0 (number) globals: "global0": 0 (number)
- scope (local): - scope (local):
locals: "var0": 4 (number), "var1": 7.199999809265137 (number) locals: "var0": 4 (number), "var1": 7.199999809265137 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -112,12 +124,15 @@ at func (0:88): ...@@ -112,12 +124,15 @@ at func (0:88):
- scope (local): - scope (local):
locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": 0 (number), "unicode☼f64": 0 (number) locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": 0 (number), "unicode☼f64": 0 (number)
stack: "0": 9223372036854775807 (string) stack: "0": 9223372036854775807 (string)
- scope (wasm-expression-stack):
0: 9223372036854775807 (string)
at call_func (0:58): at call_func (0:58):
- scope (global): - scope (global):
globals: "global0": 0 (number) globals: "global0": 0 (number)
- scope (local): - scope (local):
locals: "var0": 4 (number), "var1": 7.199999809265137 (number) locals: "var0": 4 (number), "var1": 7.199999809265137 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -131,12 +146,14 @@ at func (0:90): ...@@ -131,12 +146,14 @@ at func (0:90):
- scope (local): - scope (local):
locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": 9223372036854775807 (string), "unicode☼f64": 0 (number) locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": 9223372036854775807 (string), "unicode☼f64": 0 (number)
stack: stack:
- scope (wasm-expression-stack):
at call_func (0:58): at call_func (0:58):
- scope (global): - scope (global):
globals: "global0": 0 (number) globals: "global0": 0 (number)
- scope (local): - scope (local):
locals: "var0": 4 (number), "var1": 7.199999809265137 (number) locals: "var0": 4 (number), "var1": 7.199999809265137 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -150,12 +167,15 @@ at func (0:101): ...@@ -150,12 +167,15 @@ at func (0:101):
- scope (local): - scope (local):
locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": 9223372036854775807 (string), "unicode☼f64": 0 (number) locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": 9223372036854775807 (string), "unicode☼f64": 0 (number)
stack: "0": -9223372036854775808 (string) stack: "0": -9223372036854775808 (string)
- scope (wasm-expression-stack):
0: -9223372036854775808 (string)
at call_func (0:58): at call_func (0:58):
- scope (global): - scope (global):
globals: "global0": 0 (number) globals: "global0": 0 (number)
- scope (local): - scope (local):
locals: "var0": 4 (number), "var1": 7.199999809265137 (number) locals: "var0": 4 (number), "var1": 7.199999809265137 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -169,12 +189,14 @@ at func (0:103): ...@@ -169,12 +189,14 @@ at func (0:103):
- scope (local): - scope (local):
locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": -9223372036854775808 (string), "unicode☼f64": 0 (number) locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": -9223372036854775808 (string), "unicode☼f64": 0 (number)
stack: stack:
- scope (wasm-expression-stack):
at call_func (0:58): at call_func (0:58):
- scope (global): - scope (global):
globals: "global0": 0 (number) globals: "global0": 0 (number)
- scope (local): - scope (local):
locals: "var0": 4 (number), "var1": 7.199999809265137 (number) locals: "var0": 4 (number), "var1": 7.199999809265137 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -188,12 +210,15 @@ at func (0:105): ...@@ -188,12 +210,15 @@ at func (0:105):
- scope (local): - scope (local):
locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": -9223372036854775808 (string), "unicode☼f64": 0 (number) locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": -9223372036854775808 (string), "unicode☼f64": 0 (number)
stack: "0": 1 (number) stack: "0": 1 (number)
- scope (wasm-expression-stack):
0: 1 (number)
at call_func (0:58): at call_func (0:58):
- scope (global): - scope (global):
globals: "global0": 0 (number) globals: "global0": 0 (number)
- scope (local): - scope (local):
locals: "var0": 4 (number), "var1": 7.199999809265137 (number) locals: "var0": 4 (number), "var1": 7.199999809265137 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -207,12 +232,15 @@ at func (0:106): ...@@ -207,12 +232,15 @@ at func (0:106):
- scope (local): - scope (local):
locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": -9223372036854775808 (string), "unicode☼f64": 0 (number) locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": -9223372036854775808 (string), "unicode☼f64": 0 (number)
stack: "0": 1 (number) stack: "0": 1 (number)
- scope (wasm-expression-stack):
0: 1 (number)
at call_func (0:58): at call_func (0:58):
- scope (global): - scope (global):
globals: "global0": 0 (number) globals: "global0": 0 (number)
- scope (local): - scope (local):
locals: "var0": 4 (number), "var1": 7.199999809265137 (number) locals: "var0": 4 (number), "var1": 7.199999809265137 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -226,12 +254,16 @@ at func (0:108): ...@@ -226,12 +254,16 @@ at func (0:108):
- scope (local): - scope (local):
locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": -9223372036854775808 (string), "unicode☼f64": 0 (number) locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": -9223372036854775808 (string), "unicode☼f64": 0 (number)
stack: "0": 1 (number), "1": 7 (number) stack: "0": 1 (number), "1": 7 (number)
- scope (wasm-expression-stack):
0: 7 (number)
1: 1 (number)
at call_func (0:58): at call_func (0:58):
- scope (global): - scope (global):
globals: "global0": 0 (number) globals: "global0": 0 (number)
- scope (local): - scope (local):
locals: "var0": 4 (number), "var1": 7.199999809265137 (number) locals: "var0": 4 (number), "var1": 7.199999809265137 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -245,12 +277,16 @@ at func (0:109): ...@@ -245,12 +277,16 @@ at func (0:109):
- scope (local): - scope (local):
locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": -9223372036854775808 (string), "unicode☼f64": 0 (number) locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": -9223372036854775808 (string), "unicode☼f64": 0 (number)
stack: "0": 1 (number), "1": 7 (number) stack: "0": 1 (number), "1": 7 (number)
- scope (wasm-expression-stack):
0: 7 (number)
1: 1 (number)
at call_func (0:58): at call_func (0:58):
- scope (global): - scope (global):
globals: "global0": 0 (number) globals: "global0": 0 (number)
- scope (local): - scope (local):
locals: "var0": 4 (number), "var1": 7.199999809265137 (number) locals: "var0": 4 (number), "var1": 7.199999809265137 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -264,12 +300,15 @@ at func (0:110): ...@@ -264,12 +300,15 @@ at func (0:110):
- scope (local): - scope (local):
locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": -9223372036854775808 (string), "unicode☼f64": 0 (number) locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": -9223372036854775808 (string), "unicode☼f64": 0 (number)
stack: "0": 0.14285714285714285 (number) stack: "0": 0.14285714285714285 (number)
- scope (wasm-expression-stack):
0: 0.14285714285714285 (number)
at call_func (0:58): at call_func (0:58):
- scope (global): - scope (global):
globals: "global0": 0 (number) globals: "global0": 0 (number)
- scope (local): - scope (local):
locals: "var0": 4 (number), "var1": 7.199999809265137 (number) locals: "var0": 4 (number), "var1": 7.199999809265137 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -283,12 +322,14 @@ at func (0:112): ...@@ -283,12 +322,14 @@ at func (0:112):
- scope (local): - scope (local):
locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": -9223372036854775808 (string), "unicode☼f64": 0.14285714285714285 (number) locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": -9223372036854775808 (string), "unicode☼f64": 0.14285714285714285 (number)
stack: stack:
- scope (wasm-expression-stack):
at call_func (0:58): at call_func (0:58):
- scope (global): - scope (global):
globals: "global0": 0 (number) globals: "global0": 0 (number)
- scope (local): - scope (local):
locals: "var0": 4 (number), "var1": 7.199999809265137 (number) locals: "var0": 4 (number), "var1": 7.199999809265137 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -302,12 +343,15 @@ at func (0:114): ...@@ -302,12 +343,15 @@ at func (0:114):
- scope (local): - scope (local):
locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": -9223372036854775808 (string), "unicode☼f64": 0.14285714285714285 (number) locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": -9223372036854775808 (string), "unicode☼f64": 0.14285714285714285 (number)
stack: "0": 15 (number) stack: "0": 15 (number)
- scope (wasm-expression-stack):
0: 15 (number)
at call_func (0:58): at call_func (0:58):
- scope (global): - scope (global):
globals: "global0": 0 (number) globals: "global0": 0 (number)
- scope (local): - scope (local):
locals: "var0": 4 (number), "var1": 7.199999809265137 (number) locals: "var0": 4 (number), "var1": 7.199999809265137 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -321,12 +365,14 @@ at func (0:116): ...@@ -321,12 +365,14 @@ at func (0:116):
- scope (local): - scope (local):
locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": -9223372036854775808 (string), "unicode☼f64": 0.14285714285714285 (number) locals: "0": 0 (number), "i32Arg": 11 (number), "var1": 47 (number), "i64_local": -9223372036854775808 (string), "unicode☼f64": 0.14285714285714285 (number)
stack: stack:
- scope (wasm-expression-stack):
at call_func (0:58): at call_func (0:58):
- scope (global): - scope (global):
globals: "global0": 15 (number) globals: "global0": 15 (number)
- scope (local): - scope (local):
locals: "var0": 4 (number), "var1": 7.199999809265137 (number) locals: "var0": 4 (number), "var1": 7.199999809265137 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -340,6 +386,7 @@ at call_func (0:60): ...@@ -340,6 +386,7 @@ at call_func (0:60):
- scope (local): - scope (local):
locals: "var0": 4 (number), "var1": 7.199999809265137 (number) locals: "var0": 4 (number), "var1": 7.199999809265137 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
......
...@@ -18,18 +18,23 @@ at C (interpreted) (0:85): ...@@ -18,18 +18,23 @@ at C (interpreted) (0:85):
- scope (local): - scope (local):
locals: "i32_arg": 42 (number), "i32_local": 0 (number) locals: "i32_arg": 42 (number), "i32_local": 0 (number)
stack: stack:
- scope (wasm-expression-stack):
at B (liftoff) (0:76): at B (liftoff) (0:76):
- scope (global): - scope (global):
globals: "global0": 0 (number) globals: "global0": 0 (number)
- scope (local): - scope (local):
locals: "0": 0 (number), "i32_arg": 42 (number), "i32_local": 0 (number), "f32_local": 7.199999809265137 (number), "var5": 0 (number) locals: "0": 0 (number), "i32_arg": 42 (number), "i32_local": 0 (number), "f32_local": 7.199999809265137 (number), "var5": 0 (number)
stack: "0": 42 (number), "1": 3 (number) stack: "0": 42 (number), "1": 3 (number)
- scope (wasm-expression-stack):
0: 3 (number)
1: 42 (number)
at A (liftoff) (0:54): at A (liftoff) (0:54):
- scope (global): - scope (global):
globals: "global0": 0 (number) globals: "global0": 0 (number)
- scope (local): - scope (local):
locals: "var0": 42 (number) locals: "var0": 42 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -43,18 +48,24 @@ at C (interpreted) (0:87): ...@@ -43,18 +48,24 @@ at C (interpreted) (0:87):
- scope (local): - scope (local):
locals: "i32_arg": 42 (number), "i32_local": 0 (number) locals: "i32_arg": 42 (number), "i32_local": 0 (number)
stack: "0": 42 (number) stack: "0": 42 (number)
- scope (wasm-expression-stack):
0: 42 (number)
at B (liftoff) (0:76): at B (liftoff) (0:76):
- scope (global): - scope (global):
globals: "global0": 0 (number) globals: "global0": 0 (number)
- scope (local): - scope (local):
locals: "0": 0 (number), "i32_arg": 42 (number), "i32_local": 0 (number), "f32_local": 7.199999809265137 (number), "var5": 0 (number) locals: "0": 0 (number), "i32_arg": 42 (number), "i32_local": 0 (number), "f32_local": 7.199999809265137 (number), "var5": 0 (number)
stack: "0": 42 (number), "1": 3 (number) stack: "0": 42 (number), "1": 3 (number)
- scope (wasm-expression-stack):
0: 3 (number)
1: 42 (number)
at A (liftoff) (0:54): at A (liftoff) (0:54):
- scope (global): - scope (global):
globals: "global0": 0 (number) globals: "global0": 0 (number)
- scope (local): - scope (local):
locals: "var0": 42 (number) locals: "var0": 42 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -68,18 +79,23 @@ at C (interpreted) (0:89): ...@@ -68,18 +79,23 @@ at C (interpreted) (0:89):
- scope (local): - scope (local):
locals: "i32_arg": 42 (number), "i32_local": 0 (number) locals: "i32_arg": 42 (number), "i32_local": 0 (number)
stack: stack:
- scope (wasm-expression-stack):
at B (liftoff) (0:76): at B (liftoff) (0:76):
- scope (global): - scope (global):
globals: "global0": 42 (number) globals: "global0": 42 (number)
- scope (local): - scope (local):
locals: "0": 0 (number), "i32_arg": 42 (number), "i32_local": 0 (number), "f32_local": 7.199999809265137 (number), "var5": 0 (number) locals: "0": 0 (number), "i32_arg": 42 (number), "i32_local": 0 (number), "f32_local": 7.199999809265137 (number), "var5": 0 (number)
stack: "0": 42 (number), "1": 3 (number) stack: "0": 42 (number), "1": 3 (number)
- scope (wasm-expression-stack):
0: 3 (number)
1: 42 (number)
at A (liftoff) (0:54): at A (liftoff) (0:54):
- scope (global): - scope (global):
globals: "global0": 42 (number) globals: "global0": 42 (number)
- scope (local): - scope (local):
locals: "var0": 42 (number) locals: "var0": 42 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -93,18 +109,24 @@ at C (interpreted) (0:91): ...@@ -93,18 +109,24 @@ at C (interpreted) (0:91):
- scope (local): - scope (local):
locals: "i32_arg": 42 (number), "i32_local": 0 (number) locals: "i32_arg": 42 (number), "i32_local": 0 (number)
stack: "0": 47 (number) stack: "0": 47 (number)
- scope (wasm-expression-stack):
0: 47 (number)
at B (liftoff) (0:76): at B (liftoff) (0:76):
- scope (global): - scope (global):
globals: "global0": 42 (number) globals: "global0": 42 (number)
- scope (local): - scope (local):
locals: "0": 0 (number), "i32_arg": 42 (number), "i32_local": 0 (number), "f32_local": 7.199999809265137 (number), "var5": 0 (number) locals: "0": 0 (number), "i32_arg": 42 (number), "i32_local": 0 (number), "f32_local": 7.199999809265137 (number), "var5": 0 (number)
stack: "0": 42 (number), "1": 3 (number) stack: "0": 42 (number), "1": 3 (number)
- scope (wasm-expression-stack):
0: 3 (number)
1: 42 (number)
at A (liftoff) (0:54): at A (liftoff) (0:54):
- scope (global): - scope (global):
globals: "global0": 42 (number) globals: "global0": 42 (number)
- scope (local): - scope (local):
locals: "var0": 42 (number) locals: "var0": 42 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
...@@ -118,18 +140,23 @@ at C (interpreted) (0:93): ...@@ -118,18 +140,23 @@ at C (interpreted) (0:93):
- scope (local): - scope (local):
locals: "i32_arg": 42 (number), "i32_local": 47 (number) locals: "i32_arg": 42 (number), "i32_local": 47 (number)
stack: stack:
- scope (wasm-expression-stack):
at B (liftoff) (0:76): at B (liftoff) (0:76):
- scope (global): - scope (global):
globals: "global0": 42 (number) globals: "global0": 42 (number)
- scope (local): - scope (local):
locals: "0": 0 (number), "i32_arg": 42 (number), "i32_local": 0 (number), "f32_local": 7.199999809265137 (number), "var5": 0 (number) locals: "0": 0 (number), "i32_arg": 42 (number), "i32_local": 0 (number), "f32_local": 7.199999809265137 (number), "var5": 0 (number)
stack: "0": 42 (number), "1": 3 (number) stack: "0": 42 (number), "1": 3 (number)
- scope (wasm-expression-stack):
0: 3 (number)
1: 42 (number)
at A (liftoff) (0:54): at A (liftoff) (0:54):
- scope (global): - scope (global):
globals: "global0": 42 (number) globals: "global0": 42 (number)
- scope (local): - scope (local):
locals: "var0": 42 (number) locals: "var0": 42 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped globals -- skipped globals
......
...@@ -145,17 +145,15 @@ async function waitForWasmScripts() { ...@@ -145,17 +145,15 @@ async function waitForWasmScripts() {
} }
async function getScopeValues(value) { async function getScopeValues(value) {
if (value.type != 'object') { if (value.type == 'object') {
InspectorTest.log('Expected object. Found:'); let msg = await Protocol.Runtime.getProperties({objectId: value.objectId});
InspectorTest.logObject(value); printIfFailure(msg);
return; const printProperty = function(elem) {
return `"${elem.name}": ${elem.value.value} (${elem.value.type})`;
}
return msg.result.result.map(printProperty).join(', ');
} }
return value.value + ' (' + value.type + ')';
let msg = await Protocol.Runtime.getProperties({objectId: value.objectId});
printIfFailure(msg);
let printProperty = elem => '"' + elem.name + '"' +
': ' + elem.value.value + ' (' + elem.value.type + ')';
return msg.result.result.map(printProperty).join(', ');
} }
async function dumpScopeProperties(message) { async function dumpScopeProperties(message) {
......
...@@ -145,17 +145,15 @@ async function waitForWasmScripts() { ...@@ -145,17 +145,15 @@ async function waitForWasmScripts() {
} }
async function getScopeValues(value) { async function getScopeValues(value) {
if (value.type != 'object') { if (value.type == 'object') {
InspectorTest.log('Expected object. Found:'); let msg = await Protocol.Runtime.getProperties({objectId: value.objectId});
InspectorTest.logObject(value); printIfFailure(msg);
return; const printProperty = function(elem) {
return `"${elem.name}": ${elem.value.value} (${elem.value.type})`;
}
return msg.result.result.map(printProperty).join(', ');
} }
return value.value + ' (' + value.type + ')';
let msg = await Protocol.Runtime.getProperties({objectId: value.objectId});
printIfFailure(msg);
let printProperty = elem => '"' + elem.name + '"' +
': ' + elem.value.value + ' (' + elem.value.type + ')';
return msg.result.result.map(printProperty).join(', ');
} }
async function dumpScopeProperties(message) { async function dumpScopeProperties(message) {
......
...@@ -10,11 +10,13 @@ at wasm_A (0:38): ...@@ -10,11 +10,13 @@ at wasm_A (0:38):
- scope (global): - scope (global):
- scope (local): - scope (local):
stack: stack:
- scope (wasm-expression-stack):
at wasm_B (0:56): at wasm_B (0:56):
- scope (global): - scope (global):
- scope (local): - scope (local):
locals: "var0": 3 (number) locals: "var0": 3 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Setting breakpoint at offset 39 on script v8://test/runWasm Setting breakpoint at offset 39 on script v8://test/runWasm
...@@ -33,11 +35,13 @@ at wasm_A (0:39): ...@@ -33,11 +35,13 @@ at wasm_A (0:39):
- scope (global): - scope (global):
- scope (local): - scope (local):
stack: stack:
- scope (wasm-expression-stack):
at wasm_B (0:56): at wasm_B (0:56):
- scope (global): - scope (global):
- scope (local): - scope (local):
locals: "var0": 3 (number) locals: "var0": 3 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -48,6 +52,7 @@ at wasm_B (0:45): ...@@ -48,6 +52,7 @@ at wasm_B (0:45):
- scope (local): - scope (local):
locals: "var0": 3 (number) locals: "var0": 3 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -58,6 +63,8 @@ at wasm_B (0:47): ...@@ -58,6 +63,8 @@ at wasm_B (0:47):
- scope (local): - scope (local):
locals: "var0": 3 (number) locals: "var0": 3 (number)
stack: "0": 3 (number) stack: "0": 3 (number)
- scope (wasm-expression-stack):
0: 3 (number)
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -68,6 +75,7 @@ at wasm_B (0:49): ...@@ -68,6 +75,7 @@ at wasm_B (0:49):
- scope (local): - scope (local):
locals: "var0": 3 (number) locals: "var0": 3 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -78,6 +86,8 @@ at wasm_B (0:51): ...@@ -78,6 +86,8 @@ at wasm_B (0:51):
- scope (local): - scope (local):
locals: "var0": 3 (number) locals: "var0": 3 (number)
stack: "0": 3 (number) stack: "0": 3 (number)
- scope (wasm-expression-stack):
0: 3 (number)
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -88,6 +98,9 @@ at wasm_B (0:53): ...@@ -88,6 +98,9 @@ at wasm_B (0:53):
- scope (local): - scope (local):
locals: "var0": 3 (number) locals: "var0": 3 (number)
stack: "0": 3 (number), "1": 1 (number) stack: "0": 3 (number), "1": 1 (number)
- scope (wasm-expression-stack):
0: 1 (number)
1: 3 (number)
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -98,6 +111,8 @@ at wasm_B (0:54): ...@@ -98,6 +111,8 @@ at wasm_B (0:54):
- scope (local): - scope (local):
locals: "var0": 3 (number) locals: "var0": 3 (number)
stack: "0": 2 (number) stack: "0": 2 (number)
- scope (wasm-expression-stack):
0: 2 (number)
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -107,11 +122,13 @@ at wasm_A (0:38): ...@@ -107,11 +122,13 @@ at wasm_A (0:38):
- scope (global): - scope (global):
- scope (local): - scope (local):
stack: stack:
- scope (wasm-expression-stack):
at wasm_B (0:56): at wasm_B (0:56):
- scope (global): - scope (global):
- scope (local): - scope (local):
locals: "var0": 2 (number) locals: "var0": 2 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -121,11 +138,13 @@ at wasm_A (0:39): ...@@ -121,11 +138,13 @@ at wasm_A (0:39):
- scope (global): - scope (global):
- scope (local): - scope (local):
stack: stack:
- scope (wasm-expression-stack):
at wasm_B (0:56): at wasm_B (0:56):
- scope (global): - scope (global):
- scope (local): - scope (local):
locals: "var0": 2 (number) locals: "var0": 2 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -136,6 +155,7 @@ at wasm_B (0:45): ...@@ -136,6 +155,7 @@ at wasm_B (0:45):
- scope (local): - scope (local):
locals: "var0": 2 (number) locals: "var0": 2 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -146,6 +166,8 @@ at wasm_B (0:47): ...@@ -146,6 +166,8 @@ at wasm_B (0:47):
- scope (local): - scope (local):
locals: "var0": 2 (number) locals: "var0": 2 (number)
stack: "0": 2 (number) stack: "0": 2 (number)
- scope (wasm-expression-stack):
0: 2 (number)
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -156,6 +178,7 @@ at wasm_B (0:49): ...@@ -156,6 +178,7 @@ at wasm_B (0:49):
- scope (local): - scope (local):
locals: "var0": 2 (number) locals: "var0": 2 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -166,6 +189,8 @@ at wasm_B (0:51): ...@@ -166,6 +189,8 @@ at wasm_B (0:51):
- scope (local): - scope (local):
locals: "var0": 2 (number) locals: "var0": 2 (number)
stack: "0": 2 (number) stack: "0": 2 (number)
- scope (wasm-expression-stack):
0: 2 (number)
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -176,6 +201,9 @@ at wasm_B (0:53): ...@@ -176,6 +201,9 @@ at wasm_B (0:53):
- scope (local): - scope (local):
locals: "var0": 2 (number) locals: "var0": 2 (number)
stack: "0": 2 (number), "1": 1 (number) stack: "0": 2 (number), "1": 1 (number)
- scope (wasm-expression-stack):
0: 1 (number)
1: 2 (number)
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -186,6 +214,8 @@ at wasm_B (0:54): ...@@ -186,6 +214,8 @@ at wasm_B (0:54):
- scope (local): - scope (local):
locals: "var0": 2 (number) locals: "var0": 2 (number)
stack: "0": 1 (number) stack: "0": 1 (number)
- scope (wasm-expression-stack):
0: 1 (number)
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -195,11 +225,13 @@ at wasm_A (0:38): ...@@ -195,11 +225,13 @@ at wasm_A (0:38):
- scope (global): - scope (global):
- scope (local): - scope (local):
stack: stack:
- scope (wasm-expression-stack):
at wasm_B (0:56): at wasm_B (0:56):
- scope (global): - scope (global):
- scope (local): - scope (local):
locals: "var0": 1 (number) locals: "var0": 1 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -209,11 +241,13 @@ at wasm_A (0:39): ...@@ -209,11 +241,13 @@ at wasm_A (0:39):
- scope (global): - scope (global):
- scope (local): - scope (local):
stack: stack:
- scope (wasm-expression-stack):
at wasm_B (0:56): at wasm_B (0:56):
- scope (global): - scope (global):
- scope (local): - scope (local):
locals: "var0": 1 (number) locals: "var0": 1 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -224,6 +258,7 @@ at wasm_B (0:45): ...@@ -224,6 +258,7 @@ at wasm_B (0:45):
- scope (local): - scope (local):
locals: "var0": 1 (number) locals: "var0": 1 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -234,6 +269,8 @@ at wasm_B (0:47): ...@@ -234,6 +269,8 @@ at wasm_B (0:47):
- scope (local): - scope (local):
locals: "var0": 1 (number) locals: "var0": 1 (number)
stack: "0": 1 (number) stack: "0": 1 (number)
- scope (wasm-expression-stack):
0: 1 (number)
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -244,6 +281,7 @@ at wasm_B (0:49): ...@@ -244,6 +281,7 @@ at wasm_B (0:49):
- scope (local): - scope (local):
locals: "var0": 1 (number) locals: "var0": 1 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -254,6 +292,8 @@ at wasm_B (0:51): ...@@ -254,6 +292,8 @@ at wasm_B (0:51):
- scope (local): - scope (local):
locals: "var0": 1 (number) locals: "var0": 1 (number)
stack: "0": 1 (number) stack: "0": 1 (number)
- scope (wasm-expression-stack):
0: 1 (number)
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -264,6 +304,9 @@ at wasm_B (0:53): ...@@ -264,6 +304,9 @@ at wasm_B (0:53):
- scope (local): - scope (local):
locals: "var0": 1 (number) locals: "var0": 1 (number)
stack: "0": 1 (number), "1": 1 (number) stack: "0": 1 (number), "1": 1 (number)
- scope (wasm-expression-stack):
0: 1 (number)
1: 1 (number)
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -274,6 +317,8 @@ at wasm_B (0:54): ...@@ -274,6 +317,8 @@ at wasm_B (0:54):
- scope (local): - scope (local):
locals: "var0": 1 (number) locals: "var0": 1 (number)
stack: "0": 0 (number) stack: "0": 0 (number)
- scope (wasm-expression-stack):
0: 0 (number)
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -283,11 +328,13 @@ at wasm_A (0:38): ...@@ -283,11 +328,13 @@ at wasm_A (0:38):
- scope (global): - scope (global):
- scope (local): - scope (local):
stack: stack:
- scope (wasm-expression-stack):
at wasm_B (0:56): at wasm_B (0:56):
- scope (global): - scope (global):
- scope (local): - scope (local):
locals: "var0": 0 (number) locals: "var0": 0 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -297,11 +344,13 @@ at wasm_A (0:39): ...@@ -297,11 +344,13 @@ at wasm_A (0:39):
- scope (global): - scope (global):
- scope (local): - scope (local):
stack: stack:
- scope (wasm-expression-stack):
at wasm_B (0:56): at wasm_B (0:56):
- scope (global): - scope (global):
- scope (local): - scope (local):
locals: "var0": 0 (number) locals: "var0": 0 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -312,6 +361,7 @@ at wasm_B (0:45): ...@@ -312,6 +361,7 @@ at wasm_B (0:45):
- scope (local): - scope (local):
locals: "var0": 0 (number) locals: "var0": 0 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -322,6 +372,8 @@ at wasm_B (0:47): ...@@ -322,6 +372,8 @@ at wasm_B (0:47):
- scope (local): - scope (local):
locals: "var0": 0 (number) locals: "var0": 0 (number)
stack: "0": 0 (number) stack: "0": 0 (number)
- scope (wasm-expression-stack):
0: 0 (number)
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
Paused: Paused:
...@@ -332,6 +384,7 @@ at wasm_B (0:61): ...@@ -332,6 +384,7 @@ at wasm_B (0:61):
- scope (local): - scope (local):
locals: "var0": 0 (number) locals: "var0": 0 (number)
stack: stack:
- scope (wasm-expression-stack):
at (anonymous) (0:17): at (anonymous) (0:17):
-- skipped -- skipped
exports.main returned! exports.main returned!
......
...@@ -106,16 +106,14 @@ Protocol.Debugger.onPaused(async msg => { ...@@ -106,16 +106,14 @@ Protocol.Debugger.onPaused(async msg => {
}); });
async function getScopeValues(value) { async function getScopeValues(value) {
if (value.type != 'object') { if (value.type == 'object') {
InspectorTest.log('Expected object. Found:'); let msg = await Protocol.Runtime.getProperties({objectId: value.objectId});
InspectorTest.logObject(value); const printProperty = function(elem) {
return; return `"${elem.name}": ${elem.value.value} (${elem.value.type})`;
}
return msg.result.result.map(printProperty).join(', ');
} }
return value.value + ' (' + value.type + ')';
let msg = await Protocol.Runtime.getProperties({objectId: value.objectId});
let printProperty = elem => '"' + elem.name + '"' +
': ' + elem.value.value + ' (' + elem.value.type + ')';
return msg.result.result.map(printProperty).join(', ');
} }
(async function test() { (async function test() {
......
...@@ -14,6 +14,8 @@ at wasm_B (0:60): ...@@ -14,6 +14,8 @@ at wasm_B (0:60):
- scope (local): - scope (local):
locals: {"var0":3} locals: {"var0":3}
stack: {"0":1024} stack: {"0":1024}
- scope (wasm-expression-stack):
{"0":1024}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -25,12 +27,16 @@ at wasm_A (0:39): ...@@ -25,12 +27,16 @@ at wasm_A (0:39):
- scope (local): - scope (local):
locals: {"var0":1024} locals: {"var0":1024}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at wasm_B (0:60): at wasm_B (0:60):
- scope (global): - scope (global):
-- skipped -- skipped
- scope (local): - scope (local):
locals: {"var0":3} locals: {"var0":3}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -42,12 +48,16 @@ at wasm_A (0:40): ...@@ -42,12 +48,16 @@ at wasm_A (0:40):
- scope (local): - scope (local):
locals: {"var0":1024} locals: {"var0":1024}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at wasm_B (0:60): at wasm_B (0:60):
- scope (global): - scope (global):
-- skipped -- skipped
- scope (local): - scope (local):
locals: {"var0":3} locals: {"var0":3}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -59,6 +69,8 @@ at wasm_B (0:62): ...@@ -59,6 +69,8 @@ at wasm_B (0:62):
- scope (local): - scope (local):
locals: {"var0":3} locals: {"var0":3}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -70,6 +82,8 @@ at wasm_B (0:60): ...@@ -70,6 +82,8 @@ at wasm_B (0:60):
- scope (local): - scope (local):
locals: {"var0":2} locals: {"var0":2}
stack: {"0":1024} stack: {"0":1024}
- scope (wasm-expression-stack):
{"0":1024}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -81,6 +95,8 @@ at wasm_B (0:62): ...@@ -81,6 +95,8 @@ at wasm_B (0:62):
- scope (local): - scope (local):
locals: {"var0":2} locals: {"var0":2}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -92,6 +108,8 @@ at wasm_B (0:44): ...@@ -92,6 +108,8 @@ at wasm_B (0:44):
- scope (local): - scope (local):
locals: {"var0":2} locals: {"var0":2}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -103,6 +121,8 @@ at wasm_B (0:60): ...@@ -103,6 +121,8 @@ at wasm_B (0:60):
- scope (local): - scope (local):
locals: {"var0":1} locals: {"var0":1}
stack: {"0":1024} stack: {"0":1024}
- scope (wasm-expression-stack):
{"0":1024}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -114,12 +134,16 @@ at wasm_A (0:39): ...@@ -114,12 +134,16 @@ at wasm_A (0:39):
- scope (local): - scope (local):
locals: {"var0":1024} locals: {"var0":1024}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at wasm_B (0:60): at wasm_B (0:60):
- scope (global): - scope (global):
-- skipped -- skipped
- scope (local): - scope (local):
locals: {"var0":1} locals: {"var0":1}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -131,6 +155,8 @@ at wasm_B (0:62): ...@@ -131,6 +155,8 @@ at wasm_B (0:62):
- scope (local): - scope (local):
locals: {"var0":1} locals: {"var0":1}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -142,6 +168,8 @@ at wasm_B (0:44): ...@@ -142,6 +168,8 @@ at wasm_B (0:44):
- scope (local): - scope (local):
locals: {"var0":1} locals: {"var0":1}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -153,6 +181,8 @@ at wasm_B (0:46): ...@@ -153,6 +181,8 @@ at wasm_B (0:46):
- scope (local): - scope (local):
locals: {"var0":1} locals: {"var0":1}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -164,6 +194,8 @@ at wasm_B (0:48): ...@@ -164,6 +194,8 @@ at wasm_B (0:48):
- scope (local): - scope (local):
locals: {"var0":1} locals: {"var0":1}
stack: {"0":1} stack: {"0":1}
- scope (wasm-expression-stack):
{"0":1}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -175,6 +207,8 @@ at wasm_B (0:50): ...@@ -175,6 +207,8 @@ at wasm_B (0:50):
- scope (local): - scope (local):
locals: {"var0":1} locals: {"var0":1}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -186,6 +220,8 @@ at wasm_B (0:52): ...@@ -186,6 +220,8 @@ at wasm_B (0:52):
- scope (local): - scope (local):
locals: {"var0":1} locals: {"var0":1}
stack: {"0":1} stack: {"0":1}
- scope (wasm-expression-stack):
{"0":1}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -197,6 +233,8 @@ at wasm_B (0:54): ...@@ -197,6 +233,8 @@ at wasm_B (0:54):
- scope (local): - scope (local):
locals: {"var0":1} locals: {"var0":1}
stack: {"0":1,"1":1} stack: {"0":1,"1":1}
- scope (wasm-expression-stack):
{"0":1,"1":1}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -208,6 +246,8 @@ at wasm_B (0:55): ...@@ -208,6 +246,8 @@ at wasm_B (0:55):
- scope (local): - scope (local):
locals: {"var0":1} locals: {"var0":1}
stack: {"0":0} stack: {"0":0}
- scope (wasm-expression-stack):
{"0":0}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -219,6 +259,8 @@ at wasm_B (0:57): ...@@ -219,6 +259,8 @@ at wasm_B (0:57):
- scope (local): - scope (local):
locals: {"var0":0} locals: {"var0":0}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -230,6 +272,8 @@ at wasm_B (0:60): ...@@ -230,6 +272,8 @@ at wasm_B (0:60):
- scope (local): - scope (local):
locals: {"var0":0} locals: {"var0":0}
stack: {"0":1024} stack: {"0":1024}
- scope (wasm-expression-stack):
{"0":1024}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -241,12 +285,16 @@ at wasm_A (0:39): ...@@ -241,12 +285,16 @@ at wasm_A (0:39):
- scope (local): - scope (local):
locals: {"var0":1024} locals: {"var0":1024}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at wasm_B (0:60): at wasm_B (0:60):
- scope (global): - scope (global):
-- skipped -- skipped
- scope (local): - scope (local):
locals: {"var0":0} locals: {"var0":0}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -258,12 +306,16 @@ at wasm_A (0:40): ...@@ -258,12 +306,16 @@ at wasm_A (0:40):
- scope (local): - scope (local):
locals: {"var0":1024} locals: {"var0":1024}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at wasm_B (0:60): at wasm_B (0:60):
- scope (global): - scope (global):
-- skipped -- skipped
- scope (local): - scope (local):
locals: {"var0":0} locals: {"var0":0}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -275,12 +327,16 @@ at wasm_A (0:41): ...@@ -275,12 +327,16 @@ at wasm_A (0:41):
- scope (local): - scope (local):
locals: {"var0":1024} locals: {"var0":1024}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at wasm_B (0:60): at wasm_B (0:60):
- scope (global): - scope (global):
-- skipped -- skipped
- scope (local): - scope (local):
locals: {"var0":0} locals: {"var0":0}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -292,6 +348,8 @@ at wasm_B (0:62): ...@@ -292,6 +348,8 @@ at wasm_B (0:62):
- scope (local): - scope (local):
locals: {"var0":0} locals: {"var0":0}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
......
...@@ -113,9 +113,13 @@ async function waitForPauseAndStep(stepAction) { ...@@ -113,9 +113,13 @@ async function waitForPauseAndStep(stepAction) {
functionDeclaration: 'function() { return this; }', functionDeclaration: 'function() { return this; }',
returnByValue: true returnByValue: true
}); });
if (value.locals) if (scope.type === 'local') {
InspectorTest.log(` locals: ${JSON.stringify(value.locals)}`); if (value.locals)
InspectorTest.log(` stack: ${JSON.stringify(value.stack)}`); InspectorTest.log(` locals: ${JSON.stringify(value.locals)}`);
InspectorTest.log(` stack: ${JSON.stringify(value.stack)}`);
} else {
InspectorTest.log(` ${JSON.stringify(value)}`);
}
} }
} }
} }
......
...@@ -17,6 +17,8 @@ at wasm_B (0:54): ...@@ -17,6 +17,8 @@ at wasm_B (0:54):
- scope (local): - scope (local):
locals: {"var0":4} locals: {"var0":4}
stack: {"0":3} stack: {"0":3}
- scope (wasm-expression-stack):
{"0":3}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -28,6 +30,8 @@ at wasm_B (0:56): ...@@ -28,6 +30,8 @@ at wasm_B (0:56):
- scope (local): - scope (local):
locals: {"var0":3} locals: {"var0":3}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -38,12 +42,16 @@ at wasm_A (0:38): ...@@ -38,12 +42,16 @@ at wasm_A (0:38):
-- skipped -- skipped
- scope (local): - scope (local):
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at wasm_B (0:56): at wasm_B (0:56):
- scope (global): - scope (global):
-- skipped -- skipped
- scope (local): - scope (local):
locals: {"var0":3} locals: {"var0":3}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -54,12 +62,16 @@ at wasm_A (0:39): ...@@ -54,12 +62,16 @@ at wasm_A (0:39):
-- skipped -- skipped
- scope (local): - scope (local):
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at wasm_B (0:56): at wasm_B (0:56):
- scope (global): - scope (global):
-- skipped -- skipped
- scope (local): - scope (local):
locals: {"var0":3} locals: {"var0":3}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -71,6 +83,8 @@ at wasm_B (0:58): ...@@ -71,6 +83,8 @@ at wasm_B (0:58):
- scope (local): - scope (local):
locals: {"var0":3} locals: {"var0":3}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -82,6 +96,8 @@ at wasm_B (0:54): ...@@ -82,6 +96,8 @@ at wasm_B (0:54):
- scope (local): - scope (local):
locals: {"var0":3} locals: {"var0":3}
stack: {"0":2} stack: {"0":2}
- scope (wasm-expression-stack):
{"0":2}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -93,6 +109,8 @@ at wasm_B (0:56): ...@@ -93,6 +109,8 @@ at wasm_B (0:56):
- scope (local): - scope (local):
locals: {"var0":2} locals: {"var0":2}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -104,6 +122,8 @@ at wasm_B (0:58): ...@@ -104,6 +122,8 @@ at wasm_B (0:58):
- scope (local): - scope (local):
locals: {"var0":2} locals: {"var0":2}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -115,6 +135,8 @@ at wasm_B (0:54): ...@@ -115,6 +135,8 @@ at wasm_B (0:54):
- scope (local): - scope (local):
locals: {"var0":2} locals: {"var0":2}
stack: {"0":1} stack: {"0":1}
- scope (wasm-expression-stack):
{"0":1}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -126,6 +148,8 @@ at wasm_B (0:56): ...@@ -126,6 +148,8 @@ at wasm_B (0:56):
- scope (local): - scope (local):
locals: {"var0":1} locals: {"var0":1}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -136,12 +160,16 @@ at wasm_A (0:38): ...@@ -136,12 +160,16 @@ at wasm_A (0:38):
-- skipped -- skipped
- scope (local): - scope (local):
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at wasm_B (0:56): at wasm_B (0:56):
- scope (global): - scope (global):
-- skipped -- skipped
- scope (local): - scope (local):
locals: {"var0":1} locals: {"var0":1}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -153,6 +181,8 @@ at wasm_B (0:58): ...@@ -153,6 +181,8 @@ at wasm_B (0:58):
- scope (local): - scope (local):
locals: {"var0":1} locals: {"var0":1}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -164,6 +194,8 @@ at wasm_B (0:43): ...@@ -164,6 +194,8 @@ at wasm_B (0:43):
- scope (local): - scope (local):
locals: {"var0":1} locals: {"var0":1}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -175,6 +207,8 @@ at wasm_B (0:45): ...@@ -175,6 +207,8 @@ at wasm_B (0:45):
- scope (local): - scope (local):
locals: {"var0":1} locals: {"var0":1}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -186,6 +220,8 @@ at wasm_B (0:47): ...@@ -186,6 +220,8 @@ at wasm_B (0:47):
- scope (local): - scope (local):
locals: {"var0":1} locals: {"var0":1}
stack: {"0":1} stack: {"0":1}
- scope (wasm-expression-stack):
{"0":1}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -197,6 +233,8 @@ at wasm_B (0:49): ...@@ -197,6 +233,8 @@ at wasm_B (0:49):
- scope (local): - scope (local):
locals: {"var0":1} locals: {"var0":1}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -208,6 +246,8 @@ at wasm_B (0:51): ...@@ -208,6 +246,8 @@ at wasm_B (0:51):
- scope (local): - scope (local):
locals: {"var0":1} locals: {"var0":1}
stack: {"0":1} stack: {"0":1}
- scope (wasm-expression-stack):
{"0":1}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -219,6 +259,8 @@ at wasm_B (0:53): ...@@ -219,6 +259,8 @@ at wasm_B (0:53):
- scope (local): - scope (local):
locals: {"var0":1} locals: {"var0":1}
stack: {"0":1,"1":1} stack: {"0":1,"1":1}
- scope (wasm-expression-stack):
{"0":1,"1":1}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -230,6 +272,8 @@ at wasm_B (0:54): ...@@ -230,6 +272,8 @@ at wasm_B (0:54):
- scope (local): - scope (local):
locals: {"var0":1} locals: {"var0":1}
stack: {"0":0} stack: {"0":0}
- scope (wasm-expression-stack):
{"0":0}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -241,6 +285,8 @@ at wasm_B (0:56): ...@@ -241,6 +285,8 @@ at wasm_B (0:56):
- scope (local): - scope (local):
locals: {"var0":0} locals: {"var0":0}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -251,12 +297,16 @@ at wasm_A (0:38): ...@@ -251,12 +297,16 @@ at wasm_A (0:38):
-- skipped -- skipped
- scope (local): - scope (local):
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at wasm_B (0:56): at wasm_B (0:56):
- scope (global): - scope (global):
-- skipped -- skipped
- scope (local): - scope (local):
locals: {"var0":0} locals: {"var0":0}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -267,12 +317,16 @@ at wasm_A (0:39): ...@@ -267,12 +317,16 @@ at wasm_A (0:39):
-- skipped -- skipped
- scope (local): - scope (local):
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at wasm_B (0:56): at wasm_B (0:56):
- scope (global): - scope (global):
-- skipped -- skipped
- scope (local): - scope (local):
locals: {"var0":0} locals: {"var0":0}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -283,12 +337,16 @@ at wasm_A (0:40): ...@@ -283,12 +337,16 @@ at wasm_A (0:40):
-- skipped -- skipped
- scope (local): - scope (local):
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at wasm_B (0:56): at wasm_B (0:56):
- scope (global): - scope (global):
-- skipped -- skipped
- scope (local): - scope (local):
locals: {"var0":0} locals: {"var0":0}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
...@@ -300,6 +358,8 @@ at wasm_B (0:58): ...@@ -300,6 +358,8 @@ at wasm_B (0:58):
- scope (local): - scope (local):
locals: {"var0":0} locals: {"var0":0}
stack: {} stack: {}
- scope (wasm-expression-stack):
{}
at (anonymous) (0:17): at (anonymous) (0:17):
- scope (global): - scope (global):
-- skipped -- skipped
......
...@@ -111,9 +111,14 @@ async function waitForPauseAndStep(stepAction) { ...@@ -111,9 +111,14 @@ async function waitForPauseAndStep(stepAction) {
functionDeclaration: 'function() { return this; }', functionDeclaration: 'function() { return this; }',
returnByValue: true returnByValue: true
}); });
if (value.locals)
InspectorTest.log(` locals: ${JSON.stringify(value.locals)}`); if (scope.type === 'local') {
InspectorTest.log(` stack: ${JSON.stringify(value.stack)}`); if (value.locals)
InspectorTest.log(` locals: ${JSON.stringify(value.locals)}`);
InspectorTest.log(` stack: ${JSON.stringify(value.stack)}`);
} else {
InspectorTest.log(` ${JSON.stringify(value)}`);
}
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment