Skip to content

Commit cd343e8

Browse files
committed
add aliases for internal functions that we already exposed and used in PyO3
1 parent 573daf0 commit cd343e8

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

graalpython/com.oracle.graal.python.cext/src/listobject.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2018, 2023, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* The Universal Permissive License (UPL), Version 1.0
@@ -40,3 +40,7 @@
4040
*/
4141
#include "capi.h"
4242

43+
// alias for internal function, currently used in PyO3
44+
void _PyList_SET_ITEM(PyObject* a, Py_ssize_t b, PyObject* c) {
45+
return PyTruffleList_SET_ITEM(a, b, c);
46+
}

graalpython/com.oracle.graal.python.cext/src/object.c

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -799,6 +799,11 @@ Py_ssize_t PyTruffle_REFCNT(PyObject *obj) {
799799
#endif /* GRAALVM_PYTHON_LLVM_MANAGED */
800800
}
801801

802+
// alias, currently used in PyO3
803+
Py_ssize_t _Py_REFCNT(PyObject *obj) {
804+
return PyTruffle_REFCNT(obj);
805+
}
806+
802807
void PyTruffle_SET_REFCNT(PyObject* obj, Py_ssize_t cnt) {
803808
#ifndef GRAALVM_PYTHON_LLVM_MANAGED
804809
PyObject *dest;
@@ -843,6 +848,11 @@ PyTypeObject* PyTruffle_TYPE(PyObject *a) {
843848
#endif /* GRAALVM_PYTHON_LLVM_MANAGED */
844849
}
845850

851+
// alias, currently used in PyO3
852+
PyTypeObject* _Py_TYPE(PyObject *obj) {
853+
return PyTruffle_TYPE(obj);
854+
}
855+
846856
Py_ssize_t PyTruffle_SIZE(PyObject *ob) {
847857
PyVarObject* a = (PyVarObject*)ob;
848858
#ifdef GRAALVM_PYTHON_LLVM_MANAGED
@@ -878,6 +888,11 @@ Py_ssize_t PyTruffle_SIZE(PyObject *ob) {
878888
#endif /* GRAALVM_PYTHON_LLVM_MANAGED */
879889
}
880890

891+
// alias, currently used in PyO3
892+
Py_ssize_t _Py_SIZE(PyObject *obj) {
893+
return PyTruffle_SIZE(obj);
894+
}
895+
881896
void PyTruffle_SET_TYPE(PyObject *a, PyTypeObject *b) {
882897
if (points_to_py_handle_space(a)) {
883898
printf("changing the type of an object is not supported\n");

0 commit comments

Comments
 (0)