< prev index next >
src/hotspot/cpu/x86/interpreterRT_x86_64.cpp
Print this page
@@ -289,10 +289,14 @@
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,10 +358,15 @@
} 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,10 +458,15 @@
} 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 >