< prev index next >

src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp

Print this page

*** 22,31 **** --- 22,32 ---- * */ #include "precompiled.hpp" #include "asm/macroAssembler.hpp" + #include "compiler/disassembler.hpp" #include "gc/shared/barrierSetAssembler.hpp" #include "interpreter/bytecodeHistogram.hpp" #include "interpreter/interp_masm.hpp" #include "interpreter/interpreter.hpp" #include "interpreter/interpreterRuntime.hpp"
*** 46,56 **** #include "runtime/timer.hpp" #include "runtime/vframeArray.hpp" #include "utilities/debug.hpp" #include "utilities/macros.hpp" ! #define __ _masm-> // Size of interpreter code. Increase if too small. Interpreter will // fail with a guarantee ("not enough space for interpreter generation"); // if too small. // Run with +PrintInterpreter to get the VM to print out the size. --- 47,57 ---- #include "runtime/timer.hpp" #include "runtime/vframeArray.hpp" #include "utilities/debug.hpp" #include "utilities/macros.hpp" ! #define __ Disassembler::hook<InterpreterMacroAssembler>(__FILE__, __LINE__, _masm)-> // Size of interpreter code. Increase if too small. Interpreter will // fail with a guarantee ("not enough space for interpreter generation"); // if too small. // Run with +PrintInterpreter to get the VM to print out the size.
*** 1772,1793 **** address& fep, address& dep, address& vep) { assert(t->is_valid() && t->tos_in() == vtos, "illegal template"); Label L; ! aep = __ pc(); __ push_ptr(); __ jmp(L); #ifndef _LP64 ! fep = __ pc(); __ push(ftos); __ jmp(L); ! dep = __ pc(); __ push(dtos); __ jmp(L); #else ! fep = __ pc(); __ push_f(xmm0); __ jmp(L); ! dep = __ pc(); __ push_d(xmm0); __ jmp(L); #endif // _LP64 ! lep = __ pc(); __ push_l(); __ jmp(L); ! bep = cep = sep = ! iep = __ pc(); __ push_i(); ! vep = __ pc(); __ bind(L); generate_and_dispatch(t); } //----------------------------------------------------------------------------- --- 1773,1806 ---- address& fep, address& dep, address& vep) { assert(t->is_valid() && t->tos_in() == vtos, "illegal template"); Label L; ! aep = __ pc(); // atos entry point ! __ push_ptr(); ! __ jmp(L); #ifndef _LP64 ! fep = __ pc(); // ftos entry point ! __ push(ftos); ! __ jmp(L); ! dep = __ pc(); // dtos entry point ! __ push(dtos); ! __ jmp(L); #else ! fep = __ pc(); // ftos entry point ! __ push_f(xmm0); ! __ jmp(L); ! dep = __ pc(); // dtos entry point ! __ push_d(xmm0); ! __ jmp(L); #endif // _LP64 ! lep = __ pc(); // ltos entry point ! __ push_l(); ! __ jmp(L); ! bep = cep = sep = iep = __ pc(); // [bcsi]tos entry point ! __ push_i(); ! vep = __ pc(); // vtos entry point __ bind(L); generate_and_dispatch(t); } //-----------------------------------------------------------------------------
< prev index next >