File tree Expand file tree Collapse file tree 1 file changed +11
-0
lines changed
Expand file tree Collapse file tree 1 file changed +11
-0
lines changed Original file line number Diff line number Diff line change @@ -3227,8 +3227,19 @@ typedef uint32x4_t __m128i;
32273227#endif /* end of WASM_ENABLE_SIMD != 0 */
32283228
32293229typedef void (* GenericFunctionPointer )();
3230+ #if defined(__APPLE__ ) || defined(__MACH__ )
3231+ /**
3232+ * Define the return type as 'void' in MacOS, since after converting
3233+ * 'int64 invokeNative' into 'float64 invokeNative_Float64', the
3234+ * return value passing might be invalid, the caller reads the return
3235+ * value from register rax but not xmm0.
3236+ */
3237+ void
3238+ invokeNative (GenericFunctionPointer f , uint64 * args , uint64 n_stacks );
3239+ #else
32303240int64
32313241invokeNative (GenericFunctionPointer f , uint64 * args , uint64 n_stacks );
3242+ #endif
32323243
32333244typedef float64 (* Float64FuncPtr )(GenericFunctionPointer , uint64 * , uint64 );
32343245typedef float32 (* Float32FuncPtr )(GenericFunctionPointer , uint64 * , uint64 );
You can’t perform that action at this time.
0 commit comments