6262#include <graalvm/llvm/polyglot.h>
6363#include <truffle.h>
6464#include <graalvm/llvm/handles.h>
65- #endif
65+ #endif // EXCLUDE_POLYGLOT_API
6666
6767#define SRC_CS "utf-8"
6868
@@ -153,7 +153,6 @@ typedef struct {
153153 BUILTIN(PyException_SetContext, void, PyObject*, PyObject*) \
154154 BUILTIN(PyException_SetTraceback, int, PyObject*, PyObject*) \
155155 BUILTIN(PyFile_WriteObject, int, PyObject*, PyObject*, int) \
156- BUILTIN(PyFloat_AsDouble, double, PyObject*) \
157156 BUILTIN(PyFloat_FromDouble, PyObject*, double) \
158157 BUILTIN(PyFrame_New, PyFrameObject*, PyThreadState*, PyCodeObject*, PyObject*, PyObject*) \
159158 BUILTIN(PyFrozenSet_New, PyObject*, PyObject*) \
@@ -280,17 +279,27 @@ typedef struct {
280279 BUILTIN(PyTruffleCMethod_NewEx, PyObject*, PyMethodDef*, const char*, void*, int, int, PyObject*, PyObject*, PyTypeObject*, const char*) \
281280 BUILTIN(PyTruffleComplex_AsCComplex, PyObject*, PyObject*) \
282281 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*) \
283291 BUILTIN(PyTruffleDescr_NewClassMethod, PyObject*, void*, const char*, const char*, int, int, void*, PyTypeObject*) \
284292 BUILTIN(PyTruffleDescr_NewGetSet, PyObject*, const char*, PyTypeObject*, void*, void*, const char*, void*) \
285293 BUILTIN(PyTruffleDict_Next, PyObject*, PyObject*, Py_ssize_t) \
286294 BUILTIN(PyTruffleErr_Fetch, PyObject*) \
287295 BUILTIN(PyTruffleErr_GetExcInfo, PyObject*) \
296+ BUILTIN(PyTruffleFloat_AsDouble, double, PyObject*) \
288297 BUILTIN(PyTruffleHash_InitSecret, void, void*) \
289298 BUILTIN(PyTruffleLong_AsPrimitive, long, PyObject*, int, long) \
290299 BUILTIN(PyTruffleLong_FromString, PyObject*, const char*, int, int) \
291300 BUILTIN(PyTruffleLong_One, PyObject*) \
292301 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 *) \
294303 BUILTIN(PyTruffleNumber_BinOp, PyObject*, PyObject*, PyObject*, int) \
295304 BUILTIN(PyTruffleNumber_InPlaceBinOp, PyObject*, PyObject*, PyObject*, int) \
296305 BUILTIN(PyTruffleNumber_UnaryOp, PyObject*, PyObject*, int) \
@@ -303,10 +312,10 @@ typedef struct {
303312 BUILTIN(PyTruffleStructSequence_InitType2, int, PyTypeObject*, void*, void*, int) \
304313 BUILTIN(PyTruffleStructSequence_NewType, PyTypeObject*, const char*, const char*, void*, void*, int) \
305314 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 *) \
310319 BUILTIN(PyTruffleUnicode_Decode, PyObject*, PyObject*, const char*, const char*) \
311320 BUILTIN(PyTruffleUnicode_DecodeUTF8Stateful, PyObject*, void*, const char*, int) \
312321 BUILTIN(PyTruffleUnicode_FromUCS, PyObject*, void*, Py_ssize_t, int) \
@@ -326,20 +335,22 @@ typedef struct {
326335 BUILTIN(PyTruffle_FileSystemDefaultEncoding, PyObject*) \
327336 BUILTIN(PyTruffle_Get_Inherited_Native_Slots, void*, PyTypeObject*, const char*) \
328337 BUILTIN(PyTruffle_HashConstant, long, int) \
338+ BUILTIN(PyTruffle_InitialNativeMemory, size_t) \
329339 BUILTIN(PyTruffle_LogString, void, int, const char*) \
340+ BUILTIN(PyTruffle_MaxNativeMemory, size_t) \
330341 BUILTIN(PyTruffle_MemoryViewFromBuffer, PyObject*, void*, PyObject*, Py_ssize_t, int, Py_ssize_t, const char*, int, void*, void*, void*, void*) \
331342 BUILTIN(PyTruffle_Native_Options, int) \
332343 BUILTIN(PyTruffle_NewTypeDict, PyObject*, PyTypeObject*) \
333344 BUILTIN(PyTruffle_NoValue, PyObject*) \
334345 BUILTIN(PyTruffle_None, PyObject*) \
335346 BUILTIN(PyTruffle_NotImplemented, PyObject*) \
336- BUILTIN(PyTruffle_Object_Alloc, int, void*, long) \
337347 BUILTIN(PyTruffle_Object_Free, int, void*) \
338348 BUILTIN(PyTruffle_Register_NULL, void, void*) \
339349 BUILTIN(PyTruffle_Set_Native_Slots, int, PyTypeObject*, void*, void*) \
340350 BUILTIN(PyTruffle_Set_SulongType, void*, PyTypeObject*, void*) \
341351 BUILTIN(PyTruffle_ToNative, int, void*) \
342352 BUILTIN(PyTruffle_Trace_Type, int, void*, void*) \
353+ BUILTIN(PyTruffle_TriggerGC, void, size_t) \
343354 BUILTIN(PyTruffle_True, PyObject*) \
344355 BUILTIN(PyTruffle_Type, PyTypeObject*, const char*) \
345356 BUILTIN(PyTruffle_Type_Modified, int, PyTypeObject*, const char*, PyObject*) \
@@ -586,7 +597,7 @@ typedef struct {
586597 BUILTIN(_PyTruffleObject_MakeTpCall, PyObject*, PyObject*, void*, int, void*, void*) \
587598 BUILTIN(_PyTruffleSet_NextEntry, PyObject*, PyObject*, Py_ssize_t) \
588599 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* ) \
590601 BUILTIN(_PyType_Lookup, PyObject*, PyTypeObject*, PyObject*) \
591602 BUILTIN(_PyUnicode_AsASCIIString, PyObject*, PyObject*, const char*) \
592603 BUILTIN(_PyUnicode_AsLatin1String, PyObject*, PyObject*, const char*) \
@@ -823,6 +834,7 @@ static void PyTruffle_Log(int level, const char* format, ... ) {
823834 va_list args ;
824835 va_start (args , format );
825836 vsprintf (buffer ,format , args );
837+ printf ("logg\n" );
826838#ifndef EXCLUDE_POLYGLOT_API
827839 GraalPyTruffle_LogString (level , polyglot_from_string (buffer , SRC_CS ));
828840#else
@@ -832,7 +844,11 @@ static void PyTruffle_Log(int level, const char* format, ... ) {
832844 }
833845}
834846
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
836852
837853typedef int (* cache_query_t )(uint64_t );
838854typedef PyObject * (* ptr_cache_t )(PyObject * );
@@ -990,4 +1006,8 @@ PyAPI_FUNC(int) _PyArg_VaParseTupleAndKeywords_SizeT(PyObject *, PyObject *,
9901006
9911007#endif // !EXCLUDE_POLYGLOT_API
9921008
1009+ extern size_t PyTruffle_AllocatedMemory ;
1010+ extern size_t PyTruffle_MaxNativeMemory ;
1011+ extern size_t PyTruffle_NativeMemoryGCBarrier ;
1012+
9931013#endif // CAPI_H
0 commit comments