Skip to content

Commit 3f33e6f

Browse files
committed
Temporarily patch signatures of context function:
1 parent 1d110f6 commit 3f33e6f

File tree

2 files changed

+83
-80
lines changed

2 files changed

+83
-80
lines changed

graalpython/com.oracle.graal.python.cext/include/universal/autogen_ctx.h

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -15,45 +15,45 @@ struct _HPyContext_s {
1515
HPy h_False;
1616
HPy h_ValueError;
1717
HPy h_TypeError;
18-
HPy (*ctx_Module_Create)(HPyContext ctx, HPyModuleDef *def);
19-
HPy (*ctx_Dup)(HPyContext ctx, HPy h);
20-
void (*ctx_Close)(HPyContext ctx, HPy h);
21-
HPy (*ctx_Long_FromLong)(HPyContext ctx, long value);
22-
HPy (*ctx_Long_FromLongLong)(HPyContext ctx, long long v);
23-
HPy (*ctx_Long_FromUnsignedLongLong)(HPyContext ctx, unsigned long long v);
24-
long (*ctx_Long_AsLong)(HPyContext ctx, HPy h);
25-
HPy (*ctx_Float_FromDouble)(HPyContext ctx, double v);
26-
HPy (*ctx_Number_Add)(HPyContext ctx, HPy h1, HPy h2);
27-
void (*ctx_Err_SetString)(HPyContext ctx, HPy h_type, const char *message);
18+
void* (*ctx_Module_Create)(HPyContext ctx, HPyModuleDef *def);
19+
void* (*ctx_Dup)(HPyContext ctx, void* h);
20+
void (*ctx_Close)(HPyContext ctx, void* h);
21+
void* (*ctx_Long_FromLong)(HPyContext ctx, long value);
22+
void* (*ctx_Long_FromLongLong)(HPyContext ctx, long long v);
23+
void* (*ctx_Long_FromUnsignedLongLong)(HPyContext ctx, unsigned long long v);
24+
long (*ctx_Long_AsLong)(HPyContext ctx, void* h);
25+
void* (*ctx_Float_FromDouble)(HPyContext ctx, double v);
26+
void* (*ctx_Number_Add)(HPyContext ctx, void* h1, void* h2);
27+
void (*ctx_Err_SetString)(HPyContext ctx, void* h_type, const char *message);
2828
int (*ctx_Err_Occurred)(HPyContext ctx);
29-
int (*ctx_Object_IsTrue)(HPyContext ctx, HPy h);
30-
HPy (*ctx_GetAttr)(HPyContext ctx, HPy obj, HPy name);
31-
HPy (*ctx_GetAttr_s)(HPyContext ctx, HPy obj, const char *name);
32-
int (*ctx_HasAttr)(HPyContext ctx, HPy obj, HPy name);
33-
int (*ctx_HasAttr_s)(HPyContext ctx, HPy obj, const char *name);
34-
int (*ctx_SetAttr)(HPyContext ctx, HPy obj, HPy name, HPy value);
35-
int (*ctx_SetAttr_s)(HPyContext ctx, HPy obj, const char *name, HPy value);
36-
HPy (*ctx_GetItem)(HPyContext ctx, HPy obj, HPy key);
37-
HPy (*ctx_GetItem_i)(HPyContext ctx, HPy obj, HPy_ssize_t idx);
38-
HPy (*ctx_GetItem_s)(HPyContext ctx, HPy obj, const char *key);
39-
int (*ctx_SetItem)(HPyContext ctx, HPy obj, HPy key, HPy value);
40-
int (*ctx_SetItem_i)(HPyContext ctx, HPy obj, HPy_ssize_t idx, HPy value);
41-
int (*ctx_SetItem_s)(HPyContext ctx, HPy obj, const char *key, HPy value);
42-
int (*ctx_Bytes_Check)(HPyContext ctx, HPy h);
43-
HPy_ssize_t (*ctx_Bytes_Size)(HPyContext ctx, HPy h);
44-
HPy_ssize_t (*ctx_Bytes_GET_SIZE)(HPyContext ctx, HPy h);
45-
char *(*ctx_Bytes_AsString)(HPyContext ctx, HPy h);
46-
char *(*ctx_Bytes_AS_STRING)(HPyContext ctx, HPy h);
47-
HPy (*ctx_Unicode_FromString)(HPyContext ctx, const char *utf8);
48-
int (*ctx_Unicode_Check)(HPyContext ctx, HPy h);
49-
HPy (*ctx_Unicode_AsUTF8String)(HPyContext ctx, HPy h);
50-
HPy (*ctx_Unicode_FromWideChar)(HPyContext ctx, const wchar_t *w, HPy_ssize_t size);
51-
HPy (*ctx_List_New)(HPyContext ctx, HPy_ssize_t len);
52-
int (*ctx_List_Append)(HPyContext ctx, HPy h_list, HPy h_item);
53-
HPy (*ctx_Dict_New)(HPyContext ctx);
54-
int (*ctx_Dict_SetItem)(HPyContext ctx, HPy h_dict, HPy h_key, HPy h_val);
55-
HPy (*ctx_Dict_GetItem)(HPyContext ctx, HPy h_dict, HPy h_key);
56-
HPy (*ctx_FromPyObject)(HPyContext ctx, struct _object *obj);
57-
struct _object *(*ctx_AsPyObject)(HPyContext ctx, HPy h);
29+
int (*ctx_Object_IsTrue)(HPyContext ctx, void* h);
30+
void* (*ctx_GetAttr)(HPyContext ctx, void* obj, void* name);
31+
void* (*ctx_GetAttr_s)(HPyContext ctx, void* obj, const char *name);
32+
int (*ctx_HasAttr)(HPyContext ctx, void* obj, void* name);
33+
int (*ctx_HasAttr_s)(HPyContext ctx, void* obj, const char *name);
34+
int (*ctx_SetAttr)(HPyContext ctx, void* obj, void* name, void* value);
35+
int (*ctx_SetAttr_s)(HPyContext ctx, void* obj, const char *name, void* value);
36+
void* (*ctx_GetItem)(HPyContext ctx, void* obj, void* key);
37+
void* (*ctx_GetItem_i)(HPyContext ctx, void* obj, HPy_ssize_t idx);
38+
void* (*ctx_GetItem_s)(HPyContext ctx, void* obj, const char *key);
39+
int (*ctx_SetItem)(HPyContext ctx, void* obj, void* key, void* value);
40+
int (*ctx_SetItem_i)(HPyContext ctx, void* obj, HPy_ssize_t idx, void* value);
41+
int (*ctx_SetItem_s)(HPyContext ctx, void* obj, const char *key, void* value);
42+
int (*ctx_Bytes_Check)(HPyContext ctx, void* h);
43+
HPy_ssize_t (*ctx_Bytes_Size)(HPyContext ctx, void* h);
44+
HPy_ssize_t (*ctx_Bytes_GET_SIZE)(HPyContext ctx, void* h);
45+
char *(*ctx_Bytes_AsString)(HPyContext ctx, void* h);
46+
char *(*ctx_Bytes_AS_STRING)(HPyContext ctx, void* h);
47+
void* (*ctx_Unicode_FromString)(HPyContext ctx, const char *utf8);
48+
int (*ctx_Unicode_Check)(HPyContext ctx, void* h);
49+
void* (*ctx_Unicode_AsUTF8String)(HPyContext ctx, void* h);
50+
void* (*ctx_Unicode_FromWideChar)(HPyContext ctx, const wchar_t *w, HPy_ssize_t size);
51+
void* (*ctx_List_New)(HPyContext ctx, HPy_ssize_t len);
52+
int (*ctx_List_Append)(HPyContext ctx, void* h_list, void* h_item);
53+
void* (*ctx_Dict_New)(HPyContext ctx);
54+
int (*ctx_Dict_SetItem)(HPyContext ctx, void* h_dict, void* h_key, void* h_val);
55+
void* (*ctx_Dict_GetItem)(HPyContext ctx, void* h_dict, void* h_key);
56+
void* (*ctx_FromPyObject)(HPyContext ctx, struct _object *obj);
57+
struct _object *(*ctx_AsPyObject)(HPyContext ctx, void* h);
5858
struct _object *(*ctx_CallRealFunctionFromTrampoline)(HPyContext ctx, struct _object *self, struct _object *args, struct _object *kw, void *func, int ml_flags);
5959
};

graalpython/com.oracle.graal.python.cext/include/universal/autogen_trampolines.h

Lines changed: 44 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -8,167 +8,170 @@
88
99
*/
1010

11+
#define UNWRAP(_h) ((_h)._i)
12+
#define WRAP(_ptr) ((HPy){(_ptr)})
13+
1114
static inline HPy HPyModule_Create(HPyContext ctx, HPyModuleDef *def) {
12-
return ctx->ctx_Module_Create ( ctx, def );
15+
return WRAP(ctx->ctx_Module_Create ( ctx, def ));
1316
}
1417

1518
static inline HPy HPy_Dup(HPyContext ctx, HPy h) {
16-
return ctx->ctx_Dup ( ctx, h );
19+
return WRAP(ctx->ctx_Dup ( ctx, UNWRAP(h) ));
1720
}
1821

1922
static inline void HPy_Close(HPyContext ctx, HPy h) {
20-
ctx->ctx_Close ( ctx, h );
23+
ctx->ctx_Close ( ctx, UNWRAP(h) );
2124
}
2225

2326
static inline HPy HPyLong_FromLong(HPyContext ctx, long value) {
24-
return ctx->ctx_Long_FromLong ( ctx, value );
27+
return WRAP(ctx->ctx_Long_FromLong ( ctx, value ));
2528
}
2629

2730
static inline HPy HPyLong_FromLongLong(HPyContext ctx, long long v) {
28-
return ctx->ctx_Long_FromLongLong ( ctx, v );
31+
return WRAP(ctx->ctx_Long_FromLongLong ( ctx, v ));
2932
}
3033

3134
static inline HPy HPyLong_FromUnsignedLongLong(HPyContext ctx, unsigned long long v) {
32-
return ctx->ctx_Long_FromUnsignedLongLong ( ctx, v );
35+
return WRAP(ctx->ctx_Long_FromUnsignedLongLong ( ctx, v ));
3336
}
3437

3538
static inline long HPyLong_AsLong(HPyContext ctx, HPy h) {
36-
return ctx->ctx_Long_AsLong ( ctx, h );
39+
return ctx->ctx_Long_AsLong ( ctx, UNWRAP(h) );
3740
}
3841

3942
static inline HPy HPyFloat_FromDouble(HPyContext ctx, double v) {
40-
return ctx->ctx_Float_FromDouble ( ctx, v );
43+
return WRAP(ctx->ctx_Float_FromDouble ( ctx, v ));
4144
}
4245

4346
static inline HPy HPyNumber_Add(HPyContext ctx, HPy h1, HPy h2) {
44-
return ctx->ctx_Number_Add ( ctx, h1, h2 );
47+
return WRAP(ctx->ctx_Number_Add ( ctx, UNWRAP(h1), UNWRAP(h2) ));
4548
}
4649

4750
static inline void HPyErr_SetString(HPyContext ctx, HPy h_type, const char *message) {
48-
ctx->ctx_Err_SetString ( ctx, h_type, message );
51+
ctx->ctx_Err_SetString ( ctx, UNWRAP(h_type), message );
4952
}
5053

5154
static inline int HPyErr_Occurred(HPyContext ctx) {
52-
return ctx->ctx_Err_Occurred ( ctx );
55+
return ctx->ctx_Err_Occurred ( ctx );
5356
}
5457

5558
static inline int HPyObject_IsTrue(HPyContext ctx, HPy h) {
56-
return ctx->ctx_Object_IsTrue ( ctx, h );
59+
return ctx->ctx_Object_IsTrue ( ctx, UNWRAP(h) );
5760
}
5861

5962
static inline HPy HPy_GetAttr(HPyContext ctx, HPy obj, HPy name) {
60-
return ctx->ctx_GetAttr ( ctx, obj, name );
63+
return WRAP(ctx->ctx_GetAttr ( ctx, UNWRAP(obj), UNWRAP(name) ));
6164
}
6265

6366
static inline HPy HPy_GetAttr_s(HPyContext ctx, HPy obj, const char *name) {
64-
return ctx->ctx_GetAttr_s ( ctx, obj, name );
67+
return WRAP(ctx->ctx_GetAttr_s ( ctx, UNWRAP(obj), name ));
6568
}
6669

6770
static inline int HPy_HasAttr(HPyContext ctx, HPy obj, HPy name) {
68-
return ctx->ctx_HasAttr ( ctx, obj, name );
71+
return ctx->ctx_HasAttr ( ctx, UNWRAP(obj), UNWRAP(name) );
6972
}
7073

7174
static inline int HPy_HasAttr_s(HPyContext ctx, HPy obj, const char *name) {
72-
return ctx->ctx_HasAttr_s ( ctx, obj, name );
75+
return ctx->ctx_HasAttr_s ( ctx, UNWRAP(obj), name );
7376
}
7477

7578
static inline int HPy_SetAttr(HPyContext ctx, HPy obj, HPy name, HPy value) {
76-
return ctx->ctx_SetAttr ( ctx, obj, name, value );
79+
return ctx->ctx_SetAttr ( ctx, UNWRAP(obj), UNWRAP(name), UNWRAP(value));
7780
}
7881

7982
static inline int HPy_SetAttr_s(HPyContext ctx, HPy obj, const char *name, HPy value) {
80-
return ctx->ctx_SetAttr_s ( ctx, obj, name, value );
83+
return ctx->ctx_SetAttr_s ( ctx, UNWRAP(obj), name, UNWRAP(value));
8184
}
8285

8386
static inline HPy HPy_GetItem(HPyContext ctx, HPy obj, HPy key) {
84-
return ctx->ctx_GetItem ( ctx, obj, key );
87+
return WRAP(ctx->ctx_GetItem ( ctx, UNWRAP(obj), UNWRAP(key)));
8588
}
8689

8790
static inline HPy HPy_GetItem_i(HPyContext ctx, HPy obj, HPy_ssize_t idx) {
88-
return ctx->ctx_GetItem_i ( ctx, obj, idx );
91+
return WRAP(ctx->ctx_GetItem_i ( ctx, UNWRAP(obj), idx ));
8992
}
9093

9194
static inline HPy HPy_GetItem_s(HPyContext ctx, HPy obj, const char *key) {
92-
return ctx->ctx_GetItem_s ( ctx, obj, key );
95+
return WRAP(ctx->ctx_GetItem_s ( ctx, UNWRAP(obj), key ));
9396
}
9497

9598
static inline int HPy_SetItem(HPyContext ctx, HPy obj, HPy key, HPy value) {
96-
return ctx->ctx_SetItem ( ctx, obj, key, value );
99+
return ctx->ctx_SetItem ( ctx, UNWRAP(obj), UNWRAP(key), UNWRAP(value));
97100
}
98101

99102
static inline int HPy_SetItem_i(HPyContext ctx, HPy obj, HPy_ssize_t idx, HPy value) {
100-
return ctx->ctx_SetItem_i ( ctx, obj, idx, value );
103+
return ctx->ctx_SetItem_i ( ctx, UNWRAP(obj), idx, UNWRAP(value));
101104
}
102105

103106
static inline int HPy_SetItem_s(HPyContext ctx, HPy obj, const char *key, HPy value) {
104-
return ctx->ctx_SetItem_s ( ctx, obj, key, value );
107+
return ctx->ctx_SetItem_s ( ctx, UNWRAP(obj), key, UNWRAP(value));
105108
}
106109

107110
static inline int HPyBytes_Check(HPyContext ctx, HPy h) {
108-
return ctx->ctx_Bytes_Check ( ctx, h );
111+
return ctx->ctx_Bytes_Check ( ctx, UNWRAP(h) );
109112
}
110113

111114
static inline HPy_ssize_t HPyBytes_Size(HPyContext ctx, HPy h) {
112-
return ctx->ctx_Bytes_Size ( ctx, h );
115+
return ctx->ctx_Bytes_Size ( ctx, UNWRAP(h) );
113116
}
114117

115118
static inline HPy_ssize_t HPyBytes_GET_SIZE(HPyContext ctx, HPy h) {
116-
return ctx->ctx_Bytes_GET_SIZE ( ctx, h );
119+
return ctx->ctx_Bytes_GET_SIZE ( ctx, UNWRAP(h) );
117120
}
118121

119122
static inline char *HPyBytes_AsString(HPyContext ctx, HPy h) {
120-
return ctx->ctx_Bytes_AsString ( ctx, h );
123+
return ctx->ctx_Bytes_AsString ( ctx, UNWRAP(h) );
121124
}
122125

123126
static inline char *HPyBytes_AS_STRING(HPyContext ctx, HPy h) {
124-
return ctx->ctx_Bytes_AS_STRING ( ctx, h );
127+
return ctx->ctx_Bytes_AS_STRING ( ctx, UNWRAP(h) );
125128
}
126129

127130
static inline HPy HPyUnicode_FromString(HPyContext ctx, const char *utf8) {
128-
return ctx->ctx_Unicode_FromString ( ctx, utf8 );
131+
return WRAP(ctx->ctx_Unicode_FromString ( ctx, utf8 ));
129132
}
130133

131134
static inline int HPyUnicode_Check(HPyContext ctx, HPy h) {
132-
return ctx->ctx_Unicode_Check ( ctx, h );
135+
return ctx->ctx_Unicode_Check ( ctx, UNWRAP(h) );
133136
}
134137

135138
static inline HPy HPyUnicode_AsUTF8String(HPyContext ctx, HPy h) {
136-
return ctx->ctx_Unicode_AsUTF8String ( ctx, h );
139+
return WRAP(ctx->ctx_Unicode_AsUTF8String ( ctx, UNWRAP(h) ));
137140
}
138141

139142
static inline HPy HPyUnicode_FromWideChar(HPyContext ctx, const wchar_t *w, HPy_ssize_t size) {
140-
return ctx->ctx_Unicode_FromWideChar ( ctx, w, size );
143+
return WRAP(ctx->ctx_Unicode_FromWideChar ( ctx, w, size ));
141144
}
142145

143146
static inline HPy HPyList_New(HPyContext ctx, HPy_ssize_t len) {
144-
return ctx->ctx_List_New ( ctx, len );
147+
return WRAP(ctx->ctx_List_New ( ctx, len ));
145148
}
146149

147150
static inline int HPyList_Append(HPyContext ctx, HPy h_list, HPy h_item) {
148-
return ctx->ctx_List_Append ( ctx, h_list, h_item );
151+
return ctx->ctx_List_Append ( ctx, UNWRAP(h_list), UNWRAP(h_item) );
149152
}
150153

151154
static inline HPy HPyDict_New(HPyContext ctx) {
152-
return ctx->ctx_Dict_New ( ctx );
155+
return WRAP(ctx->ctx_Dict_New ( ctx ));
153156
}
154157

155158
static inline int HPyDict_SetItem(HPyContext ctx, HPy h_dict, HPy h_key, HPy h_val) {
156-
return ctx->ctx_Dict_SetItem ( ctx, h_dict, h_key, h_val );
159+
return ctx->ctx_Dict_SetItem ( ctx, UNWRAP(h_dict), UNWRAP(h_key), UNWRAP(h_val) );
157160
}
158161

159162
static inline HPy HPyDict_GetItem(HPyContext ctx, HPy h_dict, HPy h_key) {
160-
return ctx->ctx_Dict_GetItem ( ctx, h_dict, h_key );
163+
return WRAP(ctx->ctx_Dict_GetItem ( ctx, UNWRAP(h_dict), UNWRAP(h_key) ));
161164
}
162165

163166
static inline HPy HPy_FromPyObject(HPyContext ctx, struct _object *obj) {
164-
return ctx->ctx_FromPyObject ( ctx, obj );
167+
return WRAP(ctx->ctx_FromPyObject ( ctx, obj ));
165168
}
166169

167170
static inline struct _object *HPy_AsPyObject(HPyContext ctx, HPy h) {
168-
return ctx->ctx_AsPyObject ( ctx, h );
171+
return ctx->ctx_AsPyObject ( ctx, UNWRAP(h) );
169172
}
170173

171174
static inline struct _object *_HPy_CallRealFunctionFromTrampoline(HPyContext ctx, struct _object *self, struct _object *args, struct _object *kw, void *func, int ml_flags) {
172-
return ctx->ctx_CallRealFunctionFromTrampoline ( ctx, self, args, kw, func, ml_flags );
175+
return ctx->ctx_CallRealFunctionFromTrampoline ( ctx, self, args, kw, func, ml_flags );
173176
}
174177

0 commit comments

Comments
 (0)