-
Notifications
You must be signed in to change notification settings - Fork 242
JIT compiler update #583
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JIT compiler update #583
Conversation
|
funny enough we are already testing in 64bit ARM, which is what the macOS runner has. for the rest we are still relying in the "mostly emulated" SLJIT "CI", but agree setting up our own workers for the rest would be useful. |
carenas
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how is this going to affect RISCV, knowing we have a problem there with SIMD that could result in crashes?
| /* Main pcre2_jit_exec entry. */ | ||
| SLJIT_ASSERT((private_data_size & (sizeof(sljit_sw) - 1)) == 0); | ||
| sljit_emit_enter(compiler, 0, SLJIT_ARGS1(W, W), 5 | SLJIT_ENTER_FLOAT(SLJIT_NUMBER_OF_SCRATCH_FLOAT_REGISTERS), 5, private_data_size); | ||
| sljit_emit_enter(compiler, 0, SLJIT_ARGS1(W, W), 5 | SLJIT_ENTER_VECTOR(SLJIT_NUMBER_OF_SCRATCH_VECTOR_REGISTERS), 5, private_data_size); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is SLJIT SIMD really being used now, or this is an abstraction that leaked?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The x86 uses the simd interface. Now the simd interface has correct vector register handling.
I did not have time to merge the others and simplify those platforms.
|
I seem to have a problem here. When I updated with this PR, I got this error: I can't find a definition for SLJIT_ENTER_VECTOR anywhere in the source. What am I doing wrong? |
|
what |
|
Thank you! I keep forgetting that I have to fetch deps/sljit separately. |
Testing on some non-x86 cpus could be added to CI at some point (ARM, x390x)