e3f21e6ddd
As per WebAssembly Web API[1], the engine should only consider names from the name section to synthesize function names in the context of call stacks. We previously also added support to harvest the exports table here in an attempt to improve the DevTools debugging experience, but that needs a separate fix specifically for the inspector (which should also take into account the imports to harvest names). [1]: https://webassembly.github.io/spec/web-api/index.html#conventions Fixed: chromium:1164305 Change-Id: I4bde5c8398a5164f1d8ac9060ad3743ed494c41e Bug: chromium:1159307, chromium:1164241, chromium:1071432 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2874464 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74382}
23 lines
640 B
JavaScript
23 lines
640 B
JavaScript
// 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.
|
|
|
|
// Flags: --expose-wasm --no-stress-opt
|
|
|
|
load('test/mjsunit/mjsunit.js');
|
|
load('test/mjsunit/wasm/wasm-module-builder.js');
|
|
|
|
var builder = new WasmModuleBuilder();
|
|
builder.setName('test-module');
|
|
builder.addFunction('main', kSig_i_v)
|
|
.addBody([kExprUnreachable])
|
|
.exportAs('main');
|
|
let buffer = builder.toBuffer();
|
|
assertPromiseResult(WebAssembly.instantiate(buffer), pair => {
|
|
try {
|
|
pair.instance.exports.main();
|
|
} catch (e) {
|
|
print(e.stack);
|
|
}
|
|
});
|