Skip to content

Commit 2aceb21

Browse files
authored
gh-109693: Remove pycore_atomic_funcs.h (#109694)
_PyUnicode_FromId() now uses pyatomic.h functions instead.
1 parent 5b8f024 commit 2aceb21

File tree

6 files changed

+3
-116
lines changed

6 files changed

+3
-116
lines changed

Include/internal/pycore_atomic_funcs.h

Lines changed: 0 additions & 94 deletions
This file was deleted.

Makefile.pre.in

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1743,7 +1743,6 @@ PYTHON_HEADERS= \
17431743
$(srcdir)/Include/internal/pycore_ast_state.h \
17441744
$(srcdir)/Include/internal/pycore_atexit.h \
17451745
$(srcdir)/Include/internal/pycore_atomic.h \
1746-
$(srcdir)/Include/internal/pycore_atomic_funcs.h \
17471746
$(srcdir)/Include/internal/pycore_bitutils.h \
17481747
$(srcdir)/Include/internal/pycore_bytes_methods.h \
17491748
$(srcdir)/Include/internal/pycore_bytesobject.h \

Modules/_testinternalcapi.c

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
#undef NDEBUG
1111

1212
#include "Python.h"
13-
#include "pycore_atomic_funcs.h" // _Py_atomic_int_get()
1413
#include "pycore_bitutils.h" // _Py_bswap32()
1514
#include "pycore_bytesobject.h" // _PyBytes_Find()
1615
#include "pycore_ceval.h" // _PyEval_AddPendingCall()
@@ -349,17 +348,6 @@ test_reset_path_config(PyObject *Py_UNUSED(self), PyObject *Py_UNUSED(arg))
349348
}
350349

351350

352-
static PyObject*
353-
test_atomic_funcs(PyObject *self, PyObject *Py_UNUSED(args))
354-
{
355-
// Test _Py_atomic_size_get() and _Py_atomic_size_set()
356-
Py_ssize_t var = 1;
357-
_Py_atomic_size_set(&var, 2);
358-
assert(_Py_atomic_size_get(&var) == 2);
359-
Py_RETURN_NONE;
360-
}
361-
362-
363351
static int
364352
check_edit_cost(const char *a, const char *b, Py_ssize_t expected)
365353
{
@@ -1488,7 +1476,6 @@ static PyMethodDef module_functions[] = {
14881476
{"get_config", test_get_config, METH_NOARGS},
14891477
{"set_config", test_set_config, METH_O},
14901478
{"reset_path_config", test_reset_path_config, METH_NOARGS},
1491-
{"test_atomic_funcs", test_atomic_funcs, METH_NOARGS},
14921479
{"test_edit_cost", test_edit_cost, METH_NOARGS},
14931480
{"test_bytes_find", test_bytes_find, METH_NOARGS},
14941481
{"normalize_path", normalize_path, METH_O, NULL},

Objects/unicodeobject.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
4040

4141
#include "Python.h"
4242
#include "pycore_abstract.h" // _PyIndex_Check()
43-
#include "pycore_atomic_funcs.h" // _Py_atomic_size_get()
4443
#include "pycore_bytes_methods.h" // _Py_bytes_lower()
4544
#include "pycore_bytesobject.h" // _PyBytes_Repeat()
4645
#include "pycore_ceval.h" // _PyEval_GetBuiltin()
@@ -1906,19 +1905,19 @@ _PyUnicode_FromId(_Py_Identifier *id)
19061905
PyInterpreterState *interp = _PyInterpreterState_GET();
19071906
struct _Py_unicode_ids *ids = &interp->unicode.ids;
19081907

1909-
Py_ssize_t index = _Py_atomic_size_get(&id->index);
1908+
Py_ssize_t index = _Py_atomic_load_ssize(&id->index);
19101909
if (index < 0) {
19111910
struct _Py_unicode_runtime_ids *rt_ids = &interp->runtime->unicode_state.ids;
19121911

19131912
PyThread_acquire_lock(rt_ids->lock, WAIT_LOCK);
19141913
// Check again to detect concurrent access. Another thread can have
19151914
// initialized the index while this thread waited for the lock.
1916-
index = _Py_atomic_size_get(&id->index);
1915+
index = _Py_atomic_load_ssize(&id->index);
19171916
if (index < 0) {
19181917
assert(rt_ids->next_index < PY_SSIZE_T_MAX);
19191918
index = rt_ids->next_index;
19201919
rt_ids->next_index++;
1921-
_Py_atomic_size_set(&id->index, index);
1920+
_Py_atomic_store_ssize(&id->index, index);
19221921
}
19231922
PyThread_release_lock(rt_ids->lock);
19241923
}

PCbuild/pythoncore.vcxproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,6 @@
204204
<ClInclude Include="..\Include\internal\pycore_ast_state.h" />
205205
<ClInclude Include="..\Include\internal\pycore_atexit.h" />
206206
<ClInclude Include="..\Include\internal\pycore_atomic.h" />
207-
<ClInclude Include="..\Include\internal\pycore_atomic_funcs.h" />
208207
<ClInclude Include="..\Include\internal\pycore_bitutils.h" />
209208
<ClInclude Include="..\Include\internal\pycore_bytes_methods.h" />
210209
<ClInclude Include="..\Include\internal\pycore_bytesobject.h" />

PCbuild/pythoncore.vcxproj.filters

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -531,9 +531,6 @@
531531
<ClInclude Include="..\Include\internal\pycore_atomic.h">
532532
<Filter>Include\internal</Filter>
533533
</ClInclude>
534-
<ClInclude Include="..\Include\internal\pycore_atomic_funcs.h">
535-
<Filter>Include</Filter>
536-
</ClInclude>
537534
<ClInclude Include="..\Include\internal\pycore_bitutils.h">
538535
<Filter>Include\internal</Filter>
539536
</ClInclude>

0 commit comments

Comments
 (0)