Mercurial > hg > truffle
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 |