hotspot/src/cpu/sparc/vm/assembler_sparc.cpp
void MacroAssembler::calc_mem_param_words(Register Rparam_words, Register Rresult) {
{- -------------------------------------------
(1) コード生成:
「引数で指定された Rparam_words レジスタから
Argument::n_register_parameters 分だけ引いた値を計算し,
結果を (引数で指定された) Rresult レジスタに入れる.
ただし, 結果が負数になっていたら, 代わりに 0 を結果とする」
(レジスタで引き渡せる分はスタックを消費しないので, その分だけ減らしておくという処理)
---------------------------------------- -}
subcc( Rparam_words, Argument::n_register_parameters, Rresult); // how many mem words?
Label no_extras;
br( negative, true, pt, no_extras ); // if neg, clear reg
delayed()->set(0, Rresult); // annuled, so only if taken
bind( no_extras );
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.