mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 11:34:38 +02:00
6953477: Increase portability and flexibility of building Hotspot
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
This commit is contained in:
parent
c45761e2a8
commit
b95c7e9523
113 changed files with 1669 additions and 559 deletions
|
@ -56,14 +56,18 @@ void InterpreterRuntime::SignatureHandlerGenerator::pass_long() {
|
|||
}
|
||||
|
||||
|
||||
#ifdef _LP64
|
||||
void InterpreterRuntime::SignatureHandlerGenerator::pass_float() {
|
||||
Argument jni_arg(jni_offset(), false);
|
||||
#ifdef _LP64
|
||||
FloatRegister Rtmp = F0;
|
||||
__ ldf(FloatRegisterImpl::S, Llocals, Interpreter::local_offset_in_bytes(offset()), Rtmp);
|
||||
__ store_float_argument(Rtmp, jni_arg);
|
||||
}
|
||||
#else
|
||||
Register Rtmp = O0;
|
||||
__ ld(Llocals, Interpreter::local_offset_in_bytes(offset()), Rtmp);
|
||||
__ store_argument(Rtmp, jni_arg);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
void InterpreterRuntime::SignatureHandlerGenerator::pass_double() {
|
||||
|
@ -185,6 +189,13 @@ class SlowSignatureHandler: public NativeSignatureIterator {
|
|||
_from -= 2*Interpreter::stackElementSize;
|
||||
add_signature( non_float );
|
||||
}
|
||||
|
||||
virtual void pass_float() {
|
||||
*_to++ = *(jint *)(_from+Interpreter::local_offset_in_bytes(0));
|
||||
_from -= Interpreter::stackElementSize;
|
||||
add_signature( non_float );
|
||||
}
|
||||
|
||||
#endif // _LP64
|
||||
|
||||
virtual void add_signature( intptr_t sig_type ) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue