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
Move JIT check to BigInteger #1942
Conversation
First, I apologize for the delay. I'm currently vacationing and am doing a bunch of outdoorsy stuff wherein I don't have access to my computer. Anyway, I'm kinda confused by this. How does Psalm v5 enable JIT by default? Using the install instructions at https://psalm.dev/docs/running_psalm/installation/ (either with Composer or the Phar) it'd use your existing PHP setup. That said, I suppose that's somewhat immaterial to the merits of the proposed change. So in-so-far as those are concerned... I can see pros and cons of going with either approach. Pros of the current approach Pros of your approach A Possible Middleground? Then, in The advantage of doing that vs what you're doing is that people can still use the GMP or BCMath engines on Windows even when JIT is enabled. |
Hi, thank you for the review!
Sorry, should've been more detailed in the description of the PR :) Using tracing JIT can probably raise that number even more but as you saw, tracing JIT is quite buggy right now, plus function JIT does not rely on runtime type information, so bugs are more easily reproducible than with tracing JIT.
Thank you, implemented the changes you suggested: I did it without the additional Also, I've kept the |
Will there be a release which includes this change? If I see right, the latest 3.0.23 doesn't include it. |
I'll try to do a release this week. |
3.0.33 has been released! |
Yes, I saw. Thanks a lot. |
@terrafrost @danog The exception added with this PR seems to create issue for us, as we are using the bcmath polyfill |
This fixes static analysis with Psalm v5 (which enables JIT by default) of projects which require phpseclib as a dependency.