| // Copyright 2018 the V8 project authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| load("test/mjsunit/wasm/wasm-module-builder.js"); |
| |
| Debug = debug.Debug |
| |
| function listener(event, exec_state, event_data, data) { |
| if (event == Debug.DebugEvent.AfterCompile) { |
| // The actual source doesn't matter, just don't crash. |
| var source = event_data.script().source(); |
| // Source will be empty for the script representing the entire module, |
| // disassembly for the script representing just the function. |
| assertTrue(source == "func $main\nend\n" || source == ""); |
| } |
| }; |
| |
| // Add the debug event listener. |
| Debug.setListener(listener); |
| |
| var builder = new WasmModuleBuilder(); |
| builder.addFunction('main', kSig_v_v).addBody([]).exportFunc(); |
| var promise = WebAssembly.compile(builder.toBuffer()); |
| |
| // Clear the debug listener only after the event fired. |
| promise.then(() => Debug.setListener(null), assertUnreachable); |