Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #142 , fixes #658 for me without breaking our game on Linux (Ubuntu 22.04).
I'm not very sure what I'm doing, so here is some description:
I found that Linux & Windows have different set of CPU registers (if I use the same cpu set, I have segfault)
hashlink/src/jit.c
Lines 227 to 239 in 8bc5f8f
Esi, Edi are used in Linux, however they are not 8 bit register (remove the id check on RCPU fixes the issues, but will make our game to exit "normally" without actually run and I don't understand why)
hashlink/src/jit.c
Lines 542 to 544 in 8bc5f8f
The UI8 op failed during a MOV8 (called by copy-copyfrom), with a RCPU id = 1, b RCPU id = 7 (Edi)
hashlink/src/jit.c
Lines 552 to 554 in 8bc5f8f
So I move the
!is_reg8(from)
also for the case when to.kind = RCPU. I also force the Reg choice toRCPU_8BITS
because by the name it make sens, but it seems not necessary for the fix.