< prev index next >

src/hotspot/cpu/x86/interpreterRT_x86_64.cpp

Print this page

        

*** 21,30 **** --- 21,31 ---- * questions. * */ #include "precompiled.hpp" + #include "interpreter/interp_masm.hpp" #include "interpreter/interpreter.hpp" #include "interpreter/interpreterRuntime.hpp" #include "memory/allocation.inline.hpp" #include "memory/universe.hpp" #include "oops/method.hpp"
*** 36,45 **** --- 37,61 ---- #define __ _masm-> // Implementation of SignatureHandlerGenerator + InterpreterRuntime::SignatureHandlerGenerator::SignatureHandlerGenerator(const methodHandle& method, CodeBuffer* buffer) : + NativeSignatureIterator(method) { + _masm = new MacroAssembler(buffer); + #ifdef AMD64 + #ifdef _WIN64 + _num_args = (method->is_static() ? 1 : 0); + _stack_offset = (Argument::n_int_register_parameters_c+1)* wordSize; // don't overwrite return address + #else + _num_int_args = (method->is_static() ? 1 : 0); + _num_fp_args = 0; + _stack_offset = wordSize; // don't overwrite return address + #endif // _WIN64 + #endif // AMD64 + } + Register InterpreterRuntime::SignatureHandlerGenerator::from() { return r14; } Register InterpreterRuntime::SignatureHandlerGenerator::to() { return rsp; } Register InterpreterRuntime::SignatureHandlerGenerator::temp() { return rscratch1; } void InterpreterRuntime::SignatureHandlerGenerator::pass_int() {
< prev index next >