hotspot/src/cpu/x86/vm/templateInterpreter_x86_64.cpp
void TemplateInterpreterGenerator::trace_bytecode(Template* t) {
{- -------------------------------------------
(1)
---------------------------------------- -}
// Call a little run-time stub to avoid blow-up for each bytecode.
// The run-time runtime saves the right registers, depending on
// the tosca in-state for the given template.
assert(Interpreter::trace_code(t->tos_in()) != NULL,
"entry must have been generated");
{- -------------------------------------------
(1)
---------------------------------------- -}
__ mov(r12, rsp); // remember sp (can only use r12 if not using call_VM)
__ andptr(rsp, -16); // align stack as required by ABI
{- -------------------------------------------
(1) Interpreter::trace_code() が指しているコード (=
TemplateInterpreterGenerator::generate_trace_code() で
生成されたコード列のエントリポイント) を呼び出す.
---------------------------------------- -}
__ call(RuntimeAddress(Interpreter::trace_code(t->tos_in())));
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.