Skip to content

Commit c13e7d9

Browse files
authored
GH-118093: Specialize CALL_KW (GH-123006)
1 parent e2f2dc7 commit c13e7d9

17 files changed

+1083
-273
lines changed

Include/internal/pycore_code.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ typedef struct {
156156
} _PyCallCache;
157157

158158
#define INLINE_CACHE_ENTRIES_CALL CACHE_ENTRIES(_PyCallCache)
159+
#define INLINE_CACHE_ENTRIES_CALL_KW CACHE_ENTRIES(_PyCallCache)
159160

160161
typedef struct {
161162
_Py_BackoffCounter counter;
@@ -335,6 +336,8 @@ extern void _Py_Specialize_StoreSubscr(_PyStackRef container, _PyStackRef sub,
335336
_Py_CODEUNIT *instr);
336337
extern void _Py_Specialize_Call(_PyStackRef callable, _Py_CODEUNIT *instr,
337338
int nargs);
339+
extern void _Py_Specialize_CallKw(_PyStackRef callable, _Py_CODEUNIT *instr,
340+
int nargs);
338341
extern void _Py_Specialize_BinaryOp(_PyStackRef lhs, _PyStackRef rhs, _Py_CODEUNIT *instr,
339342
int oparg, _PyStackRef *locals);
340343
extern void _Py_Specialize_CompareOp(_PyStackRef lhs, _PyStackRef rhs,

Include/internal/pycore_magic_number.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,7 @@ Known values:
257257
Python 3.14a1 3603 (Remove BUILD_CONST_KEY_MAP)
258258
Python 3.14a1 3604 (Do not duplicate test at end of while statements)
259259
Python 3.14a1 3605 (Move ENTER_EXECUTOR to opcode 255)
260+
Python 3.14a1 3606 (Specialize CALL_KW)
260261
261262
Python 3.15 will start with 3650
262263
@@ -269,7 +270,7 @@ PC/launcher.c must also be updated.
269270
270271
*/
271272

272-
#define PYC_MAGIC_NUMBER 3605
273+
#define PYC_MAGIC_NUMBER 3606
273274
/* This is equivalent to converting PYC_MAGIC_NUMBER to 2 bytes
274275
(little-endian) and then appending b'\r\n'. */
275276
#define PYC_MAGIC_NUMBER_TOKEN \

Include/internal/pycore_opcode_metadata.h

Lines changed: 27 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)