blob: dea6581eb808dc74c6fbf772ec146aabff70f33c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
// |jit-test| skip-if: !wasmDebuggingEnabled()
(function() {
let g = newGlobal({newCompartment: true});
let dbg = new Debugger(g);
g.eval(`o = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary('(module (func (param externref) (result externref) local.get 0) (export "" (func 0)))')));`);
})();
(function() {
var g = newGlobal({newCompartment: true});
g.parent = this;
let src = `
(module
(func (export "func") (param $ref externref) (result externref)
local.get $ref
)
)
`;
g.eval(`
var obj = { somekey: 'somevalue' };
Debugger(parent).onEnterFrame = function(frame) {
let v = frame.environment.getVariable('var0');
assertEq(typeof v, 'object');
let prop = v.unwrap().getOwnPropertyDescriptor('somekey');
assertEq(typeof prop, 'object');
assertEq(typeof prop.value, 'string');
assertEq(prop.value, 'somevalue');
// Disable onEnterFrame hook.
Debugger(parent).onEnterFrame = undefined;
};
`);
new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(`${src}`))).exports.func(g.obj);
})();
|