Skip to content

Commit 559b164

Browse files
authored
Merge branch 'main' into jit-tracer-fitness
2 parents 97d8be4 + eb4c78d commit 559b164

File tree

97 files changed

+3213
-1953
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+3213
-1953
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ jobs:
354354
with:
355355
persist-credentials: false
356356
- name: Build and test
357-
run: ./Android/android.py ci --fast-ci ${{ matrix.arch }}-linux-android
357+
run: python3 Platforms/Android ci --fast-ci ${{ matrix.arch }}-linux-android
358358

359359
build-ios:
360360
name: iOS

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
*.cover
66
*.iml
77
*.o
8+
*.o.tmp
89
*.lto
910
*.a
1011
*.so

Doc/library/argparse.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1970,7 +1970,7 @@ FileType objects
19701970
run and then use the :keyword:`with`-statement to manage the files.
19711971

19721972
.. versionchanged:: 3.4
1973-
Added the *encodings* and *errors* parameters.
1973+
Added the *encoding* and *errors* parameters.
19741974

19751975
.. deprecated:: 3.14
19761976

Include/internal/pycore_dict.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ _PyDict_NotifyEvent(PyDict_WatchEvent event,
292292
PyObject *value)
293293
{
294294
assert(Py_REFCNT((PyObject*)mp) > 0);
295-
int watcher_bits = mp->_ma_watcher_tag & DICT_WATCHER_MASK;
295+
int watcher_bits = FT_ATOMIC_LOAD_UINT64_ACQUIRE(mp->_ma_watcher_tag) & DICT_WATCHER_MASK;
296296
if (watcher_bits) {
297297
RARE_EVENT_STAT_INC(watched_dict_modification);
298298
_PyDict_SendEvent(watcher_bits, event, mp, key, value);
@@ -368,7 +368,7 @@ PyDictObject *_PyObject_MaterializeManagedDict_LockHeld(PyObject *);
368368
static inline Py_ssize_t
369369
_PyDict_UniqueId(PyDictObject *mp)
370370
{
371-
return (Py_ssize_t)(mp->_ma_watcher_tag >> DICT_UNIQUE_ID_SHIFT);
371+
return (Py_ssize_t)(FT_ATOMIC_LOAD_UINT64_RELAXED(mp->_ma_watcher_tag) >> DICT_UNIQUE_ID_SHIFT);
372372
}
373373

374374
static inline void

Include/internal/pycore_opcode_metadata.h

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

Include/internal/pycore_optimizer.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -470,8 +470,6 @@ extern PyCodeObject *_Py_uop_sym_get_probable_func_code(JitOptRef sym);
470470
extern PyObject *_Py_uop_sym_get_probable_value(JitOptRef sym);
471471
extern PyTypeObject *_Py_uop_sym_get_probable_type(JitOptRef sym);
472472
extern JitOptRef *_Py_uop_sym_set_stack_depth(JitOptContext *ctx, int stack_depth, JitOptRef *current_sp);
473-
extern uint32_t _Py_uop_sym_get_func_version(JitOptRef ref);
474-
bool _Py_uop_sym_set_func_version(JitOptContext *ctx, JitOptRef ref, uint32_t version);
475473

476474
extern void _Py_uop_abstractcontext_init(JitOptContext *ctx, _PyBloomFilter *dependencies);
477475
extern void _Py_uop_abstractcontext_fini(JitOptContext *ctx);

Include/internal/pycore_optimizer_types.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ typedef enum _JitSymType {
3636
JIT_SYM_NON_NULL_TAG = 3,
3737
JIT_SYM_BOTTOM_TAG = 4,
3838
JIT_SYM_TYPE_VERSION_TAG = 5,
39-
JIT_SYM_FUNC_VERSION_TAG = 6,
4039
JIT_SYM_KNOWN_CLASS_TAG = 7,
4140
JIT_SYM_KNOWN_VALUE_TAG = 8,
4241
JIT_SYM_TUPLE_TAG = 9,

Include/internal/pycore_pyatomic_ft_wrappers.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ extern "C" {
4949
_Py_atomic_load_uint16_relaxed(&value)
5050
#define FT_ATOMIC_LOAD_UINT32_RELAXED(value) \
5151
_Py_atomic_load_uint32_relaxed(&value)
52+
#define FT_ATOMIC_LOAD_UINT64_ACQUIRE(value) \
53+
_Py_atomic_load_uint64_acquire(&value)
54+
#define FT_ATOMIC_LOAD_UINT64_RELAXED(value) \
55+
_Py_atomic_load_uint64_relaxed(&value)
5256
#define FT_ATOMIC_LOAD_ULONG_RELAXED(value) \
5357
_Py_atomic_load_ulong_relaxed(&value)
5458
#define FT_ATOMIC_STORE_PTR_RELAXED(value, new_value) \
@@ -71,6 +75,12 @@ extern "C" {
7175
_Py_atomic_store_uint16_relaxed(&value, new_value)
7276
#define FT_ATOMIC_STORE_UINT32_RELAXED(value, new_value) \
7377
_Py_atomic_store_uint32_relaxed(&value, new_value)
78+
#define FT_ATOMIC_AND_UINT64(value, new_value) \
79+
(void)_Py_atomic_and_uint64(&value, new_value)
80+
#define FT_ATOMIC_OR_UINT64(value, new_value) \
81+
(void)_Py_atomic_or_uint64(&value, new_value)
82+
#define FT_ATOMIC_ADD_UINT64(value, new_value) \
83+
(void)_Py_atomic_add_uint64(&value, new_value)
7484
#define FT_ATOMIC_STORE_CHAR_RELAXED(value, new_value) \
7585
_Py_atomic_store_char_relaxed(&value, new_value)
7686
#define FT_ATOMIC_LOAD_CHAR_RELAXED(value) \
@@ -146,6 +156,8 @@ extern "C" {
146156
#define FT_ATOMIC_LOAD_UINT8_RELAXED(value) value
147157
#define FT_ATOMIC_LOAD_UINT16_RELAXED(value) value
148158
#define FT_ATOMIC_LOAD_UINT32_RELAXED(value) value
159+
#define FT_ATOMIC_LOAD_UINT64_ACQUIRE(value) value
160+
#define FT_ATOMIC_LOAD_UINT64_RELAXED(value) value
149161
#define FT_ATOMIC_LOAD_ULONG_RELAXED(value) value
150162
#define FT_ATOMIC_STORE_PTR_RELAXED(value, new_value) value = new_value
151163
#define FT_ATOMIC_STORE_PTR_RELEASE(value, new_value) value = new_value
@@ -157,6 +169,9 @@ extern "C" {
157169
#define FT_ATOMIC_STORE_UINT8_RELAXED(value, new_value) value = new_value
158170
#define FT_ATOMIC_STORE_UINT16_RELAXED(value, new_value) value = new_value
159171
#define FT_ATOMIC_STORE_UINT32_RELAXED(value, new_value) value = new_value
172+
#define FT_ATOMIC_AND_UINT64(value, new_value) (void)(value &= new_value)
173+
#define FT_ATOMIC_OR_UINT64(value, new_value) (void)(value |= new_value)
174+
#define FT_ATOMIC_ADD_UINT64(value, new_value) (void)(value += new_value)
160175
#define FT_ATOMIC_LOAD_CHAR_RELAXED(value) value
161176
#define FT_ATOMIC_STORE_CHAR_RELAXED(value, new_value) value = new_value
162177
#define FT_ATOMIC_LOAD_UCHAR_RELAXED(value) value

0 commit comments

Comments
 (0)