--- old/src/hotspot/cpu/aarch64/interpreterRT_aarch64.cpp 2019-01-24 17:46:56.583673159 +0000 +++ new/src/hotspot/cpu/aarch64/interpreterRT_aarch64.cpp 2019-01-24 17:46:55.871641518 +0000 @@ -256,6 +256,10 @@ } } +void InterpreterRuntime::SignatureHandlerGenerator::pass_valuetype() { + pass_object(); +} + void InterpreterRuntime::SignatureHandlerGenerator::generate(uint64_t fingerprint) { // generate code to handle arguments iterate(fingerprint); @@ -349,6 +353,11 @@ } } + 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));