src/share/vm/code/vmreg.hpp

Print this page
rev 7258 : 8064611: AARCH64: Changes to HotSpot shared code
Summary: Everything except cpu/ and os_cpu/.
Reviewed-by: kvn


 138     return value() - stack0->value();
 139   }
 140 
 141   static void set_regName();
 142 
 143 #ifdef TARGET_ARCH_x86
 144 # include "vmreg_x86.hpp"
 145 #endif
 146 #ifdef TARGET_ARCH_sparc
 147 # include "vmreg_sparc.hpp"
 148 #endif
 149 #ifdef TARGET_ARCH_zero
 150 # include "vmreg_zero.hpp"
 151 #endif
 152 #ifdef TARGET_ARCH_arm
 153 # include "vmreg_arm.hpp"
 154 #endif
 155 #ifdef TARGET_ARCH_ppc
 156 # include "vmreg_ppc.hpp"
 157 #endif



 158 
 159 
 160 };
 161 
 162 //---------------------------VMRegPair-------------------------------------------
 163 // Pairs of 32-bit registers for arguments.
 164 // SharedRuntime::java_calling_convention will overwrite the structs with
 165 // the calling convention's registers.  VMRegImpl::Bad is returned for any
 166 // unused 32-bit register.  This happens for the unused high half of Int
 167 // arguments, or for 32-bit pointers or for longs in the 32-bit sparc build
 168 // (which are passed to natives in low 32-bits of e.g. O0/O1 and the high
 169 // 32-bits of O0/O1 are set to VMRegImpl::Bad).  Longs in one register & doubles
 170 // always return a high and a low register, as do 64-bit pointers.
 171 //
 172 class VMRegPair {
 173 private:
 174   VMReg _second;
 175   VMReg _first;
 176 public:
 177   void set_bad (                   ) { _second=VMRegImpl::Bad(); _first=VMRegImpl::Bad(); }




 138     return value() - stack0->value();
 139   }
 140 
 141   static void set_regName();
 142 
 143 #ifdef TARGET_ARCH_x86
 144 # include "vmreg_x86.hpp"
 145 #endif
 146 #ifdef TARGET_ARCH_sparc
 147 # include "vmreg_sparc.hpp"
 148 #endif
 149 #ifdef TARGET_ARCH_zero
 150 # include "vmreg_zero.hpp"
 151 #endif
 152 #ifdef TARGET_ARCH_arm
 153 # include "vmreg_arm.hpp"
 154 #endif
 155 #ifdef TARGET_ARCH_ppc
 156 # include "vmreg_ppc.hpp"
 157 #endif
 158 #ifdef TARGET_ARCH_aarch64
 159 # include "vmreg_aarch64.hpp"
 160 #endif
 161 
 162 
 163 };
 164 
 165 //---------------------------VMRegPair-------------------------------------------
 166 // Pairs of 32-bit registers for arguments.
 167 // SharedRuntime::java_calling_convention will overwrite the structs with
 168 // the calling convention's registers.  VMRegImpl::Bad is returned for any
 169 // unused 32-bit register.  This happens for the unused high half of Int
 170 // arguments, or for 32-bit pointers or for longs in the 32-bit sparc build
 171 // (which are passed to natives in low 32-bits of e.g. O0/O1 and the high
 172 // 32-bits of O0/O1 are set to VMRegImpl::Bad).  Longs in one register & doubles
 173 // always return a high and a low register, as do 64-bit pointers.
 174 //
 175 class VMRegPair {
 176 private:
 177   VMReg _second;
 178   VMReg _first;
 179 public:
 180   void set_bad (                   ) { _second=VMRegImpl::Bad(); _first=VMRegImpl::Bad(); }