< prev index next >
src/hotspot/cpu/x86/interpreterRT_x86_64.cpp
Print this page
*** 289,298 ****
--- 289,302 ----
break;
}
#endif
}
+ void InterpreterRuntime::SignatureHandlerGenerator::pass_valuetype() {
+ pass_object();
+ }
+
void InterpreterRuntime::SignatureHandlerGenerator::generate(uint64_t fingerprint) {
// generate code to handle arguments
iterate(fingerprint);
// return result handler
*** 354,363 ****
--- 358,372 ----
} else {
*_to++ = (*from_addr == 0) ? NULL : (intptr_t) from_addr;
}
}
+ virtual void pass_valuetype() {
+ // values are handled with oops, like objects
+ pass_object();
+ }
+
virtual void pass_float()
{
jint from_obj = *(jint *)(_from+Interpreter::local_offset_in_bytes(0));
_from -= Interpreter::stackElementSize;
*** 449,458 ****
--- 458,472 ----
} else {
*_to++ = (*from_addr == 0) ? NULL : (intptr_t) from_addr;
}
}
+ virtual void pass_valuetype() {
+ // values are handled with oops, like objects
+ pass_object();
+ }
+
virtual void pass_float()
{
jint from_obj = *(jint*)(_from+Interpreter::local_offset_in_bytes(0));
_from -= Interpreter::stackElementSize;
< prev index next >