0
0
mirror of https://github.com/python/cpython.git synced 2024-12-01 11:15:56 +01:00
cpython/Python
Brett Simmers 2731913dd5
gh-116167: Allow disabling the GIL with PYTHON_GIL=0 or -X gil=0 (#116338)
In free-threaded builds, running with `PYTHON_GIL=0` will now disable the
GIL. Follow-up issues track work to re-enable the GIL when loading an
incompatible extension, and to disable the GIL by default.

In order to support re-enabling the GIL at runtime, all GIL-related data
structures are initialized as usual, and disabling the GIL simply sets a flag
that causes `take_gil()` and `drop_gil()` to return early.
2024-03-11 11:02:58 -04:00
..
clinic GH-114695: Add sys._clear_internal_caches (GH-115152) 2024-02-12 09:04:36 +00:00
deepfreeze
frozen_modules
_warnings.c
adaptive.md
asdl.c
asm_trampoline.S
assemble.c
ast_opt.c
ast_unparse.c
ast.c
bltinmodule.c gh-116437: Use new C API PyDict_Pop() to simplify the code (GH-116438) 2024-03-07 11:21:08 +02:00
bootstrap_hash.c
brc.c gh-112175: Add eval_breaker to PyThreadState (#115194) 2024-02-20 09:57:48 -05:00
bytecodes.c GH-116468: Use constants instead of oparg in stack effects when oparg is known to be a constant. (GH-116469) 2024-03-11 09:30:15 +00:00
ceval_gil.c gh-116167: Allow disabling the GIL with PYTHON_GIL=0 or -X gil=0 (#116338) 2024-03-11 11:02:58 -04:00
ceval_macros.h gh-116098: Revert "gh-107674: Improve performance of sys.settrace (GH-114986)" (GH-116178) 2024-03-01 07:46:33 +01:00
ceval.c gh-116098: Revert "gh-107674: Improve performance of sys.settrace (GH-114986)" (GH-116178) 2024-03-01 07:46:33 +01:00
codecs.c
compile.c gh-111789: Use PyDict_GetItemRef() in Python/compile.c (GH-112083) 2024-02-23 12:35:27 +01:00
condvar.h gh-104530: Enable native Win32 condition variables by default (GH-104531) 2024-02-02 13:50:51 +00:00
context.c gh-111968: Split _Py_dictkeys_freelist out of _Py_dict_freelist (gh-115505) 2024-02-16 01:01:36 +00:00
critical_section.c
crossinterp_data_lookup.h gh-76785: Improved Subinterpreters Compatibility with 3.12 (gh-115424) 2024-02-13 14:56:49 -07:00
crossinterp_exceptions.h gh-76785: Improved Subinterpreters Compatibility with 3.12 (gh-115424) 2024-02-13 14:56:49 -07:00
crossinterp.c gh-76785: Improved Subinterpreters Compatibility with 3.12 (gh-115424) 2024-02-13 14:56:49 -07:00
dtoa.c
dup2.c
dynamic_annotations.c
dynload_hpux.c
dynload_shlib.c
dynload_stub.c
dynload_win.c
emscripten_signal.c
emscripten_trampoline.c
errors.c
executor_cases.c.h GH-116468: Use constants instead of oparg in stack effects when oparg is known to be a constant. (GH-116469) 2024-03-11 09:30:15 +00:00
fileutils.c
flowgraph.c gh-115796: fix exception table construction in _testinternalcapi.assemble_code_object (#115797) 2024-02-22 12:36:44 +00:00
formatter_unicode.c
frame.c Remove unused Py_XDECREF from _PyFrame_ClearExceptCode (GH-106158) 2024-02-01 18:26:22 +02:00
frozen.c
frozenmain.c
future.c
gc_free_threading.c gh-112075: Support freeing object memory via QSBR (#116344) 2024-03-08 09:56:36 -08:00
gc_gil.c gh-111968: Rename freelist related struct names to Eric's suggestion (gh-115329) 2024-02-14 00:32:51 +00:00
gc.c gh-110850: Use public PyTime functions (#115746) 2024-02-20 23:31:30 +00:00
generated_cases.c.h GH-116468: Use constants instead of oparg in stack effects when oparg is known to be a constant. (GH-116469) 2024-03-11 09:30:15 +00:00
getargs.c gh-116447: Fix possible UB in arraymodule and getargs (#116459) 2024-03-08 13:49:52 +03:00
getcompiler.c
getcopyright.c
getopt.c
getplatform.c
getversion.c
hamt.c
hashtable.c
import.c gh-110850: Rename internal PyTime C API functions (#115734) 2024-02-20 22:16:37 +00:00
importdl.c
initconfig.c gh-116167: Allow disabling the GIL with PYTHON_GIL=0 or -X gil=0 (#116338) 2024-03-11 11:02:58 -04:00
instrumentation.c gh-115832: Fix instrumentation version mismatch during interpreter shutdown (#115856) 2024-03-04 11:29:39 -05:00
intrinsics.c
jit.c GH-116134: JIT aarch64-pc-windows-msvc (GH-116130) 2024-03-04 10:16:56 -08:00
legacy_tracing.c
lock.c gh-114271: Make _thread.ThreadHandle thread-safe in free-threaded builds (GH-115190) 2024-03-01 13:43:12 -08:00
marshal.c
modsupport.c
mysnprintf.c
mystrtoul.c
object_stack.c gh-111968: Split _Py_dictkeys_freelist out of _Py_dict_freelist (gh-115505) 2024-02-16 01:01:36 +00:00
opcode_targets.h gh-116381: Remove bad specializations, add fail stats (GH-116464) 2024-03-08 00:21:21 +08:00
optimizer_analysis.c GH-116596: Better determination of escaping uops. (GH-116597) 2024-03-11 13:37:48 +00:00
optimizer_bytecodes.c gh-116420: Fix unused var compilation warnings (GH-116466) 2024-03-08 00:19:59 +08:00
optimizer_cases.c.h GH-116468: Use constants instead of oparg in stack effects when oparg is known to be a constant. (GH-116469) 2024-03-11 09:30:15 +00:00
optimizer_symbols.c GH-115819: Eliminate Boolean guards when value is known (GH-116355) 2024-03-05 15:06:00 +00:00
optimizer.c GH-116596: Better determination of escaping uops. (GH-116597) 2024-03-11 13:37:48 +00:00
parking_lot.c gh-108724: Fix _PySemaphore_Wait call during thread deletion (#116483) 2024-03-08 15:26:36 -05:00
pathconfig.c
perf_trampoline.c
preconfig.c
pyarena.c
pyctype.c
pyfpe.c
pyhash.c
pylifecycle.c gh-115168: Add pystats counter for invalidated executors (GH-115169) 2024-02-26 17:51:47 +00:00
pymath.c
pystate.c gh-116396: Pass "detached_state" argument to tstate_set_detached (#116398) 2024-03-07 13:37:43 -05:00
pystrcmp.c
pystrhex.c
pystrtod.c
Python-ast.c gh-116437: Use new C API PyDict_Pop() to simplify the code (GH-116438) 2024-03-07 11:21:08 +02:00
Python-tokenize.c
pythonrun.c gh-116437: Use new C API PyDict_Pop() to simplify the code (GH-116438) 2024-03-07 11:21:08 +02:00
pytime.c gh-110850: Cleanup PyTime API: PyTime_t are nanoseconds (#115753) 2024-02-21 11:46:00 +01:00
qsbr.c gh-115103: Fix unregistering of QSBR state (#116480) 2024-03-08 12:39:53 -05:00
README
specialize.c gh-116381: Remove bad specializations, add fail stats (GH-116464) 2024-03-08 00:21:21 +08:00
stdlib_module_names.h
structmember.c gh-115011: Improve support of __index__() in setters of members with unsigned integer type (GH-115029) 2024-02-11 12:45:58 +02:00
suggestions.c
symtable.c gh-96497: Mangle name before symtable lookup in 'symtable_extend_namedexpr_scope' (GH-96561) 2024-02-17 12:06:31 +00:00
sysmodule.c gh-116167: Allow disabling the GIL with PYTHON_GIL=0 or -X gil=0 (#116338) 2024-03-11 11:02:58 -04:00
thread_nt.h gh-116012: Preserve GetLastError() across calls to TlsGetValue on Windows (GH-116014) 2024-02-28 13:58:25 +00:00
thread_pthread_stubs.h
thread_pthread.h gh-110850: Cleanup PyTime API: PyTime_t are nanoseconds (#115753) 2024-02-21 11:46:00 +01:00
thread.c gh-110850: Cleanup PyTime API: PyTime_t are nanoseconds (#115753) 2024-02-21 11:46:00 +01:00
tier2_engine.md GH-112354: Initial implementation of warm up on exits and trace-stitching (GH-114142) 2024-02-20 09:39:55 +00:00
traceback.c
tracemalloc.c
vm-state.md

Miscellaneous source files for the main Python shared library