Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openj9
Path: blob/master/runtime/j9vm31/jnicgen.cpp
5985 views
1
/*******************************************************************************
2
* Copyright (c) 2021, 2021 IBM Corp. and others
3
*
4
* This program and the accompanying materials are made available under
5
* the terms of the Eclipse Public License 2.0 which accompanies this
6
* distribution and is available at https://www.eclipse.org/legal/epl-2.0/
7
* or the Apache License, Version 2.0 which accompanies this distribution and
8
* is available at https://www.apache.org/licenses/LICENSE-2.0.
9
*
10
* This Source Code may also be made available under the following
11
* Secondary Licenses when the conditions for such availability set
12
* forth in the Eclipse Public License, v. 2.0 are satisfied: GNU
13
* General Public License, version 2 with the GNU Classpath
14
* Exception [1] and GNU General Public License, version 2 with the
15
* OpenJDK Assembly Exception [2].
16
*
17
* [1] https://www.gnu.org/software/classpath/license.html
18
* [2] http://openjdk.java.net/legal/assembly-exception.html
19
*
20
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
21
*******************************************************************************/
22
23
#include "j9vm31.h"
24
25
static jobject
26
CallObjectMethodV_64(JNIEnv *env, jobject obj, jmethodID methodID, va_list_64 parms)
27
{
28
const jint NUM_ARGS = 4;
29
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
30
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, methodID, (uint64_t)parms };
31
jobject returnValue = NULL;
32
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallObjectMethodV);
33
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jobject, &returnValue);
34
return returnValue;
35
}
36
37
jobject JNICALL
38
CallObjectMethod(JNIEnv *env, jobject obj, jmethodID methodID, ...)
39
{
40
va_list_64 parms;
41
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
42
43
return CallObjectMethodV_64(env, obj, methodID, parms);
44
}
45
46
jobject JNICALL
47
CallObjectMethodV(JNIEnv *env, jobject obj, jmethodID methodID, va_list arg)
48
{
49
va_list_64 parms;
50
// Extract the arguments pointer from 31-bit va_list.
51
char *arguments = (char *)((int *)arg)[1];
52
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
53
54
return CallObjectMethodV_64(env, obj, methodID, parms);
55
}
56
57
jobject JNICALL
58
CallObjectMethodA(JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args)
59
{
60
const jint NUM_ARGS = 4;
61
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
62
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, methodID, (uint64_t)args };
63
jobject returnValue = NULL;
64
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallObjectMethodA);
65
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jobject, &returnValue);
66
return returnValue;
67
}
68
69
static jboolean
70
CallBooleanMethodV_64(JNIEnv *env, jobject obj, jmethodID methodID, va_list_64 parms)
71
{
72
const jint NUM_ARGS = 4;
73
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
74
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, methodID, (uint64_t)parms };
75
jboolean returnValue = NULL;
76
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallBooleanMethodV);
77
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jboolean, &returnValue);
78
return returnValue;
79
}
80
81
jboolean JNICALL
82
CallBooleanMethod(JNIEnv *env, jobject obj, jmethodID methodID, ...)
83
{
84
va_list_64 parms;
85
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
86
87
return CallBooleanMethodV_64(env, obj, methodID, parms);
88
}
89
90
jboolean JNICALL
91
CallBooleanMethodV(JNIEnv *env, jobject obj, jmethodID methodID, va_list arg)
92
{
93
va_list_64 parms;
94
// Extract the arguments pointer from 31-bit va_list.
95
char *arguments = (char *)((int *)arg)[1];
96
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
97
98
return CallBooleanMethodV_64(env, obj, methodID, parms);
99
}
100
101
jboolean JNICALL
102
CallBooleanMethodA(JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args)
103
{
104
const jint NUM_ARGS = 4;
105
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
106
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, methodID, (uint64_t)args };
107
jboolean returnValue = NULL;
108
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallBooleanMethodA);
109
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jboolean, &returnValue);
110
return returnValue;
111
}
112
113
static jbyte
114
CallByteMethodV_64(JNIEnv *env, jobject obj, jmethodID methodID, va_list_64 parms)
115
{
116
const jint NUM_ARGS = 4;
117
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
118
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, methodID, (uint64_t)parms };
119
jbyte returnValue = NULL;
120
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallByteMethodV);
121
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jbyte, &returnValue);
122
return returnValue;
123
}
124
125
jbyte JNICALL
126
CallByteMethod(JNIEnv *env, jobject obj, jmethodID methodID, ...)
127
{
128
va_list_64 parms;
129
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
130
131
return CallByteMethodV_64(env, obj, methodID, parms);
132
}
133
134
jbyte JNICALL
135
CallByteMethodV(JNIEnv *env, jobject obj, jmethodID methodID, va_list arg)
136
{
137
va_list_64 parms;
138
// Extract the arguments pointer from 31-bit va_list.
139
char *arguments = (char *)((int *)arg)[1];
140
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
141
142
return CallByteMethodV_64(env, obj, methodID, parms);
143
}
144
145
jbyte JNICALL
146
CallByteMethodA(JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args)
147
{
148
const jint NUM_ARGS = 4;
149
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
150
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, methodID, (uint64_t)args };
151
jbyte returnValue = NULL;
152
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallByteMethodA);
153
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jbyte, &returnValue);
154
return returnValue;
155
}
156
157
static jchar
158
CallCharMethodV_64(JNIEnv *env, jobject obj, jmethodID methodID, va_list_64 parms)
159
{
160
const jint NUM_ARGS = 4;
161
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
162
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, methodID, (uint64_t)parms };
163
jchar returnValue = NULL;
164
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallCharMethodV);
165
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jchar, &returnValue);
166
return returnValue;
167
}
168
169
jchar JNICALL
170
CallCharMethod(JNIEnv *env, jobject obj, jmethodID methodID, ...)
171
{
172
va_list_64 parms;
173
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
174
175
return CallCharMethodV_64(env, obj, methodID, parms);
176
}
177
178
jchar JNICALL
179
CallCharMethodV(JNIEnv *env, jobject obj, jmethodID methodID, va_list arg)
180
{
181
va_list_64 parms;
182
// Extract the arguments pointer from 31-bit va_list.
183
char *arguments = (char *)((int *)arg)[1];
184
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
185
186
return CallCharMethodV_64(env, obj, methodID, parms);
187
}
188
189
jchar JNICALL
190
CallCharMethodA(JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args)
191
{
192
const jint NUM_ARGS = 4;
193
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
194
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, methodID, (uint64_t)args };
195
jchar returnValue = NULL;
196
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallCharMethodA);
197
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jchar, &returnValue);
198
return returnValue;
199
}
200
201
static jshort
202
CallShortMethodV_64(JNIEnv *env, jobject obj, jmethodID methodID, va_list_64 parms)
203
{
204
const jint NUM_ARGS = 4;
205
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
206
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, methodID, (uint64_t)parms };
207
jshort returnValue = NULL;
208
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallShortMethodV);
209
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jshort, &returnValue);
210
return returnValue;
211
}
212
213
jshort JNICALL
214
CallShortMethod(JNIEnv *env, jobject obj, jmethodID methodID, ...)
215
{
216
va_list_64 parms;
217
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
218
219
return CallShortMethodV_64(env, obj, methodID, parms);
220
}
221
222
jshort JNICALL
223
CallShortMethodV(JNIEnv *env, jobject obj, jmethodID methodID, va_list arg)
224
{
225
va_list_64 parms;
226
// Extract the arguments pointer from 31-bit va_list.
227
char *arguments = (char *)((int *)arg)[1];
228
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
229
230
return CallShortMethodV_64(env, obj, methodID, parms);
231
}
232
233
jshort JNICALL
234
CallShortMethodA(JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args)
235
{
236
const jint NUM_ARGS = 4;
237
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
238
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, methodID, (uint64_t)args };
239
jshort returnValue = NULL;
240
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallShortMethodA);
241
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jshort, &returnValue);
242
return returnValue;
243
}
244
245
static jint
246
CallIntMethodV_64(JNIEnv *env, jobject obj, jmethodID methodID, va_list_64 parms)
247
{
248
const jint NUM_ARGS = 4;
249
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
250
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, methodID, (uint64_t)parms };
251
jint returnValue = NULL;
252
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallIntMethodV);
253
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jint, &returnValue);
254
return returnValue;
255
}
256
257
jint JNICALL
258
CallIntMethod(JNIEnv *env, jobject obj, jmethodID methodID, ...)
259
{
260
va_list_64 parms;
261
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
262
263
return CallIntMethodV_64(env, obj, methodID, parms);
264
}
265
266
jint JNICALL
267
CallIntMethodV(JNIEnv *env, jobject obj, jmethodID methodID, va_list arg)
268
{
269
va_list_64 parms;
270
// Extract the arguments pointer from 31-bit va_list.
271
char *arguments = (char *)((int *)arg)[1];
272
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
273
274
return CallIntMethodV_64(env, obj, methodID, parms);
275
}
276
277
jint JNICALL
278
CallIntMethodA(JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args)
279
{
280
const jint NUM_ARGS = 4;
281
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
282
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, methodID, (uint64_t)args };
283
jint returnValue = NULL;
284
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallIntMethodA);
285
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jint, &returnValue);
286
return returnValue;
287
}
288
289
static jlong
290
CallLongMethodV_64(JNIEnv *env, jobject obj, jmethodID methodID, va_list_64 parms)
291
{
292
const jint NUM_ARGS = 4;
293
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
294
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, methodID, (uint64_t)parms };
295
jlong returnValue = NULL;
296
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallLongMethodV);
297
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jlong, &returnValue);
298
return returnValue;
299
}
300
301
jlong JNICALL
302
CallLongMethod(JNIEnv *env, jobject obj, jmethodID methodID, ...)
303
{
304
va_list_64 parms;
305
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
306
307
return CallLongMethodV_64(env, obj, methodID, parms);
308
}
309
310
jlong JNICALL
311
CallLongMethodV(JNIEnv *env, jobject obj, jmethodID methodID, va_list arg)
312
{
313
va_list_64 parms;
314
// Extract the arguments pointer from 31-bit va_list.
315
char *arguments = (char *)((int *)arg)[1];
316
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
317
318
return CallLongMethodV_64(env, obj, methodID, parms);
319
}
320
321
jlong JNICALL
322
CallLongMethodA(JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args)
323
{
324
const jint NUM_ARGS = 4;
325
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
326
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, methodID, (uint64_t)args };
327
jlong returnValue = NULL;
328
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallLongMethodA);
329
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jlong, &returnValue);
330
return returnValue;
331
}
332
333
static jfloat
334
CallFloatMethodV_64(JNIEnv *env, jobject obj, jmethodID methodID, va_list_64 parms)
335
{
336
const jint NUM_ARGS = 4;
337
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
338
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, methodID, (uint64_t)parms };
339
jfloat returnValue = NULL;
340
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallFloatMethodV);
341
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jfloat, &returnValue);
342
return returnValue;
343
}
344
345
jfloat JNICALL
346
CallFloatMethod(JNIEnv *env, jobject obj, jmethodID methodID, ...)
347
{
348
va_list_64 parms;
349
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
350
351
return CallFloatMethodV_64(env, obj, methodID, parms);
352
}
353
354
jfloat JNICALL
355
CallFloatMethodV(JNIEnv *env, jobject obj, jmethodID methodID, va_list arg)
356
{
357
va_list_64 parms;
358
// Extract the arguments pointer from 31-bit va_list.
359
char *arguments = (char *)((int *)arg)[1];
360
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
361
362
return CallFloatMethodV_64(env, obj, methodID, parms);
363
}
364
365
jfloat JNICALL
366
CallFloatMethodA(JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args)
367
{
368
const jint NUM_ARGS = 4;
369
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
370
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, methodID, (uint64_t)args };
371
jfloat returnValue = NULL;
372
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallFloatMethodA);
373
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jfloat, &returnValue);
374
return returnValue;
375
}
376
377
static jdouble
378
CallDoubleMethodV_64(JNIEnv *env, jobject obj, jmethodID methodID, va_list_64 parms)
379
{
380
const jint NUM_ARGS = 4;
381
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
382
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, methodID, (uint64_t)parms };
383
jdouble returnValue = NULL;
384
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallDoubleMethodV);
385
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jdouble, &returnValue);
386
return returnValue;
387
}
388
389
jdouble JNICALL
390
CallDoubleMethod(JNIEnv *env, jobject obj, jmethodID methodID, ...)
391
{
392
va_list_64 parms;
393
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
394
395
return CallDoubleMethodV_64(env, obj, methodID, parms);
396
}
397
398
jdouble JNICALL
399
CallDoubleMethodV(JNIEnv *env, jobject obj, jmethodID methodID, va_list arg)
400
{
401
va_list_64 parms;
402
// Extract the arguments pointer from 31-bit va_list.
403
char *arguments = (char *)((int *)arg)[1];
404
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
405
406
return CallDoubleMethodV_64(env, obj, methodID, parms);
407
}
408
409
jdouble JNICALL
410
CallDoubleMethodA(JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args)
411
{
412
const jint NUM_ARGS = 4;
413
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
414
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, methodID, (uint64_t)args };
415
jdouble returnValue = NULL;
416
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallDoubleMethodA);
417
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jdouble, &returnValue);
418
return returnValue;
419
}
420
421
static void
422
CallVoidMethodV_64(JNIEnv *env, jobject obj, jmethodID methodID, va_list_64 parms)
423
{
424
const jint NUM_ARGS = 4;
425
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
426
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, methodID, (uint64_t)parms };
427
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallVoidMethodV);
428
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_void, NULL);
429
return;
430
}
431
432
void JNICALL
433
CallVoidMethod(JNIEnv *env, jobject obj, jmethodID methodID, ...)
434
{
435
va_list_64 parms;
436
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
437
438
CallVoidMethodV_64(env, obj, methodID, parms);
439
return;
440
}
441
442
void JNICALL
443
CallVoidMethodV(JNIEnv *env, jobject obj, jmethodID methodID, va_list arg)
444
{
445
va_list_64 parms;
446
// Extract the arguments pointer from 31-bit va_list.
447
char *arguments = (char *)((int *)arg)[1];
448
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
449
450
CallVoidMethodV_64(env, obj, methodID, parms);
451
return;
452
}
453
454
void JNICALL
455
CallVoidMethodA(JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args)
456
{
457
const jint NUM_ARGS = 4;
458
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
459
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, methodID, (uint64_t)args };
460
461
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallVoidMethodA);
462
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_void, NULL);
463
return;
464
}
465
466
static jobject
467
CallNonvirtualObjectMethodV_64(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list_64 parms)
468
{
469
const jint NUM_ARGS = 5;
470
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jclass, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
471
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, clazz, methodID, (uint64_t)parms };
472
jobject returnValue = NULL;
473
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallNonvirtualObjectMethodV);
474
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jobject, &returnValue);
475
return returnValue;
476
}
477
478
jobject JNICALL
479
CallNonvirtualObjectMethod(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...)
480
{
481
va_list_64 parms;
482
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
483
484
return CallNonvirtualObjectMethodV_64(env, obj, clazz, methodID, parms);
485
}
486
487
jobject JNICALL
488
CallNonvirtualObjectMethodV(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list arg)
489
{
490
va_list_64 parms;
491
// Extract the arguments pointer from 31-bit va_list.
492
char *arguments = (char *)((int *)arg)[1];
493
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
494
495
return CallNonvirtualObjectMethodV_64(env, obj, clazz, methodID, parms);
496
}
497
498
jobject JNICALL
499
CallNonvirtualObjectMethodA(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args)
500
{
501
const jint NUM_ARGS = 5;
502
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jclass, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
503
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, clazz, methodID, (uint64_t)args };
504
jobject returnValue = NULL;
505
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallNonvirtualObjectMethodA);
506
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jobject, &returnValue);
507
return returnValue;
508
}
509
510
static jboolean
511
CallNonvirtualBooleanMethodV_64(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list_64 parms)
512
{
513
const jint NUM_ARGS = 5;
514
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jclass, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
515
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, clazz, methodID, (uint64_t)parms };
516
jboolean returnValue = NULL;
517
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallNonvirtualBooleanMethodV);
518
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jboolean, &returnValue);
519
return returnValue;
520
}
521
522
jboolean JNICALL
523
CallNonvirtualBooleanMethod(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...)
524
{
525
va_list_64 parms;
526
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
527
528
return CallNonvirtualBooleanMethodV_64(env, obj, clazz, methodID, parms);
529
}
530
531
jboolean JNICALL
532
CallNonvirtualBooleanMethodV(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list arg)
533
{
534
va_list_64 parms;
535
// Extract the arguments pointer from 31-bit va_list.
536
char *arguments = (char *)((int *)arg)[1];
537
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
538
539
return CallNonvirtualBooleanMethodV_64(env, obj, clazz, methodID, parms);
540
}
541
542
jboolean JNICALL
543
CallNonvirtualBooleanMethodA(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args)
544
{
545
const jint NUM_ARGS = 5;
546
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jclass, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
547
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, clazz, methodID, (uint64_t)args };
548
jboolean returnValue = NULL;
549
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallNonvirtualBooleanMethodA);
550
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jboolean, &returnValue);
551
return returnValue;
552
}
553
554
static jbyte
555
CallNonvirtualByteMethodV_64(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list_64 parms)
556
{
557
const jint NUM_ARGS = 5;
558
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jclass, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
559
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, clazz, methodID, (uint64_t)parms };
560
jbyte returnValue = NULL;
561
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallNonvirtualByteMethodV);
562
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jbyte, &returnValue);
563
return returnValue;
564
}
565
566
jbyte JNICALL
567
CallNonvirtualByteMethod(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...)
568
{
569
va_list_64 parms;
570
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
571
572
return CallNonvirtualByteMethodV_64(env, obj, clazz, methodID, parms);
573
}
574
575
jbyte JNICALL
576
CallNonvirtualByteMethodV(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list arg)
577
{
578
va_list_64 parms;
579
// Extract the arguments pointer from 31-bit va_list.
580
char *arguments = (char *)((int *)arg)[1];
581
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
582
583
return CallNonvirtualByteMethodV_64(env, obj, clazz, methodID, parms);
584
}
585
586
jbyte JNICALL
587
CallNonvirtualByteMethodA(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args)
588
{
589
const jint NUM_ARGS = 5;
590
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jclass, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
591
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, clazz, methodID, (uint64_t)args };
592
jbyte returnValue = NULL;
593
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallNonvirtualByteMethodA);
594
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jbyte, &returnValue);
595
return returnValue;
596
}
597
598
static jchar
599
CallNonvirtualCharMethodV_64(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list_64 parms)
600
{
601
const jint NUM_ARGS = 5;
602
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jclass, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
603
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, clazz, methodID, (uint64_t)parms };
604
jchar returnValue = NULL;
605
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallNonvirtualCharMethodV);
606
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jchar, &returnValue);
607
return returnValue;
608
}
609
610
jchar JNICALL
611
CallNonvirtualCharMethod(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...)
612
{
613
va_list_64 parms;
614
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
615
616
return CallNonvirtualCharMethodV_64(env, obj, clazz, methodID, parms);
617
}
618
619
jchar JNICALL
620
CallNonvirtualCharMethodV(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list arg)
621
{
622
va_list_64 parms;
623
// Extract the arguments pointer from 31-bit va_list.
624
char *arguments = (char *)((int *)arg)[1];
625
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
626
627
return CallNonvirtualCharMethodV_64(env, obj, clazz, methodID, parms);
628
}
629
630
jchar JNICALL
631
CallNonvirtualCharMethodA(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args)
632
{
633
const jint NUM_ARGS = 5;
634
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jclass, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
635
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, clazz, methodID, (uint64_t)args };
636
jchar returnValue = NULL;
637
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallNonvirtualCharMethodA);
638
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jchar, &returnValue);
639
return returnValue;
640
}
641
642
static jshort
643
CallNonvirtualShortMethodV_64(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list_64 parms)
644
{
645
const jint NUM_ARGS = 5;
646
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jclass, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
647
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, clazz, methodID, (uint64_t)parms };
648
jshort returnValue = NULL;
649
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallNonvirtualShortMethodV);
650
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jshort, &returnValue);
651
return returnValue;
652
}
653
654
jshort JNICALL
655
CallNonvirtualShortMethod(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...)
656
{
657
va_list_64 parms;
658
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
659
660
return CallNonvirtualShortMethodV_64(env, obj, clazz, methodID, parms);
661
}
662
663
jshort JNICALL
664
CallNonvirtualShortMethodV(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list arg)
665
{
666
va_list_64 parms;
667
// Extract the arguments pointer from 31-bit va_list.
668
char *arguments = (char *)((int *)arg)[1];
669
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
670
671
return CallNonvirtualShortMethodV_64(env, obj, clazz, methodID, parms);
672
}
673
674
jshort JNICALL
675
CallNonvirtualShortMethodA(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args)
676
{
677
const jint NUM_ARGS = 5;
678
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jclass, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
679
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, clazz, methodID, (uint64_t)args };
680
jshort returnValue = NULL;
681
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallNonvirtualShortMethodA);
682
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jshort, &returnValue);
683
return returnValue;
684
}
685
686
static jint
687
CallNonvirtualIntMethodV_64(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list_64 parms)
688
{
689
const jint NUM_ARGS = 5;
690
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jclass, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
691
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, clazz, methodID, (uint64_t)parms };
692
jint returnValue = NULL;
693
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallNonvirtualIntMethodV);
694
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jint, &returnValue);
695
return returnValue;
696
}
697
698
jint JNICALL
699
CallNonvirtualIntMethod(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...)
700
{
701
va_list_64 parms;
702
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
703
704
return CallNonvirtualIntMethodV_64(env, obj, clazz, methodID, parms);
705
}
706
707
jint JNICALL
708
CallNonvirtualIntMethodV(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list arg)
709
{
710
va_list_64 parms;
711
// Extract the arguments pointer from 31-bit va_list.
712
char *arguments = (char *)((int *)arg)[1];
713
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
714
715
return CallNonvirtualIntMethodV_64(env, obj, clazz, methodID, parms);
716
}
717
718
jint JNICALL
719
CallNonvirtualIntMethodA(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args)
720
{
721
const jint NUM_ARGS = 5;
722
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jclass, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
723
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, clazz, methodID, (uint64_t)args };
724
jint returnValue = NULL;
725
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallNonvirtualIntMethodA);
726
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jint, &returnValue);
727
return returnValue;
728
}
729
730
static jlong
731
CallNonvirtualLongMethodV_64(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list_64 parms)
732
{
733
const jint NUM_ARGS = 5;
734
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jclass, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
735
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, clazz, methodID, (uint64_t)parms };
736
jlong returnValue = NULL;
737
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallNonvirtualLongMethodV);
738
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jlong, &returnValue);
739
return returnValue;
740
}
741
742
jlong JNICALL
743
CallNonvirtualLongMethod(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...)
744
{
745
va_list_64 parms;
746
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
747
748
return CallNonvirtualLongMethodV_64(env, obj, clazz, methodID, parms);
749
}
750
751
jlong JNICALL
752
CallNonvirtualLongMethodV(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list arg)
753
{
754
va_list_64 parms;
755
// Extract the arguments pointer from 31-bit va_list.
756
char *arguments = (char *)((int *)arg)[1];
757
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
758
759
return CallNonvirtualLongMethodV_64(env, obj, clazz, methodID, parms);
760
}
761
762
jlong JNICALL
763
CallNonvirtualLongMethodA(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args)
764
{
765
const jint NUM_ARGS = 5;
766
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jclass, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
767
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, clazz, methodID, (uint64_t)args };
768
jlong returnValue = NULL;
769
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallNonvirtualLongMethodA);
770
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jlong, &returnValue);
771
return returnValue;
772
}
773
774
static jfloat
775
CallNonvirtualFloatMethodV_64(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list_64 parms)
776
{
777
const jint NUM_ARGS = 5;
778
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jclass, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
779
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, clazz, methodID, (uint64_t)parms };
780
jfloat returnValue = NULL;
781
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallNonvirtualFloatMethodV);
782
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jfloat, &returnValue);
783
return returnValue;
784
}
785
786
jfloat JNICALL
787
CallNonvirtualFloatMethod(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...)
788
{
789
va_list_64 parms;
790
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
791
792
return CallNonvirtualFloatMethodV_64(env, obj, clazz, methodID, parms);
793
}
794
795
jfloat JNICALL
796
CallNonvirtualFloatMethodV(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list arg)
797
{
798
va_list_64 parms;
799
// Extract the arguments pointer from 31-bit va_list.
800
char *arguments = (char *)((int *)arg)[1];
801
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
802
803
return CallNonvirtualFloatMethodV_64(env, obj, clazz, methodID, parms);
804
}
805
806
jfloat JNICALL
807
CallNonvirtualFloatMethodA(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args)
808
{
809
const jint NUM_ARGS = 5;
810
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jclass, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
811
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, clazz, methodID, (uint64_t)args };
812
jfloat returnValue = NULL;
813
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallNonvirtualFloatMethodA);
814
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jfloat, &returnValue);
815
return returnValue;
816
}
817
818
static jdouble
819
CallNonvirtualDoubleMethodV_64(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list_64 parms)
820
{
821
const jint NUM_ARGS = 5;
822
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jclass, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
823
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, clazz, methodID, (uint64_t)parms };
824
jdouble returnValue = NULL;
825
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallNonvirtualDoubleMethodV);
826
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jdouble, &returnValue);
827
return returnValue;
828
}
829
830
jdouble JNICALL
831
CallNonvirtualDoubleMethod(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...)
832
{
833
va_list_64 parms;
834
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
835
836
return CallNonvirtualDoubleMethodV_64(env, obj, clazz, methodID, parms);
837
}
838
839
jdouble JNICALL
840
CallNonvirtualDoubleMethodV(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list arg)
841
{
842
va_list_64 parms;
843
// Extract the arguments pointer from 31-bit va_list.
844
char *arguments = (char *)((int *)arg)[1];
845
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
846
847
return CallNonvirtualDoubleMethodV_64(env, obj, clazz, methodID, parms);
848
}
849
850
jdouble JNICALL
851
CallNonvirtualDoubleMethodA(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args)
852
{
853
const jint NUM_ARGS = 5;
854
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jclass, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
855
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, clazz, methodID, (uint64_t)args };
856
jdouble returnValue = NULL;
857
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallNonvirtualDoubleMethodA);
858
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jdouble, &returnValue);
859
return returnValue;
860
}
861
862
static void
863
CallNonvirtualVoidMethodV_64(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list_64 parms)
864
{
865
const jint NUM_ARGS = 5;
866
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jclass, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
867
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, clazz, methodID, (uint64_t)parms };
868
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallNonvirtualVoidMethodV);
869
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_void, NULL);
870
return;
871
}
872
873
void JNICALL
874
CallNonvirtualVoidMethod(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...)
875
{
876
va_list_64 parms;
877
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
878
879
CallNonvirtualVoidMethodV_64(env, obj, clazz, methodID, parms);
880
}
881
882
void JNICALL
883
CallNonvirtualVoidMethodV(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list arg)
884
{
885
va_list_64 parms;
886
// Extract the arguments pointer from 31-bit va_list.
887
char *arguments = (char *)((int *)arg)[1];
888
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
889
890
CallNonvirtualVoidMethodV_64(env, obj, clazz, methodID, parms);
891
}
892
893
void JNICALL
894
CallNonvirtualVoidMethodA(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args)
895
{
896
const jint NUM_ARGS = 5;
897
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jclass, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
898
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), obj, clazz, methodID, (uint64_t)args };
899
900
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallNonvirtualVoidMethodA);
901
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_void, NULL);
902
return;
903
}
904
905
static jobject
906
CallStaticObjectMethodV_64(JNIEnv *env, jclass clazz, jmethodID methodID, va_list_64 parms)
907
{
908
const jint NUM_ARGS = 4;
909
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
910
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), clazz, methodID, (uint64_t)parms };
911
jobject returnValue = NULL;
912
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallStaticObjectMethodV);
913
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jobject, &returnValue);
914
return returnValue;
915
}
916
917
jobject JNICALL
918
CallStaticObjectMethod(JNIEnv *env, jclass clazz, jmethodID methodID, ...)
919
{
920
va_list_64 parms;
921
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
922
923
return CallStaticObjectMethodV_64(env, clazz, methodID, parms);
924
}
925
926
jobject JNICALL
927
CallStaticObjectMethodV(JNIEnv *env, jclass clazz, jmethodID methodID, va_list arg)
928
{
929
va_list_64 parms;
930
// Extract the arguments pointer from 31-bit va_list.
931
char *arguments = (char *)((int *)arg)[1];
932
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
933
934
return CallStaticObjectMethodV_64(env, clazz, methodID, parms);
935
}
936
937
jobject JNICALL
938
CallStaticObjectMethodA(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue * args)
939
{
940
const jint NUM_ARGS = 4;
941
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
942
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), clazz, methodID, (uint64_t)args };
943
jobject returnValue = NULL;
944
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallStaticObjectMethodA);
945
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jobject, &returnValue);
946
return returnValue;
947
}
948
949
static jboolean
950
CallStaticBooleanMethodV_64(JNIEnv *env, jclass clazz, jmethodID methodID, va_list_64 parms)
951
{
952
const jint NUM_ARGS = 4;
953
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
954
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), clazz, methodID, (uint64_t)parms };
955
jboolean returnValue = NULL;
956
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallStaticBooleanMethodV);
957
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jboolean, &returnValue);
958
return returnValue;
959
}
960
961
jboolean JNICALL
962
CallStaticBooleanMethod(JNIEnv *env, jclass clazz, jmethodID methodID, ...)
963
{
964
va_list_64 parms;
965
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
966
967
return CallStaticBooleanMethodV_64(env, clazz, methodID, parms);
968
}
969
970
jboolean JNICALL
971
CallStaticBooleanMethodV(JNIEnv *env, jclass clazz, jmethodID methodID, va_list arg)
972
{
973
va_list_64 parms;
974
// Extract the arguments pointer from 31-bit va_list.
975
char *arguments = (char *)((int *)arg)[1];
976
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
977
978
979
return CallStaticBooleanMethodV_64(env, clazz, methodID, parms);
980
}
981
982
jboolean JNICALL
983
CallStaticBooleanMethodA(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue * args)
984
{
985
const jint NUM_ARGS = 4;
986
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
987
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), clazz, methodID, (uint64_t)args };
988
jboolean returnValue = NULL;
989
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallStaticBooleanMethodA);
990
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jboolean, &returnValue);
991
return returnValue;
992
}
993
994
static jbyte
995
CallStaticByteMethodV_64(JNIEnv *env, jclass clazz, jmethodID methodID, va_list_64 parms)
996
{
997
const jint NUM_ARGS = 4;
998
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
999
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), clazz, methodID, (uint64_t)parms };
1000
jbyte returnValue = NULL;
1001
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallStaticByteMethodV);
1002
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jbyte, &returnValue);
1003
return returnValue;
1004
}
1005
1006
jbyte JNICALL
1007
CallStaticByteMethod(JNIEnv *env, jclass clazz, jmethodID methodID, ...)
1008
{
1009
va_list_64 parms;
1010
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
1011
1012
return CallStaticByteMethodV_64(env, clazz, methodID, parms);
1013
}
1014
1015
jbyte JNICALL
1016
CallStaticByteMethodV(JNIEnv *env, jclass clazz, jmethodID methodID, va_list arg)
1017
{
1018
va_list_64 parms;
1019
// Extract the arguments pointer from 31-bit va_list.
1020
char *arguments = (char *)((int *)arg)[1];
1021
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
1022
1023
return CallStaticByteMethodV_64(env, clazz, methodID, parms);
1024
}
1025
1026
jbyte JNICALL
1027
CallStaticByteMethodA(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue * args)
1028
{
1029
const jint NUM_ARGS = 4;
1030
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
1031
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), clazz, methodID, (uint64_t)args };
1032
jbyte returnValue = NULL;
1033
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallStaticByteMethodA);
1034
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jbyte, &returnValue);
1035
return returnValue;
1036
}
1037
1038
static jchar
1039
CallStaticCharMethodV_64(JNIEnv *env, jclass clazz, jmethodID methodID, va_list_64 parms)
1040
{
1041
const jint NUM_ARGS = 4;
1042
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
1043
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), clazz, methodID, (uint64_t)parms };
1044
jchar returnValue = NULL;
1045
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallStaticCharMethodV);
1046
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jchar, &returnValue);
1047
return returnValue;
1048
}
1049
1050
jchar JNICALL
1051
CallStaticCharMethod(JNIEnv *env, jclass clazz, jmethodID methodID, ...)
1052
{
1053
va_list_64 parms;
1054
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
1055
1056
return CallStaticCharMethodV_64(env, clazz, methodID, parms);
1057
}
1058
1059
jchar JNICALL
1060
CallStaticCharMethodV(JNIEnv *env, jclass clazz, jmethodID methodID, va_list arg)
1061
{
1062
va_list_64 parms;
1063
// Extract the arguments pointer from 31-bit va_list.
1064
char *arguments = (char *)((int *)arg)[1];
1065
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
1066
1067
return CallStaticCharMethodV_64(env, clazz, methodID, parms);
1068
}
1069
1070
jchar JNICALL
1071
CallStaticCharMethodA(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue * args)
1072
{
1073
const jint NUM_ARGS = 4;
1074
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
1075
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), clazz, methodID, (uint64_t)args };
1076
jchar returnValue = NULL;
1077
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallStaticCharMethodA);
1078
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jchar, &returnValue);
1079
return returnValue;
1080
}
1081
1082
static jshort
1083
CallStaticShortMethodV_64(JNIEnv *env, jclass clazz, jmethodID methodID, va_list_64 parms)
1084
{
1085
const jint NUM_ARGS = 4;
1086
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
1087
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), clazz, methodID, (uint64_t)parms };
1088
jshort returnValue = NULL;
1089
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallStaticShortMethodV);
1090
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jshort, &returnValue);
1091
return returnValue;
1092
}
1093
1094
jshort JNICALL
1095
CallStaticShortMethod(JNIEnv *env, jclass clazz, jmethodID methodID, ...)
1096
{
1097
va_list_64 parms;
1098
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
1099
1100
return CallStaticShortMethodV_64(env, clazz, methodID, parms);
1101
}
1102
1103
jshort JNICALL
1104
CallStaticShortMethodV(JNIEnv *env, jclass clazz, jmethodID methodID, va_list arg)
1105
{
1106
va_list_64 parms;
1107
// Extract the arguments pointer from 31-bit va_list.
1108
char *arguments = (char *)((int *)arg)[1];
1109
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
1110
1111
return CallStaticShortMethodV_64(env, clazz, methodID, parms);
1112
}
1113
1114
jshort JNICALL
1115
CallStaticShortMethodA(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue * args)
1116
{
1117
const jint NUM_ARGS = 4;
1118
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
1119
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), clazz, methodID, (uint64_t)args };
1120
jshort returnValue = NULL;
1121
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallStaticShortMethodA);
1122
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jshort, &returnValue);
1123
return returnValue;
1124
}
1125
1126
static jint
1127
CallStaticIntMethodV_64(JNIEnv *env, jclass clazz, jmethodID methodID, va_list_64 parms)
1128
{
1129
const jint NUM_ARGS = 4;
1130
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
1131
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), clazz, methodID, (uint64_t)parms };
1132
jint returnValue = NULL;
1133
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallStaticIntMethodV);
1134
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jint, &returnValue);
1135
return returnValue;
1136
}
1137
1138
jint JNICALL
1139
CallStaticIntMethod(JNIEnv *env, jclass clazz, jmethodID methodID, ...)
1140
{
1141
va_list_64 parms;
1142
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
1143
1144
return CallStaticIntMethodV_64(env, clazz, methodID, parms);
1145
}
1146
1147
jint JNICALL
1148
CallStaticIntMethodV(JNIEnv *env, jclass clazz, jmethodID methodID, va_list arg)
1149
{
1150
va_list_64 parms;
1151
1152
// Extract the arguments pointer from 31-bit va_list.
1153
char *arguments = (char *)((int *)arg)[1];
1154
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
1155
1156
return CallStaticIntMethodV_64(env, clazz, methodID, parms);
1157
}
1158
1159
jint JNICALL
1160
CallStaticIntMethodA(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue * args)
1161
{
1162
const jint NUM_ARGS = 4;
1163
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
1164
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), clazz, methodID, (uint64_t)args };
1165
jint returnValue = NULL;
1166
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallStaticIntMethodA);
1167
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jint, &returnValue);
1168
return returnValue;
1169
}
1170
1171
static jlong
1172
CallStaticLongMethodV_64(JNIEnv *env, jclass clazz, jmethodID methodID, va_list_64 parms)
1173
{
1174
const jint NUM_ARGS = 4;
1175
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
1176
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), clazz, methodID, (uint64_t)parms };
1177
jlong returnValue = NULL;
1178
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallStaticLongMethodV);
1179
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jlong, &returnValue);
1180
return returnValue;
1181
}
1182
1183
jlong JNICALL
1184
CallStaticLongMethod(JNIEnv *env, jclass clazz, jmethodID methodID, ...)
1185
{
1186
va_list_64 parms;
1187
long long value = *((int *)((char*)&(methodID) + sizeof(jmethodID)));
1188
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
1189
1190
return CallStaticLongMethodV_64(env, clazz, methodID, parms);
1191
}
1192
1193
jlong JNICALL
1194
CallStaticLongMethodV(JNIEnv *env, jclass clazz, jmethodID methodID, va_list arg)
1195
{
1196
va_list_64 parms;
1197
// Extract the arguments pointer from 31-bit va_list.
1198
char *arguments = (char *)((int *)arg)[1];
1199
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
1200
1201
return CallStaticLongMethodV_64(env, clazz, methodID, parms);
1202
}
1203
1204
jlong JNICALL
1205
CallStaticLongMethodA(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue * args)
1206
{
1207
const jint NUM_ARGS = 4;
1208
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
1209
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), clazz, methodID, (uint64_t)args };
1210
jlong returnValue = NULL;
1211
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallStaticLongMethodA);
1212
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jlong, &returnValue);
1213
return returnValue;
1214
}
1215
1216
static jfloat
1217
CallStaticFloatMethodV_64(JNIEnv *env, jclass clazz, jmethodID methodID, va_list_64 parms)
1218
{
1219
const jint NUM_ARGS = 4;
1220
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
1221
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), clazz, methodID, (uint64_t)parms };
1222
jfloat returnValue = NULL;
1223
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallStaticFloatMethodV);
1224
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jfloat, &returnValue);
1225
return returnValue;
1226
}
1227
1228
jfloat JNICALL
1229
CallStaticFloatMethod(JNIEnv *env, jclass clazz, jmethodID methodID, ...)
1230
{
1231
va_list_64 parms;
1232
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
1233
1234
return CallStaticFloatMethodV_64(env, clazz, methodID, parms);
1235
}
1236
1237
jfloat JNICALL
1238
CallStaticFloatMethodV(JNIEnv *env, jclass clazz, jmethodID methodID, va_list arg)
1239
{
1240
va_list_64 parms;
1241
// Extract the arguments pointer from 31-bit va_list.
1242
char *arguments = (char *)((int *)arg)[1];
1243
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
1244
1245
return CallStaticFloatMethodV_64(env, clazz, methodID, parms);
1246
}
1247
1248
jfloat JNICALL
1249
CallStaticFloatMethodA(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue * args)
1250
{
1251
const jint NUM_ARGS = 4;
1252
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
1253
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), clazz, methodID, (uint64_t)args };
1254
jfloat returnValue = NULL;
1255
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallStaticFloatMethodA);
1256
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jfloat, &returnValue);
1257
return returnValue;
1258
}
1259
1260
static jdouble
1261
CallStaticDoubleMethodV_64(JNIEnv *env, jclass clazz, jmethodID methodID, va_list_64 parms)
1262
{
1263
const jint NUM_ARGS = 4;
1264
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
1265
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), clazz, methodID, (uint64_t)parms };
1266
jdouble returnValue = NULL;
1267
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallStaticDoubleMethodV);
1268
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jdouble, &returnValue);
1269
return returnValue;
1270
}
1271
1272
jdouble JNICALL
1273
CallStaticDoubleMethod(JNIEnv *env, jclass clazz, jmethodID methodID, ...)
1274
{
1275
va_list_64 parms;
1276
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
1277
1278
return CallStaticDoubleMethodV_64(env, clazz, methodID, parms);
1279
}
1280
1281
jdouble JNICALL
1282
CallStaticDoubleMethodV(JNIEnv *env, jclass clazz, jmethodID methodID, va_list arg)
1283
{
1284
va_list_64 parms;
1285
// Extract the arguments pointer from 31-bit va_list.
1286
char *arguments = (char *)((int *)arg)[1];
1287
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
1288
1289
return CallStaticDoubleMethodV_64(env, clazz, methodID, parms);
1290
}
1291
1292
jdouble JNICALL
1293
CallStaticDoubleMethodA(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue * args)
1294
{
1295
const jint NUM_ARGS = 4;
1296
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
1297
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), clazz, methodID, (uint64_t)args };
1298
jdouble returnValue = NULL;
1299
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallStaticDoubleMethodA);
1300
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_jdouble, &returnValue);
1301
return returnValue;
1302
}
1303
1304
static void
1305
CallStaticVoidMethodV_64(JNIEnv *env, jclass clazz, jmethodID methodID, va_list_64 parms)
1306
{
1307
const jint NUM_ARGS = 4;
1308
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
1309
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), clazz, methodID, (uint64_t)parms };
1310
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallStaticVoidMethodV);
1311
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_void, NULL);
1312
return;
1313
}
1314
1315
void JNICALL
1316
CallStaticVoidMethod(JNIEnv *env, jclass clazz, jmethodID methodID, ...)
1317
{
1318
va_list_64 parms;
1319
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = (parms)[1] + sizeof(jmethodID) );
1320
1321
CallStaticVoidMethodV_64(env, clazz, methodID, parms);
1322
}
1323
1324
void JNICALL
1325
CallStaticVoidMethodV(JNIEnv *env, jclass clazz, jmethodID methodID, va_list arg)
1326
{
1327
va_list_64 parms;
1328
// Extract the arguments pointer from 31-bit va_list.
1329
char *arguments = (char *)((int *)arg)[1];
1330
(void)( (parms)[0] = 0, (parms)[1] = (char *)&(methodID), (parms)[2] = 0, (parms)[3] = arguments );
1331
1332
CallStaticVoidMethodV_64(env, clazz, methodID, parms);
1333
}
1334
1335
void JNICALL
1336
CallStaticVoidMethodA(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue * args)
1337
{
1338
const jint NUM_ARGS = 4;
1339
J9_CEL4RO64_ArgType argTypes[NUM_ARGS] = { CEL4RO64_type_JNIEnv64, CEL4RO64_type_jobject, CEL4RO64_type_jmethodID, CEL4RO64_type_uint32_ptr };
1340
uint64_t argValues[NUM_ARGS] = { JNIENV64_FROM_JNIENV31(env), clazz, methodID, (uint64_t)args };
1341
1342
FUNCTION_DESCRIPTOR_FROM_JNIENV31(env, CallStaticVoidMethodA);
1343
j9_cel4ro64_call_function(functionDescriptor, argTypes, argValues, NUM_ARGS, CEL4RO64_type_void, NULL);
1344
return;
1345
}
1346
1347