273 int _prepended; // number of prepended JNI parameters (1 JNIEnv, plus 1 mirror if static) |
273 int _prepended; // number of prepended JNI parameters (1 JNIEnv, plus 1 mirror if static) |
274 int _jni_offset; // the current parameter offset, starting with 0 |
274 int _jni_offset; // the current parameter offset, starting with 0 |
275 |
275 |
276 void do_bool () { pass_int(); _jni_offset++; _offset++; } |
276 void do_bool () { pass_int(); _jni_offset++; _offset++; } |
277 void do_char () { pass_int(); _jni_offset++; _offset++; } |
277 void do_char () { pass_int(); _jni_offset++; _offset++; } |
278 #if defined(_LP64) || defined(ZERO) |
|
279 void do_float () { pass_float(); _jni_offset++; _offset++; } |
278 void do_float () { pass_float(); _jni_offset++; _offset++; } |
280 #else |
|
281 void do_float () { pass_int(); _jni_offset++; _offset++; } |
|
282 #endif |
|
283 #ifdef _LP64 |
279 #ifdef _LP64 |
284 void do_double() { pass_double(); _jni_offset++; _offset += 2; } |
280 void do_double() { pass_double(); _jni_offset++; _offset += 2; } |
285 #else |
281 #else |
286 void do_double() { pass_double(); _jni_offset += 2; _offset += 2; } |
282 void do_double() { pass_double(); _jni_offset += 2; _offset += 2; } |
287 #endif |
283 #endif |
304 // int java_offset() const { return method()->size_of_parameters() - _offset - 1; } |
300 // int java_offset() const { return method()->size_of_parameters() - _offset - 1; } |
305 bool is_static() const { return method()->is_static(); } |
301 bool is_static() const { return method()->is_static(); } |
306 virtual void pass_int() = 0; |
302 virtual void pass_int() = 0; |
307 virtual void pass_long() = 0; |
303 virtual void pass_long() = 0; |
308 virtual void pass_object() = 0; |
304 virtual void pass_object() = 0; |
309 #if defined(_LP64) || defined(ZERO) |
|
310 virtual void pass_float() = 0; |
305 virtual void pass_float() = 0; |
311 #endif |
|
312 #ifdef _LP64 |
306 #ifdef _LP64 |
313 virtual void pass_double() = 0; |
307 virtual void pass_double() = 0; |
314 #else |
308 #else |
315 virtual void pass_double() { pass_long(); } // may be same as long |
309 virtual void pass_double() { pass_long(); } // may be same as long |
316 #endif |
310 #endif |