< 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 >