File tree Expand file tree Collapse file tree 1 file changed +10
-1
lines changed
Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -2232,7 +2232,16 @@ static MonoInst*
22322232mono_emit_widen_call_res (MonoCompile * cfg , MonoInst * ins , MonoMethodSignature * fsig )
22332233{
22342234 if (!MONO_TYPE_IS_VOID (fsig -> ret )) {
2235- if ((fsig -> pinvoke || LLVM_ENABLED ) && !m_type_is_byref (fsig -> ret )) {
2235+ // FIXME
2236+ // LLVM code doesn't uses zero extend the full word while jit expects it.
2237+ // A proper fix would be to detect if we are actually using llvm code from aot images
2238+ // or make sure llvm code actually zero extends the return.
2239+ #ifdef MONO_ARCH_LLVM_SUPPORTED
2240+ gboolean might_use_llvm = TRUE;
2241+ #else
2242+ gboolean might_use_llvm = FALSE;
2243+ #endif
2244+ if ((fsig -> pinvoke || might_use_llvm ) && !m_type_is_byref (fsig -> ret )) {
22362245 int widen_op = -1 ;
22372246
22382247 /*
You can’t perform that action at this time.
0 commit comments