| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
Ping @colesbury, @Yhg1s. Sorry to bug you guys with two PRs this weekend. Please consider this one an experiment and let me know if it is worth continuing with, and if so what would need to be changed? |
Sorry, something went wrong.
Sorry, something went wrong.
…seTuple() (pythonGH-128374) Non-tuple sequences are deprecated as argument for the "(items)" format unit in PyArg_ParseTuple() and other argument parsing functions if items contains format units which store borrowed buffer or reference (e.g. "s" and "O"). str and bytearray are no longer accepted as valid sequences.
|
Closing due to lack of feedback |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Before anything, I'm not very familiar with the jit system so what I did to the ITER_RANGE micro-ops is maybe not in line with the master plan (In the sense of removing a uop, jit does run). But this PR does pass the test from: 1533d1d (which has been added here), and succeeds on the script from: #131199. TSAN also doesn't complain on them.
The fast range iterator has been made free-thread safe by reducing the state to a single variable, calculating the length each time it is needed is not horrible. Removed _ITER_JUMP_RANGE because the length guard needs to be atomic in _ITER_NEXT_RANGE, it can always be put back as a noop or extra check.
Removed the _PyObject_IsUniquelyReferenced() checks from FOR_ITER_RANGE opcode as they are no longer needed.
Took consideration of performance concern in: #129068, timings for this case are as follows:
New gil-enabled build is probably a little faster due to the removal of _ITER_JUMP_RANGE.
Script:
Latest pyperformance bench gives 1% IMPROVEMENT for this PR in free-threaded over main (probably just variance).
There are three jit test_capi.test_opt tests which fail now, which looks like due to the changes to the micro-op behavior.
P.S. No idea why the "generated files up to date" test fails, I did regen-all.