summaryrefslogtreecommitdiff
path: root/test_ffi/tests/test.js
diff options
context:
space:
mode:
authorAapo Alasuutari <aapo.alasuutari@gmail.com>2022-07-12 05:50:20 +0300
committerGitHub <noreply@github.com>2022-07-12 08:20:20 +0530
commitd725cb28ca353b55a575856a76b11630be575ec1 (patch)
treee4bb20981bdf5c77f258053930b42b0babc0650c /test_ffi/tests/test.js
parent77d065e034db7ed21a0e110bbbfc5eb5287d009c (diff)
feat(ext/ffi): Support 64 bit parameters in Fast API calls (#15140)
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
Diffstat (limited to 'test_ffi/tests/test.js')
-rw-r--r--test_ffi/tests/test.js9
1 files changed, 8 insertions, 1 deletions
diff --git a/test_ffi/tests/test.js b/test_ffi/tests/test.js
index 4e05be3ed..ff81f302e 100644
--- a/test_ffi/tests/test.js
+++ b/test_ffi/tests/test.js
@@ -55,6 +55,7 @@ const dylib = Deno.dlopen(libPath, {
"add_u64": { parameters: ["u64", "u64"], result: "u64" },
"add_i64": { parameters: ["i64", "i64"], result: "i64" },
"add_usize": { parameters: ["usize", "usize"], result: "usize" },
+ "add_usize_fast": { parameters: ["usize", "usize"], result: "u32" },
"add_isize": { parameters: ["isize", "isize"], result: "isize" },
"add_f32": { parameters: ["f32", "f32"], result: "f32" },
"add_f64": { parameters: ["f64", "f64"], result: "f64" },
@@ -241,7 +242,7 @@ const before = performance.now();
await sleepNonBlocking.call(100);
console.log(performance.now() - before >= 100);
-const { add_u32 } = symbols;
+const { add_u32, add_usize_fast } = symbols;
function addU32Fast(a, b) {
return add_u32(a, b);
};
@@ -251,6 +252,12 @@ console.log(addU32Fast(123, 456));
%OptimizeFunctionOnNextCall(addU32Fast);
console.log(addU32Fast(123, 456));
+function addU64Fast(a, b) { return add_usize_fast(a, b); };
+%PrepareFunctionForOptimization(addU64Fast);
+console.log(addU64Fast(2, 3));
+%OptimizeFunctionOnNextCall(addU64Fast);
+console.log(addU64Fast(2, 3));
+
console.log(dylib.symbols.add_i32(123, 456));
console.log(dylib.symbols.add_u64(0xffffffffn, 0xffffffffn));
console.log(dylib.symbols.add_i64(-0xffffffffn, -0xffffffffn));