Top


定義場所(file name)

hotspot/src/cpu/sparc/vm/assembler_sparc.inline.hpp

説明(description)

#ifdef _LP64

名前(function name)

inline void MacroAssembler::store_float_argument( FloatRegister s, Argument& a ) {

本体部(body)

  {- -------------------------------------------
  (1) コード生成:
      引数で指定されたコピー先に応じて以下のどちらかのコードを生成.
      * store 先がレジスタの場合:
        「fmov 命令でコピーする.」
      * そうではない場合:
        「stf でストアする.」
      ---------------------------------------- -}

      if (a.is_float_register())
    // V9 ABI has F1, F3, F5 are used to pass instead of O0, O1, O2
        fmov(FloatRegisterImpl::S, s, a.as_float_register() );
      else
        // Floats are stored in the high half of the stack entry
        // The low half is undefined per the ABI.
        stf(FloatRegisterImpl::S, s, a.as_address(), sizeof(jfloat));
    }

This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.