< prev index next >

src/hotspot/cpu/x86/macroAssembler_x86.hpp

Print this page

2137 
2138   void cache_wb(Address line);
2139   void cache_wbsync(bool is_pre);
2140 
2141 #ifdef COMPILER2_OR_JVMCI
2142   void generate_fill_avx3(BasicType type, Register to, Register value,
2143                           Register count, Register rtmp, XMMRegister xtmp);
2144 #endif // COMPILER2_OR_JVMCI
2145 #endif // _LP64
2146 
2147   void vallones(XMMRegister dst, int vector_len);
2148 
2149   void check_stack_alignment(Register sp, const char* msg, unsigned bias = 0, Register tmp = noreg);
2150 
2151   void lightweight_lock(Register basic_lock, Register obj, Register reg_rax, Register thread, Register tmp, Label& slow);
2152   void lightweight_unlock(Register obj, Register reg_rax, Register thread, Register tmp, Label& slow);
2153 
2154 #ifdef _LP64
2155   void save_legacy_gprs();
2156   void restore_legacy_gprs();

2157 #endif
2158 };
2159 
2160 /**
2161  * class SkipIfEqual:
2162  *
2163  * Instantiating this class will result in assembly code being output that will
2164  * jump around any code emitted between the creation of the instance and it's
2165  * automatic destruction at the end of a scope block, depending on the value of
2166  * the flag passed to the constructor, which will be checked at run-time.
2167  */
2168 class SkipIfEqual {
2169  private:
2170   MacroAssembler* _masm;
2171   Label _label;
2172 
2173  public:
2174    SkipIfEqual(MacroAssembler*, const bool* flag_addr, bool value, Register rscratch);
2175    ~SkipIfEqual();
2176 };

2137 
2138   void cache_wb(Address line);
2139   void cache_wbsync(bool is_pre);
2140 
2141 #ifdef COMPILER2_OR_JVMCI
2142   void generate_fill_avx3(BasicType type, Register to, Register value,
2143                           Register count, Register rtmp, XMMRegister xtmp);
2144 #endif // COMPILER2_OR_JVMCI
2145 #endif // _LP64
2146 
2147   void vallones(XMMRegister dst, int vector_len);
2148 
2149   void check_stack_alignment(Register sp, const char* msg, unsigned bias = 0, Register tmp = noreg);
2150 
2151   void lightweight_lock(Register basic_lock, Register obj, Register reg_rax, Register thread, Register tmp, Label& slow);
2152   void lightweight_unlock(Register obj, Register reg_rax, Register thread, Register tmp, Label& slow);
2153 
2154 #ifdef _LP64
2155   void save_legacy_gprs();
2156   void restore_legacy_gprs();
2157   void load_aotrc_address(Register reg, address a);
2158 #endif
2159 };
2160 
2161 /**
2162  * class SkipIfEqual:
2163  *
2164  * Instantiating this class will result in assembly code being output that will
2165  * jump around any code emitted between the creation of the instance and it's
2166  * automatic destruction at the end of a scope block, depending on the value of
2167  * the flag passed to the constructor, which will be checked at run-time.
2168  */
2169 class SkipIfEqual {
2170  private:
2171   MacroAssembler* _masm;
2172   Label _label;
2173 
2174  public:
2175    SkipIfEqual(MacroAssembler*, const bool* flag_addr, bool value, Register rscratch);
2176    ~SkipIfEqual();
2177 };
< prev index next >