@@ -2,7 +2,7 @@ use crate::object::*;
2
2
#[ cfg( not( PyPy ) ) ]
3
3
use crate :: pyport:: Py_ssize_t ;
4
4
5
- #[ cfg( not( PyPy ) ) ]
5
+ #[ cfg( not( any ( PyPy , GraalPy ) ) ) ]
6
6
#[ repr( C ) ]
7
7
#[ derive( Copy , Clone ) ]
8
8
pub struct PyListObject {
@@ -11,7 +11,7 @@ pub struct PyListObject {
11
11
pub allocated : Py_ssize_t ,
12
12
}
13
13
14
- #[ cfg( PyPy ) ]
14
+ #[ cfg( any ( PyPy , GraalPy ) ) ]
15
15
pub struct PyListObject {
16
16
pub ob_base : PyObject ,
17
17
}
@@ -22,20 +22,23 @@ pub struct PyListObject {
22
22
23
23
/// Macro, trading safety for speed
24
24
#[ inline]
25
- #[ cfg( not( PyPy ) ) ]
25
+ #[ cfg( not( any ( PyPy , GraalPy ) ) ) ]
26
26
pub unsafe fn PyList_GET_ITEM ( op : * mut PyObject , i : Py_ssize_t ) -> * mut PyObject {
27
27
* ( * ( op as * mut PyListObject ) ) . ob_item . offset ( i)
28
28
}
29
29
30
30
/// Macro, *only* to be used to fill in brand new lists
31
31
#[ inline]
32
- #[ cfg( not( PyPy ) ) ]
32
+ #[ cfg( not( any ( PyPy , GraalPy ) ) ) ]
33
33
pub unsafe fn PyList_SET_ITEM ( op : * mut PyObject , i : Py_ssize_t , v : * mut PyObject ) {
34
34
* ( * ( op as * mut PyListObject ) ) . ob_item . offset ( i) = v;
35
35
}
36
36
37
37
#[ inline]
38
38
#[ cfg( not( PyPy ) ) ]
39
39
pub unsafe fn PyList_GET_SIZE ( op : * mut PyObject ) -> Py_ssize_t {
40
- Py_SIZE ( op)
40
+ #[ cfg( not( GraalPy ) ) ]
41
+ return Py_SIZE ( op) ;
42
+ #[ cfg( GraalPy ) ]
43
+ return _Py_SIZE ( op as * mut PyVarObject ) ;
41
44
}
0 commit comments