cpython/Python
Jelle Zijlstra a0559849ac
[3.13] gh-119821: Support non-dict globals in LOAD_FROM_DICT_OR_GLOBALS (#119822) (#119889)
dSupport non-dict globals in LOAD_FROM_DICT_OR_GLOBALS

The implementation basically copies LOAD_GLOBAL. Possibly it could be deduplicated,
but that seems like it may get hairy since the two operations have different operands.

This is important to fix in 3.14 for PEP 649, but it's a bug in earlier versions too,
and we should backport to 3.13 and 3.12 if possible.

(cherry picked from commit 80a4e38994)
2024-05-31 21:56:26 -07:00
..
clinic gh-111201: A new Python REPL (GH-111567) 2024-05-05 21:32:23 +02:00
frozen_modules gh-97669: Create Tools/build/ directory (#97963) 2022-10-17 12:01:00 +02:00
Python-ast.c [3.13] gh-118851: Default ctx arguments to AST constructors to Load() (GH-118854) (#118871) 2024-05-09 22:52:42 +00:00
Python-tokenize.c [3.13] gh-119704: Fix reference leak in the ``Python/Python-tokenize.c`` (GH-119705) (#119707) 2024-05-29 07:26:13 +00:00
README Issue #18093: Factor out the programs that embed the runtime 2014-07-25 21:52:14 +10:00
_warnings.c [3.13] gh-119049: Fix incorrect display of warning which is constructed by C API (GH-119063) (GH-119106) 2024-05-17 18:16:58 +03:00
adaptive.md GH-98686: Get rid of "adaptive" and "quick" instructions (GH-99182) 2022-11-09 10:50:09 -08:00
asdl.c bpo-43244: Remove ast.h, asdl.h, Python-ast.h headers (GH-24933) 2021-03-23 20:47:40 +01:00
asm_trampoline.S gh-96143: Move the perf trampoline files to the Python directory (#98675) 2022-10-25 23:34:22 +01:00
assemble.c gh-117494: extract the Instruction Sequence data structure into a separate file (#117496) 2024-04-04 15:47:26 +00:00
ast.c gh-116126: Implement PEP 696 (#116129) 2024-05-03 06:17:32 -07:00
ast_opt.c GH-113655: Lower the C recursion limit on various platforms (GH-113944) 2024-01-16 09:32:01 +00:00
ast_unparse.c gh-100227: Move _str_replace_inf to PyInterpreterState (gh-102333) 2023-02-28 14:16:39 -07:00
bltinmodule.c gh-118527: Intern code consts in free-threaded build (#118667) 2024-05-06 20:12:39 -04:00
bootstrap_hash.c gh-110014: Fix bootstrap_hash.c: remove debug code (#110161) 2023-09-30 22:21:20 +00:00
brc.c gh-110481: Fix biased reference counting queue initialization. (#117271) 2024-03-28 09:28:39 -04:00
bytecodes.c [3.13] gh-119821: Support non-dict globals in LOAD_FROM_DICT_OR_GLOBALS (#119822) (#119889) 2024-05-31 21:56:26 -07:00
ceval.c [3.13] gh-118692: Avoid creating unnecessary StopIteration instances for monitoring (GH-119216) (#119497) 2024-05-24 10:18:13 +00:00
ceval_gil.c [3.13] gh-118727: Don't drop the GIL in `drop_gil()` unless the current thread holds it (GH-118745) (#119474) 2024-05-23 21:27:38 +00:00
ceval_macros.h gh-107674: Improve performance of `sys.settrace` (GH-117133) 2024-05-03 19:49:24 +01:00
codecs.c gh-116738: Make `_codecs` module thread-safe (#117530) 2024-05-02 18:25:36 -04:00
compile.c [3.13] gh-119311: Fix name mangling with PEP 695 generic classes (#119464) (#119643) 2024-05-28 11:03:33 -07:00
condvar.h gh-104530: Enable native Win32 condition variables by default (GH-104531) 2024-02-02 13:50:51 +00:00
config_common.h gh-76785: Add PyInterpreterConfig Helpers (gh-117170) 2024-04-02 20:35:52 +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 gh-111569: Implement Python critical section API (gh-111571) 2023-11-08 15:39:29 -07:00
crossinterp.c gh-76785: Handle Legacy Interpreters Properly (gh-117490) 2024-04-11 23:23:25 +00:00
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: Add More Tests to test_interpreters.test_api (gh-117662) 2024-04-10 18:37:01 -06:00
dtoa.c gh-91565: Replace bugs.python.org links with Devguide/GitHub ones (GH-91568) 2024-04-01 13:02:07 +00:00
dup2.c gh-108765: Python.h no longer includes <unistd.h> (#108783) 2023-09-02 16:50:18 +02:00
dynamic_annotations.c bpo-32241: Add the const qualifire to declarations of umodifiable strings. (#4748) 2017-12-12 13:55:04 +02:00
dynload_hpux.c gh-88402: Add new sysconfig variables on Windows (GH-110049) 2023-10-04 22:50:29 +00:00
dynload_shlib.c gh-88402: Add new sysconfig variables on Windows (GH-110049) 2023-10-04 22:50:29 +00:00
dynload_stub.c gh-88402: Add new sysconfig variables on Windows (GH-110049) 2023-10-04 22:50:29 +00:00
dynload_win.c gh-88402: Add new sysconfig variables on Windows (GH-110049) 2023-10-04 22:50:29 +00:00
emscripten_signal.c GH-108614: Unbreak emscripten build (GH-109132) 2023-09-08 17:54:45 +01:00
emscripten_trampoline.c gh-106213: Make Emscripten trampolines work with JSPI (GH-106219) 2023-09-15 15:04:21 -07:00
errors.c gh-118379: Use PyTuple_Pack instead of Py_BuildValue if possible (GH-118381) 2024-04-30 17:55:15 +03:00
executor_cases.c.h [3.13] gh-119821: Support non-dict globals in LOAD_FROM_DICT_OR_GLOBALS (#119822) (#119889) 2024-05-31 21:56:26 -07:00
fileutils.c gh-118422: Fix run_fileexflags() test (#118429) 2024-04-30 22:32:55 +02:00
flowgraph.c gh-117494: extract the Instruction Sequence data structure into a separate file (#117496) 2024-04-04 15:47:26 +00:00
formatter_unicode.c gh-92536: Remove PyUnicode_READY() calls (#105210) 2023-06-02 01:33:17 +02:00
frame.c gh-118272: set stacktop to 0 before freeing contents, to avoid access to invalid objects during GC (#118478) 2024-05-01 21:51:40 +01:00
frozen.c gh-108716: Cleanup remaining deepfreeze infrastructure (#116919) 2024-03-18 11:13:11 -07:00
frozenmain.c gh-105716: Fix _PyInterpreterState_IsRunningMain() For Embedders (gh-117140) 2024-03-21 18:20:20 -06:00
future.c gh-118216: Don't consider dotted `__future__` imports (#118267) 2024-05-02 06:32:20 -07:00
gc.c gh-110850: Remove _PyTime_TimeUnchecked() function (#118552) 2024-05-05 12:15:19 +02:00
gc_free_threading.c gh-110850: Remove _PyTime_TimeUnchecked() function (#118552) 2024-05-05 12:15:19 +02: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
generated_cases.c.h [3.13] gh-119821: Support non-dict globals in LOAD_FROM_DICT_OR_GLOBALS (#119822) (#119889) 2024-05-31 21:56:26 -07:00
getargs.c [3.13] gh-119213: Be More Careful About _PyArg_Parser.kwtuple Across Interpreters (gh-119331) (gh-119410) 2024-05-22 12:09:48 -06:00
getcompiler.c closes bpo-43278: remove unnecessary leading '\n' from COMPILER when build with GCC/Clang (GH-24606) 2021-02-25 20:24:21 -08:00
getcopyright.c Update copyright years to 2024. (GH-113608) 2024-01-16 21:54:05 +01:00
getopt.c gh-110079: Remove extern "C" { ...} in C code (#110080) 2023-09-29 10:56:49 +02:00
getplatform.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
getversion.c [3.13] gh-119132: Update sys.version to identify free-threaded or not. (gh-119134) (#119153) 2024-05-18 16:49:11 -04:00
hamt.c gh-106320: Remove private PyLong C API functions (#108429) 2023-08-24 18:53:50 +02:00
hashtable.c gh-111545: Add Py_HashPointer() function (#112096) 2023-12-06 15:09:22 +01:00
import.c [3.13] gh-119584: Fix test_import Failed Assertion (gh-119623) (gh-119633) 2024-05-27 20:04:13 +00:00
importdl.c gh-117953: Imply Single-phase Init if the Init Function Fails (gh-118684) 2024-05-06 21:16:22 -06:00
initconfig.c gh-118518: Rename `PYTHONPERFJITSUPPORT` and `-X perfjit` with underscores (#118693) 2024-05-07 11:47:21 +00:00
instruction_sequence.c gh-117680: Fix msvc warning in instruction_sequence.c (#118326) 2024-04-26 17:20:30 +01:00
instrumentation.c [3.13] gh-111997: Fix argument count for LINE event and clarify type of argument counts. (GH-119179) (GH-119575) 2024-05-26 12:59:29 +00:00
interpconfig.c gh-76785: Fix a Refleak in _interpreters.new_config() (gh-117491) 2024-04-03 01:10:26 +00:00
intrinsics.c gh-74929: Implement PEP 667 (GH-115153) 2024-05-04 12:12:10 +01:00
jit.c [3.13] GH-118844: Fix build failures when combining --disable-gil with --enable-experimental-jit (GH-118959) 2024-05-13 04:53:30 +00:00
legacy_tracing.c gh-107674: Lazy load line number to improve performance of tracing (GH-118127) 2024-04-29 09:54:52 +01:00
lock.c gh-110850: Remove _PyTime_TimeUnchecked() function (#118552) 2024-05-05 12:15:19 +02:00
marshal.c gh-116322: Add Py_mod_gil module slot (#116882) 2024-05-03 11:30:55 -04:00
modsupport.c gh-84489: Properly handle trailing spaces in Py_BuildValue() format strings (GH-21158) 2023-10-11 14:44:06 +03:00
mysnprintf.c Add a warning message about PyOS_snprintf (#95993) 2022-10-07 11:49:53 -07:00
mystrtoul.c gh-108765: Python.h no longer includes <ctype.h> (#108831) 2023-09-03 18:54:27 +02:00
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-118095: Use broader specializations of CALL in tier 1, for better tier 2 support of calls. (GH-118322) 2024-05-04 12:11:11 +01:00
optimizer.c GH-118095: Use broader specializations of CALL in tier 1, for better tier 2 support of calls. (GH-118322) 2024-05-04 12:11:11 +01:00
optimizer_analysis.c gh-118335: Configure Tier 2 interpreter at build time (#118339) 2024-04-30 18:26:34 -07:00
optimizer_bytecodes.c GH-118095: Use broader specializations of CALL in tier 1, for better tier 2 support of calls. (GH-118322) 2024-05-04 12:11:11 +01:00
optimizer_cases.c.h [3.13] gh-119821: Support non-dict globals in LOAD_FROM_DICT_OR_GLOBALS (#119822) (#119889) 2024-05-31 21:56:26 -07:00
optimizer_symbols.c GH-118095: Unify the behavior of tier 2 FOR_ITER branch micro-ops (GH-118420) 2024-05-02 16:17:59 +01:00
parking_lot.c gh-110850: Remove _PyTime_TimeUnchecked() function (#118552) 2024-05-05 12:15:19 +02:00
pathconfig.c gh-117987: Restore several functions removed in Python 3.13 alpha 1 (GH-117993) 2024-04-18 15:20:38 +02:00
perf_jit_trampoline.c [3.13] GH-118844: Fix build failures when combining --disable-gil with --enable-experimental-jit (GH-118959) 2024-05-13 04:53:30 +00:00
perf_trampoline.c gh-118518: Allow perf to work without frame pointers (#112254) 2024-05-05 03:07:29 +02:00
preconfig.c gh-106320: Remove private pylifecycle.h functions (#106400) 2023-07-04 09:41:43 +00:00
pyarena.c bpo-43244: Remove the pyarena.h header (GH-25007) 2021-03-24 02:23:01 +01:00
pyctype.c
pyfpe.c bpo-46315: Add ifdef HAVE_ feature checks for WASI compatibility (GH-30507) 2022-01-13 09:46:04 +01:00
pyhash.c gh-113024: C API: Add PyObject_GenericHash() function (GH-113025) 2024-03-22 20:19:10 +02:00
pylifecycle.c gh-118527: Intern code consts in free-threaded build (#118667) 2024-05-06 20:12:39 -04:00
pymath.c bpo-45440: Remove pymath.c fallbacks (GH-28977) 2021-10-15 19:45:34 +02:00
pystate.c [3.13] gh-119369: Fix deadlock during thread exit in free-threaded build (GH-119528) (#119868) 2024-05-31 14:19:38 -04:00
pystrcmp.c gh-108767: Replace ctype.h functions with pyctype.h functions (#108772) 2023-09-01 18:36:53 +02:00
pystrhex.c gh-108765: pystrhex: Replace stdlib.h abs() with Py_ABS() (#108830) 2023-09-02 23:15:54 +02:00
pystrtod.c gh-108765: Cleanup #include in Python/*.c files (#108977) 2023-09-06 15:56:08 +02:00
pythonrun.c gh-111201: A new Python REPL (GH-111567) 2024-05-05 21:32:23 +02:00
pytime.c gh-110850: Remove _PyTime_TimeUnchecked() function (#118552) 2024-05-05 12:15:19 +02:00
qsbr.c [3.13] gh-119369: Fix deadlock during thread exit in free-threaded build (GH-119528) (#119868) 2024-05-31 14:19:38 -04:00
specialize.c GH-118095: Use broader specializations of CALL in tier 1, for better tier 2 support of calls. (GH-118322) 2024-05-04 12:11:11 +01:00
stdlib_module_names.h gh-111201: A new Python REPL (GH-111567) 2024-05-05 21:32:23 +02:00
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 gh-113845: Fix a compiler warning in Python/suggestions.c (GH-113949) 2024-01-11 20:31:24 +02:00
symtable.c [3.13] gh-119311: Fix name mangling with PEP 695 generic classes (#119464) (#119643) 2024-05-28 11:03:33 -07:00
sysmodule.c [3.13] gh-74929: PEP 667 C API documentation (gh-119892) 2024-06-01 04:23:04 +00:00
thread.c gh-110850: Cleanup PyTime API: PyTime_t are nanoseconds (#115753) 2024-02-21 11:46:00 +01:00
thread_nt.h gh-110850: Use _PyDeadline_Get() in EnterNonRecursiveMutex() (#118556) 2024-05-04 09:39:58 +02:00
thread_pthread.h gh-110850: Remove _PyTime_TimeUnchecked() function (#118552) 2024-05-05 12:15:19 +02:00
thread_pthread_stubs.h GH-110829: Ensure Thread.join() joins the OS thread (#110848) 2023-11-04 13:59:24 +00:00
tier2_engine.md Docs: fix spelling of the word 'transferring' (#116641) 2024-03-13 23:53:32 +01:00
traceback.c gh-117764: Fix and add signatures for many builtins (GH-117769) 2024-04-12 13:56:41 +03:00
tracemalloc.c gh-93502: Add new C-API functions to trace object creation and destruction (#115945) 2024-05-02 19:30:00 +02:00
vm-state.md High level docs for the VM state (#111621) 2023-11-01 22:55:10 +00:00

README

Miscellaneous source files for the main Python shared library