Repository navigation
Conversation
|
I can only review this in the evening, but can you please explain the analysis and reasoning in the PR so I don't have to fully reconstruct it? |
Sure. When a call in the trace throws, the JIT code leaves through The fix sets ZREG_STORE on CVs of op_arrays with try/catch in |
ndossche
left a comment
There was a problem hiding this comment.
I think this fix is the "nuclear option", it will work but it penalizes a lot of vars independent if the trace actually is contained within exception handling.
You can narrow the condition so that only ops that fall between try_op and finally/catch op are getting ZREG_STORE. Look at zend_dispatch_try_catch_finally_helper for inspiration.
Although I wonder if that's also not a bit too broad of a fix..
Also this PR should target 8.4 not master
Should also fix GH-24798