comparison src/share/vm/runtime/signature.hpp @ 1681:126ea7725993

6953477: Increase portability and flexibility of building Hotspot Summary: A collection of portability improvements including shared code support for PPC, ARM platforms, software floating point, cross compilation support and improvements in error crash detail. Reviewed-by: phh, never, coleenp, dholmes
author bobv
date Tue, 03 Aug 2010 08:13:38 -0400
parents c18cbe5936b8
children f95d63e2154a
comparison
equal deleted inserted replaced
1680:a64438a2b7e8 1681:126ea7725993
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