| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
|
Just so I'm clear: you plan to move this to the thread state later but only on main right? So that we don't change the struct layout in an rc for 3.14? |
Sorry, something went wrong.
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
|
Can you please add a Py_NO_INLINE to the _PyOptimizer_Optimize function too? I don't think this will fix it as if it's inlined, the alloca might be hoisted out to the main interpreter loop by the compiler. |
Sorry, something went wrong.
Yes, but not in this PR as it seems unrelated |
Sorry, something went wrong.
Yes, that's the plan. |
Sorry, something went wrong.
| OPT_STAT_INC(optimizer_attempts); | ||
| /* Make sure we have enough C stack space for the optimizer */ | ||
| int margin = 1 + sizeof(JitOptContext)/_PyOS_STACK_MARGIN_BYTES; | ||
| if (_Py_ReachedRecursionLimitWithMargin(_PyThreadState_GET(), margin)) { |
There was a problem hiding this comment.
To work properly, the optimize_uops function or this function must be marked Py_NO_INLINE as well.
Otherwise, the compiler can just inline the functions and hoist the alloca above the check, making the check useless.
Sorry, something went wrong.
|
We've already started moving the buffers to the heap, so this won't be needed. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.