Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(420)

Unified Diff: test/mjsunit/wasm/asm-wasm.js

Issue 1729833002: Add wasm internal opcodes for asm.js stdlib functions we're missing. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: merge Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« src/wasm/asm-wasm-builder.cc ('K') | « src/wasm/asm-wasm-builder.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/mjsunit/wasm/asm-wasm.js
diff --git a/test/mjsunit/wasm/asm-wasm.js b/test/mjsunit/wasm/asm-wasm.js
index 8e46691e35a1f52fcb38214666731ec8fd33e729..47f3555d1b0a9315600ca9204c400848603a44e1 100644
--- a/test/mjsunit/wasm/asm-wasm.js
+++ b/test/mjsunit/wasm/asm-wasm.js
@@ -1312,6 +1312,13 @@ TestForeignVariables();
function Module(stdlib) {
"use asm";
+ var StdlibMathCeil = stdlib.Math.ceil;
+ var StdlibMathFloor = stdlib.Math.floor;
+ var StdlibMathSqrt = stdlib.Math.sqrt;
+ var StdlibMathAbs = stdlib.Math.abs;
+ var StdlibMathMin = stdlib.Math.min;
+ var StdlibMathMax = stdlib.Math.max;
+
var StdlibMathAcos = stdlib.Math.acos;
var StdlibMathAsin = stdlib.Math.asin;
var StdlibMathAtan = stdlib.Math.atan;
@@ -1320,15 +1327,18 @@ TestForeignVariables();
var StdlibMathTan = stdlib.Math.tan;
var StdlibMathExp = stdlib.Math.exp;
var StdlibMathLog = stdlib.Math.log;
+
var StdlibMathCeil = stdlib.Math.ceil;
var StdlibMathFloor = stdlib.Math.floor;
var StdlibMathSqrt = stdlib.Math.sqrt;
var StdlibMathAbs = stdlib.Math.abs;
var StdlibMathMin = stdlib.Math.min;
var StdlibMathMax = stdlib.Math.max;
+
var StdlibMathAtan2 = stdlib.Math.atan2;
var StdlibMathPow = stdlib.Math.pow;
var StdlibMathImul = stdlib.Math.imul;
+
var fround = stdlib.Math.fround;
function caller() {
@@ -1347,14 +1357,39 @@ TestForeignVariables();
if (StdlibMathMax(123.4, 1236.4) != 1236.4) return 0;
if (StdlibMathMax(fround(123.4), fround(1236.4))
!= fround(1236.4)) return 0;
+
+ if (StdlibMathAcos(0.1) != 1.4706289056333368) return 0;
+ if (StdlibMathAsin(0.2) != 0.2013579207903308) return 0;
+ if (StdlibMathAtan(0.2) != 0.19739555984988078) return 0;
+ if (StdlibMathCos(0.2) != 0.9800665778412416) return 0;
+ if (StdlibMathSin(0.2) != 0.19866933079506122) return 0;
+ if (StdlibMathTan(0.2) != 0.2027100355086725) return 0;
+ if (StdlibMathExp(0.2) != 1.2214027581601699) return 0;
+ if (StdlibMathLog(0.2) != -1.6094379124341003) return 0;
+
if (StdlibMathImul(6, 7) != 42) return 0;
+ if (StdlibMathAtan2(6.0, 7.0) != 0.7086262721276703) return 0;
+ if (StdlibMathPow(6.0, 7.0) != 279936.0) return 0;
+
return 1;
}
return {caller:caller};
}
- var m = _WASMEXP_.instantiateModuleFromAsm(Module.toString());
+ var env = {
+ _acos: Math.acos,
+ _asin: Math.asin,
+ _atan: Math.atan,
+ _cos: Math.cos,
+ _sin: Math.sin,
+ _tan: Math.tan,
+ _exp: Math.exp,
+ _log: Math.log,
+ _atan2: Math.atan2,
+ _pow: Math.pow,
+ };
+ var m = _WASMEXP_.instantiateModuleFromAsm(Module.toString(), env);
assertEquals(1, m.caller());
})();
« src/wasm/asm-wasm-builder.cc ('K') | « src/wasm/asm-wasm-builder.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698