// 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);