hotspot/src/cpu/x86/vm/templateTable_x86_64.cpp
void TemplateTable::invokevirtual(int byte_no) {
{- -------------------------------------------
(1) (assert) (See: TemplateTable::transition())
---------------------------------------- -}
transition(vtos, vtos);
{- -------------------------------------------
(1) (assert)
---------------------------------------- -}
assert(byte_no == f2_byte, "use this argument");
{- -------------------------------------------
(1) コード生成:
「呼び出しに必要な前準備を行う」
---------------------------------------- -}
prepare_invoke(rbx, noreg, byte_no);
{- -------------------------------------------
(1) (この時点では, 各レジスタには以下の値が入っているはず)
---------------------------------------- -}
// rbx: index
// rcx: receiver
// rdx: flags
{- -------------------------------------------
(1) コード生成:
「実際の呼び出し処理を行う」
---------------------------------------- -}
invokevirtual_helper(rbx, rcx, rdx);
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.