2626#include <jni.h>
2727#include <trufflenfi.h>
2828
29- JNIEXPORT void * JNICALL dupClosureRef (TruffleEnv * truffle_env , void * closure );
29+ struct Varargs {
30+ const struct VarargsInterface * functions ;
31+ };
3032
31- JNIEXPORT JNIEnv * JNICALL initializeNativeContext (TruffleEnv * truffle_env , void * (* fetch_by_name )(const char * ));
33+ JNIEXPORT JNIEnv * JNICALL initializeNativeContext (void * (* fetch_by_name )(const char * ));
3234
33- JNIEXPORT void JNICALL disposeNativeContext (TruffleEnv * truffle_env , JNIEnv * env );
35+ JNIEXPORT void JNICALL disposeNativeContext (JNIEnv * env , void ( * release_closure )( void * ) );
3436
3537// varargs support
3638JNIEXPORT jboolean JNICALL pop_boolean (struct Varargs * varargs );
@@ -50,6 +52,144 @@ JNIEXPORT void * JNICALL reallocateMemory(void *ptr, size_t new_size);
5052JNIEXPORT void JNICALL ctypeInit (void );
5153JNIEXPORT jlong JNICALL get_SIZE_MAX ();
5254
55+ #define JNI_FUNCTION_LIST (V ) \
56+ V(GetVersion) \
57+ V(DefineClass) \
58+ V(FindClass) \
59+ V(FromReflectedMethod) \
60+ V(FromReflectedField) \
61+ V(ToReflectedMethod) \
62+ V(GetSuperclass) \
63+ V(IsAssignableFrom) \
64+ V(ToReflectedField) \
65+ V(Throw) \
66+ V(ThrowNew) \
67+ V(ExceptionOccurred) \
68+ V(ExceptionDescribe) \
69+ V(ExceptionClear) \
70+ V(FatalError) \
71+ V(PushLocalFrame) \
72+ V(PopLocalFrame) \
73+ V(DeleteLocalRef) \
74+ V(NewLocalRef) \
75+ V(EnsureLocalCapacity) \
76+ V(AllocObject) \
77+ V(GetObjectClass) \
78+ V(IsInstanceOf) \
79+ V(GetMethodID) \
80+ V(GetFieldID) \
81+ V(GetObjectField) \
82+ V(GetBooleanField) \
83+ V(GetByteField) \
84+ V(GetCharField) \
85+ V(GetShortField) \
86+ V(GetIntField) \
87+ V(GetLongField) \
88+ V(GetFloatField) \
89+ V(GetDoubleField) \
90+ V(SetObjectField) \
91+ V(SetBooleanField) \
92+ V(SetByteField) \
93+ V(SetCharField) \
94+ V(SetShortField) \
95+ V(SetIntField) \
96+ V(SetLongField) \
97+ V(SetFloatField) \
98+ V(SetDoubleField) \
99+ V(GetStaticMethodID) \
100+ V(GetStaticFieldID) \
101+ V(GetStaticObjectField) \
102+ V(GetStaticBooleanField) \
103+ V(GetStaticByteField) \
104+ V(GetStaticCharField) \
105+ V(GetStaticShortField) \
106+ V(GetStaticIntField) \
107+ V(GetStaticLongField) \
108+ V(GetStaticFloatField) \
109+ V(GetStaticDoubleField) \
110+ V(SetStaticObjectField) \
111+ V(SetStaticBooleanField) \
112+ V(SetStaticByteField) \
113+ V(SetStaticCharField) \
114+ V(SetStaticShortField) \
115+ V(SetStaticIntField) \
116+ V(SetStaticLongField) \
117+ V(SetStaticFloatField) \
118+ V(SetStaticDoubleField) \
119+ V(NewString) \
120+ V(GetStringLength) \
121+ V(GetStringChars) \
122+ V(ReleaseStringChars) \
123+ V(NewStringUTF) \
124+ V(GetStringUTFLength) \
125+ V(GetStringUTFChars) \
126+ V(ReleaseStringUTFChars) \
127+ V(GetArrayLength) \
128+ V(NewObjectArray) \
129+ V(GetObjectArrayElement) \
130+ V(SetObjectArrayElement) \
131+ V(NewBooleanArray) \
132+ V(NewByteArray) \
133+ V(NewCharArray) \
134+ V(NewShortArray) \
135+ V(NewIntArray) \
136+ V(NewLongArray) \
137+ V(NewFloatArray) \
138+ V(NewDoubleArray) \
139+ V(GetBooleanArrayElements) \
140+ V(GetByteArrayElements) \
141+ V(GetCharArrayElements) \
142+ V(GetShortArrayElements) \
143+ V(GetIntArrayElements) \
144+ V(GetLongArrayElements) \
145+ V(GetFloatArrayElements) \
146+ V(GetDoubleArrayElements) \
147+ V(ReleaseBooleanArrayElements) \
148+ V(ReleaseByteArrayElements) \
149+ V(ReleaseCharArrayElements) \
150+ V(ReleaseShortArrayElements) \
151+ V(ReleaseIntArrayElements) \
152+ V(ReleaseLongArrayElements) \
153+ V(ReleaseFloatArrayElements) \
154+ V(ReleaseDoubleArrayElements) \
155+ V(GetBooleanArrayRegion) \
156+ V(GetByteArrayRegion) \
157+ V(GetCharArrayRegion) \
158+ V(GetShortArrayRegion) \
159+ V(GetIntArrayRegion) \
160+ V(GetLongArrayRegion) \
161+ V(GetFloatArrayRegion) \
162+ V(GetDoubleArrayRegion) \
163+ V(SetBooleanArrayRegion) \
164+ V(SetByteArrayRegion) \
165+ V(SetCharArrayRegion) \
166+ V(SetShortArrayRegion) \
167+ V(SetIntArrayRegion) \
168+ V(SetLongArrayRegion) \
169+ V(SetFloatArrayRegion) \
170+ V(SetDoubleArrayRegion) \
171+ V(UnregisterNatives) \
172+ V(MonitorEnter) \
173+ V(MonitorExit) \
174+ V(GetStringRegion) \
175+ V(GetStringUTFRegion) \
176+ V(GetPrimitiveArrayCritical) \
177+ V(ReleasePrimitiveArrayCritical) \
178+ V(GetStringCritical) \
179+ V(ReleaseStringCritical) \
180+ V(ExceptionCheck) \
181+ V(GetDirectBufferAddress) \
182+ V(GetDirectBufferCapacity) \
183+ V(GetObjectRefType) \
184+ V(IsSameObject) \
185+ V(NewGlobalRef) \
186+ V(DeleteGlobalRef) \
187+ V(NewWeakGlobalRef) \
188+ V(DeleteWeakGlobalRef) \
189+ V(NewDirectByteBuffer) \
190+ V(GetModule)
191+
192+
53193#endif // _NESPRESSO_H
54194
55195
0 commit comments