diff options
Diffstat (limited to 'test_ffi/tests')
-rw-r--r-- | test_ffi/tests/bench.js | 12 | ||||
-rw-r--r-- | test_ffi/tests/integration_tests.rs | 2 | ||||
-rw-r--r-- | test_ffi/tests/test.js | 9 |
3 files changed, 20 insertions, 3 deletions
diff --git a/test_ffi/tests/bench.js b/test_ffi/tests/bench.js index e611d9f3c..54a9e0acc 100644 --- a/test_ffi/tests/bench.js +++ b/test_ffi/tests/bench.js @@ -272,12 +272,20 @@ Deno.bench("nop_i64()", () => { }); const { nop_usize } = dylib.symbols; -Deno.bench("nop_usize()", () => { +Deno.bench("nop_usize() number", () => { + nop_usize(100); +}); + +Deno.bench("nop_usize() bigint", () => { nop_usize(100n); }); const { nop_isize } = dylib.symbols; -Deno.bench("nop_isize()", () => { +Deno.bench("nop_isize() number", () => { + nop_isize(100); +}); + +Deno.bench("nop_isize() bigint", () => { nop_isize(100n); }); diff --git a/test_ffi/tests/integration_tests.rs b/test_ffi/tests/integration_tests.rs index 4982ffad5..26de8ce0d 100644 --- a/test_ffi/tests/integration_tests.rs +++ b/test_ffi/tests/integration_tests.rs @@ -63,6 +63,8 @@ fn basic() { true\n\ 579\n\ 579\n\ + 5\n\ + 5\n\ 579\n\ 8589934590n\n\ -8589934590n\n\ 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)); |