dd11f9799e
Fix the string representation of functions exported from asm.js modules in the presence of imported functions. R=jkummerow@chromium.org Bug: chromium:1045767, chromium:667678 Change-Id: I55714252036511598eeec7fe7b81985213f7e4f2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2022142 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65993}
29 lines
728 B
JavaScript
29 lines
728 B
JavaScript
// Copyright 2016 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: --validate-asm
|
|
|
|
function Module(stdlib, foreign, buffer) {
|
|
"use asm";
|
|
function foo() {}
|
|
return {bar: foo};
|
|
}
|
|
|
|
var func = Module({}, {}, new ArrayBuffer(65536)).bar;
|
|
assertEquals("Module", Module.name);
|
|
assertEquals("foo", func.name);
|
|
assertEquals("function foo() {}", func.toString());
|
|
|
|
function imp() {}
|
|
function Module2(stdlib, imports) {
|
|
"use asm";
|
|
var imp = imports.imp;
|
|
function bar() {}
|
|
return {bar: bar};
|
|
}
|
|
|
|
var bar = Module2({}, {imp: imp}).bar;
|
|
assertEquals("bar", bar.name);
|
|
assertEquals("function bar() {}", bar.toString());
|