diff options
author | 2022-08-10 13:41:43 -0700 | |
---|---|---|
committer | 2022-08-10 13:41:43 -0700 | |
commit | 67cdf1c9b3aaeb823b513e85ca88dab6ce49897f (patch) | |
tree | ecdf4c7370e3143a934585b357d7471d333f10d4 | |
parent | 1eddf254e12c08f9c323d94797ae4e37527372d6 (diff) | |
download | bun-67cdf1c9b3aaeb823b513e85ca88dab6ce49897f.tar.gz bun-67cdf1c9b3aaeb823b513e85ca88dab6ce49897f.tar.zst bun-67cdf1c9b3aaeb823b513e85ca88dab6ce49897f.zip |
Commit snapshot
-rw-r--r-- | test/bun.js/ffi.test.fixture.callback.c | 6 | ||||
-rw-r--r-- | test/bun.js/ffi.test.fixture.receiver.c | 10 |
2 files changed, 12 insertions, 4 deletions
diff --git a/test/bun.js/ffi.test.fixture.callback.c b/test/bun.js/ffi.test.fixture.callback.c index 3c1a95d47..4c1361093 100644 --- a/test/bun.js/ffi.test.fixture.callback.c +++ b/test/bun.js/ffi.test.fixture.callback.c @@ -14,6 +14,8 @@ #define USE_JSVALUE64 1 #define USE_JSVALUE32_64 0 +#define ZIG_REPR_TYPE int64_t + // /* 7.18.1.1 Exact-width integer types */ typedef unsigned char uint8_t; @@ -81,6 +83,8 @@ typedef union EncodedJSValue { void* asPtr; double asDouble; + + ZIG_REPR_TYPE asZigRepr; } EncodedJSValue; EncodedJSValue ValueUndefined = { TagValueUndefined }; @@ -245,7 +249,7 @@ static EncodedJSValue INT64_TO_JSVALUE(void* globalObject, int64_t val) { } #ifndef IS_CALLBACK -void* JSFunctionCall(void* globalObject, void* callFrame); +ZIG_REPR_TYPE JSFunctionCall(void* globalObject, void* callFrame); #endif diff --git a/test/bun.js/ffi.test.fixture.receiver.c b/test/bun.js/ffi.test.fixture.receiver.c index 90ef5072a..6e1795919 100644 --- a/test/bun.js/ffi.test.fixture.receiver.c +++ b/test/bun.js/ffi.test.fixture.receiver.c @@ -15,6 +15,8 @@ #define USE_JSVALUE64 1 #define USE_JSVALUE32_64 0 +#define ZIG_REPR_TYPE int64_t + // /* 7.18.1.1 Exact-width integer types */ typedef unsigned char uint8_t; @@ -82,6 +84,8 @@ typedef union EncodedJSValue { void* asPtr; double asDouble; + + ZIG_REPR_TYPE asZigRepr; } EncodedJSValue; EncodedJSValue ValueUndefined = { TagValueUndefined }; @@ -246,7 +250,7 @@ static EncodedJSValue INT64_TO_JSVALUE(void* globalObject, int64_t val) { } #ifndef IS_CALLBACK -void* JSFunctionCall(void* globalObject, void* callFrame); +ZIG_REPR_TYPE JSFunctionCall(void* globalObject, void* callFrame); #endif @@ -257,12 +261,12 @@ float not_a_callback(float arg0); /* ---- Your Wrapper Function ---- */ -void* JSFunctionCall(void* globalObject, void* callFrame) { +ZIG_REPR_TYPE JSFunctionCall(void* globalObject, void* callFrame) { LOAD_ARGUMENTS_FROM_CALL_FRAME; EncodedJSValue arg0; arg0.asInt64 = *argsPtr; float return_value = not_a_callback( JSVALUE_TO_FLOAT(arg0)); - return FLOAT_TO_JSVALUE(return_value).asPtr; + return FLOAT_TO_JSVALUE(return_value).asZigRepr; } |