17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 * 23 */ 24 25 #ifndef SHARE_VM_OPTO_LOCKNODE_HPP 26 #define SHARE_VM_OPTO_LOCKNODE_HPP 27 28 #include "opto/node.hpp" 29 #include "opto/opcodes.hpp" 30 #include "opto/subnode.hpp" 31 #if defined AD_MD_HPP 32 # include AD_MD_HPP 33 #elif defined TARGET_ARCH_MODEL_x86_32 34 # include "adfiles/ad_x86_32.hpp" 35 #elif defined TARGET_ARCH_MODEL_x86_64 36 # include "adfiles/ad_x86_64.hpp" 37 #elif defined TARGET_ARCH_MODEL_sparc 38 # include "adfiles/ad_sparc.hpp" 39 #elif defined TARGET_ARCH_MODEL_zero 40 # include "adfiles/ad_zero.hpp" 41 #elif defined TARGET_ARCH_MODEL_ppc_64 42 # include "adfiles/ad_ppc_64.hpp" 43 #endif 44 45 //------------------------------BoxLockNode------------------------------------ 46 class BoxLockNode : public Node { 47 const int _slot; // stack slot 48 RegMask _inmask; // OptoReg corresponding to stack slot 49 bool _is_eliminated; // Associated locks were safely eliminated 50 51 public: 52 BoxLockNode( int lock ); 53 virtual int Opcode() const; 54 virtual void emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const; 55 virtual uint size(PhaseRegAlloc *ra_) const; 56 virtual const RegMask &in_RegMask(uint) const; | 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 * 23 */ 24 25 #ifndef SHARE_VM_OPTO_LOCKNODE_HPP 26 #define SHARE_VM_OPTO_LOCKNODE_HPP 27 28 #include "opto/node.hpp" 29 #include "opto/opcodes.hpp" 30 #include "opto/subnode.hpp" 31 #if defined AD_MD_HPP 32 # include AD_MD_HPP 33 #elif defined TARGET_ARCH_MODEL_x86_32 34 # include "adfiles/ad_x86_32.hpp" 35 #elif defined TARGET_ARCH_MODEL_x86_64 36 # include "adfiles/ad_x86_64.hpp" 37 #elif defined TARGET_ARCH_MODEL_aarch64 38 # include "adfiles/ad_aarch64.hpp" 39 #elif defined TARGET_ARCH_MODEL_sparc 40 # include "adfiles/ad_sparc.hpp" 41 #elif defined TARGET_ARCH_MODEL_zero 42 # include "adfiles/ad_zero.hpp" 43 #elif defined TARGET_ARCH_MODEL_ppc_64 44 # include "adfiles/ad_ppc_64.hpp" 45 #endif 46 47 //------------------------------BoxLockNode------------------------------------ 48 class BoxLockNode : public Node { 49 const int _slot; // stack slot 50 RegMask _inmask; // OptoReg corresponding to stack slot 51 bool _is_eliminated; // Associated locks were safely eliminated 52 53 public: 54 BoxLockNode( int lock ); 55 virtual int Opcode() const; 56 virtual void emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const; 57 virtual uint size(PhaseRegAlloc *ra_) const; 58 virtual const RegMask &in_RegMask(uint) const; |