62
62
#include <graalvm/llvm/polyglot.h>
63
63
#include <truffle.h>
64
64
#include <graalvm/llvm/handles.h>
65
- #endif
65
+ #endif // EXCLUDE_POLYGLOT_API
66
66
67
67
#define SRC_CS "utf-8"
68
68
@@ -153,7 +153,6 @@ typedef struct {
153
153
BUILTIN(PyException_SetContext, void, PyObject*, PyObject*) \
154
154
BUILTIN(PyException_SetTraceback, int, PyObject*, PyObject*) \
155
155
BUILTIN(PyFile_WriteObject, int, PyObject*, PyObject*, int) \
156
- BUILTIN(PyFloat_AsDouble, double, PyObject*) \
157
156
BUILTIN(PyFloat_FromDouble, PyObject*, double) \
158
157
BUILTIN(PyFrame_New, PyFrameObject*, PyThreadState*, PyCodeObject*, PyObject*, PyObject*) \
159
158
BUILTIN(PyFrozenSet_New, PyObject*, PyObject*) \
@@ -280,17 +279,27 @@ typedef struct {
280
279
BUILTIN(PyTruffleCMethod_NewEx, PyObject*, PyMethodDef*, const char*, void*, int, int, PyObject*, PyObject*, PyTypeObject*, const char*) \
281
280
BUILTIN(PyTruffleComplex_AsCComplex, PyObject*, PyObject*) \
282
281
BUILTIN(PyTruffleContextVar_Get, PyObject*, PyObject*, PyObject*, void*) \
282
+ BUILTIN(PyTruffleDateTimeCAPI_DateTime_FromDateAndTime, PyObject*, int, int, int, int, int, int, int, PyObject*, PyTypeObject*) \
283
+ BUILTIN(PyTruffleDateTimeCAPI_DateTime_FromDateAndTimeAndFold, PyObject*, int, int, int, int, int, int, int, PyObject*, int, PyTypeObject*) \
284
+ BUILTIN(PyTruffleDateTimeCAPI_DateTime_FromTimestamp, PyObject*, PyObject*, PyObject*, PyObject*) \
285
+ BUILTIN(PyTruffleDateTimeCAPI_Date_FromDate, PyObject*, int, int, int, PyTypeObject*) \
286
+ BUILTIN(PyTruffleDateTimeCAPI_Date_FromTimestamp, PyObject*, PyObject*, PyObject*) \
287
+ BUILTIN(PyTruffleDateTimeCAPI_Delta_FromDelta, PyObject*, int, int, int, int, PyTypeObject*) \
288
+ BUILTIN(PyTruffleDateTimeCAPI_TimeZone_FromTimeZone, PyObject*, PyObject*, PyObject*) \
289
+ BUILTIN(PyTruffleDateTimeCAPI_Time_FromTime, PyObject*, int, int, int, int, PyObject*, PyTypeObject*) \
290
+ BUILTIN(PyTruffleDateTimeCAPI_Time_FromTimeAndFold, PyObject*, int, int, int, int, PyObject*, int, PyTypeObject*) \
283
291
BUILTIN(PyTruffleDescr_NewClassMethod, PyObject*, void*, const char*, const char*, int, int, void*, PyTypeObject*) \
284
292
BUILTIN(PyTruffleDescr_NewGetSet, PyObject*, const char*, PyTypeObject*, void*, void*, const char*, void*) \
285
293
BUILTIN(PyTruffleDict_Next, PyObject*, PyObject*, Py_ssize_t) \
286
294
BUILTIN(PyTruffleErr_Fetch, PyObject*) \
287
295
BUILTIN(PyTruffleErr_GetExcInfo, PyObject*) \
296
+ BUILTIN(PyTruffleFloat_AsDouble, double, PyObject*) \
288
297
BUILTIN(PyTruffleHash_InitSecret, void, void*) \
289
298
BUILTIN(PyTruffleLong_AsPrimitive, long, PyObject*, int, long) \
290
299
BUILTIN(PyTruffleLong_FromString, PyObject*, const char*, int, int) \
291
300
BUILTIN(PyTruffleLong_One, PyObject*) \
292
301
BUILTIN(PyTruffleLong_Zero, PyObject*) \
293
- BUILTIN(PyTruffleModule_AddFunctionToModule, int, void*, PyObject*, const char*, void*, int, int, void *) \
302
+ BUILTIN(PyTruffleModule_AddFunctionToModule, int, void*, PyObject*, const char*, void*, int, int, const char *) \
294
303
BUILTIN(PyTruffleNumber_BinOp, PyObject*, PyObject*, PyObject*, int) \
295
304
BUILTIN(PyTruffleNumber_InPlaceBinOp, PyObject*, PyObject*, PyObject*, int) \
296
305
BUILTIN(PyTruffleNumber_UnaryOp, PyObject*, PyObject*, int) \
@@ -303,10 +312,10 @@ typedef struct {
303
312
BUILTIN(PyTruffleStructSequence_InitType2, int, PyTypeObject*, void*, void*, int) \
304
313
BUILTIN(PyTruffleStructSequence_NewType, PyTypeObject*, const char*, const char*, void*, void*, int) \
305
314
BUILTIN(PyTruffleToCharPointer, void*, PyObject*) \
306
- BUILTIN(PyTruffleType_AddFunctionToType, int, void*, PyTypeObject*, PyObject*, const char*, void*, int, int, void *) \
307
- BUILTIN(PyTruffleType_AddGetSet, int, PyTypeObject*, PyObject*, const char*, void*, void*, void *, void*) \
308
- BUILTIN(PyTruffleType_AddMember, int, PyTypeObject*, PyObject*, const char*, int, Py_ssize_t, int, void *) \
309
- BUILTIN(PyTruffleType_AddSlot, int, PyTypeObject*, PyObject*, const char*, void*, int, int, void *) \
315
+ BUILTIN(PyTruffleType_AddFunctionToType, int, void*, PyTypeObject*, PyObject*, const char*, void*, int, int, const char *) \
316
+ BUILTIN(PyTruffleType_AddGetSet, int, PyTypeObject*, PyObject*, const char*, void*, void*, const char *, void*) \
317
+ BUILTIN(PyTruffleType_AddMember, int, PyTypeObject*, PyObject*, const char*, int, Py_ssize_t, int, const char *) \
318
+ BUILTIN(PyTruffleType_AddSlot, int, PyTypeObject*, PyObject*, const char*, void*, int, int, const char *) \
310
319
BUILTIN(PyTruffleUnicode_Decode, PyObject*, PyObject*, const char*, const char*) \
311
320
BUILTIN(PyTruffleUnicode_DecodeUTF8Stateful, PyObject*, void*, const char*, int) \
312
321
BUILTIN(PyTruffleUnicode_FromUCS, PyObject*, void*, Py_ssize_t, int) \
@@ -326,20 +335,22 @@ typedef struct {
326
335
BUILTIN(PyTruffle_FileSystemDefaultEncoding, PyObject*) \
327
336
BUILTIN(PyTruffle_Get_Inherited_Native_Slots, void*, PyTypeObject*, const char*) \
328
337
BUILTIN(PyTruffle_HashConstant, long, int) \
338
+ BUILTIN(PyTruffle_InitialNativeMemory, size_t) \
329
339
BUILTIN(PyTruffle_LogString, void, int, const char*) \
340
+ BUILTIN(PyTruffle_MaxNativeMemory, size_t) \
330
341
BUILTIN(PyTruffle_MemoryViewFromBuffer, PyObject*, void*, PyObject*, Py_ssize_t, int, Py_ssize_t, const char*, int, void*, void*, void*, void*) \
331
342
BUILTIN(PyTruffle_Native_Options, int) \
332
343
BUILTIN(PyTruffle_NewTypeDict, PyObject*, PyTypeObject*) \
333
344
BUILTIN(PyTruffle_NoValue, PyObject*) \
334
345
BUILTIN(PyTruffle_None, PyObject*) \
335
346
BUILTIN(PyTruffle_NotImplemented, PyObject*) \
336
- BUILTIN(PyTruffle_Object_Alloc, int, void*, long) \
337
347
BUILTIN(PyTruffle_Object_Free, int, void*) \
338
348
BUILTIN(PyTruffle_Register_NULL, void, void*) \
339
349
BUILTIN(PyTruffle_Set_Native_Slots, int, PyTypeObject*, void*, void*) \
340
350
BUILTIN(PyTruffle_Set_SulongType, void*, PyTypeObject*, void*) \
341
351
BUILTIN(PyTruffle_ToNative, int, void*) \
342
352
BUILTIN(PyTruffle_Trace_Type, int, void*, void*) \
353
+ BUILTIN(PyTruffle_TriggerGC, void, size_t) \
343
354
BUILTIN(PyTruffle_True, PyObject*) \
344
355
BUILTIN(PyTruffle_Type, PyTypeObject*, const char*) \
345
356
BUILTIN(PyTruffle_Type_Modified, int, PyTypeObject*, const char*, PyObject*) \
@@ -586,7 +597,7 @@ typedef struct {
586
597
BUILTIN(_PyTruffleObject_MakeTpCall, PyObject*, PyObject*, void*, int, void*, void*) \
587
598
BUILTIN(_PyTruffleSet_NextEntry, PyObject*, PyObject*, Py_ssize_t) \
588
599
BUILTIN(_PyTruffle_HashBytes, Py_hash_t, const char*) \
589
- BUILTIN(_PyTruffle_Trace_Free , int, void *, Py_ssize_t) \
600
+ BUILTIN(_PyTuple_SET_ITEM , int, PyObject *, Py_ssize_t, PyObject* ) \
590
601
BUILTIN(_PyType_Lookup, PyObject*, PyTypeObject*, PyObject*) \
591
602
BUILTIN(_PyUnicode_AsASCIIString, PyObject*, PyObject*, const char*) \
592
603
BUILTIN(_PyUnicode_AsLatin1String, PyObject*, PyObject*, const char*) \
@@ -823,6 +834,7 @@ static void PyTruffle_Log(int level, const char* format, ... ) {
823
834
va_list args ;
824
835
va_start (args , format );
825
836
vsprintf (buffer ,format , args );
837
+ printf ("logg\n" );
826
838
#ifndef EXCLUDE_POLYGLOT_API
827
839
GraalPyTruffle_LogString (level , polyglot_from_string (buffer , SRC_CS ));
828
840
#else
@@ -832,7 +844,11 @@ static void PyTruffle_Log(int level, const char* format, ... ) {
832
844
}
833
845
}
834
846
835
- #ifndef EXCLUDE_POLYGLOT_API
847
+ #ifdef EXCLUDE_POLYGLOT_API
848
+
849
+ #define points_to_py_handle_space (PTR ) ((((uintptr_t) (PTR)) & 0x8000000000000000L) != 0)
850
+
851
+ #else // EXCLUDE_POLYGLOT_API
836
852
837
853
typedef int (* cache_query_t )(uint64_t );
838
854
typedef PyObject * (* ptr_cache_t )(PyObject * );
@@ -990,4 +1006,8 @@ PyAPI_FUNC(int) _PyArg_VaParseTupleAndKeywords_SizeT(PyObject *, PyObject *,
990
1006
991
1007
#endif // !EXCLUDE_POLYGLOT_API
992
1008
1009
+ extern size_t PyTruffle_AllocatedMemory ;
1010
+ extern size_t PyTruffle_MaxNativeMemory ;
1011
+ extern size_t PyTruffle_NativeMemoryGCBarrier ;
1012
+
993
1013
#endif // CAPI_H
0 commit comments