< prev index next >

src/hotspot/cpu/s390/nativeInst_s390.hpp

Print this page




  55 NativeGeneralJump* nativeGeneralJump_at(address address);
  56 #endif
  57 NativeInstruction* nativeInstruction_at(address address);
  58 
  59 // We have interface for the following instructions:
  60 // - NativeInstruction
  61 //   - NativeCall
  62 //   - NativeFarCall
  63 //   - NativeMovConstReg
  64 //   - NativeMovRegMem
  65 //   - NativeJump
  66 //   - NativeGeneralJump
  67 //   - NativeIllegalInstruction
  68 // The base class for different kinds of native instruction abstractions.
  69 // Provides the primitive operations to manipulate code relative to this.
  70 
  71 //-------------------------------------
  72 //  N a t i v e I n s t r u c t i o n
  73 //-------------------------------------
  74 
  75 class NativeInstruction VALUE_OBJ_CLASS_SPEC {
  76   friend class Relocation;
  77 
  78  public:
  79 
  80   enum z_specific_constants {
  81     nop_instruction_size = 2
  82   };
  83 
  84   bool is_illegal();
  85 
  86   // Bcrl is currently the only accepted instruction here.
  87   bool is_jump();
  88 
  89   // We use an illtrap for marking a method as not_entrant or zombie.
  90   bool is_sigill_zombie_not_entrant();
  91 
  92   bool is_safepoint_poll() {
  93     // Is the current instruction a POTENTIAL read access to the polling page?
  94     // The instruction's current arguments are not checked!
  95     return MacroAssembler::is_load_from_polling_page(addr_at(0));




  55 NativeGeneralJump* nativeGeneralJump_at(address address);
  56 #endif
  57 NativeInstruction* nativeInstruction_at(address address);
  58 
  59 // We have interface for the following instructions:
  60 // - NativeInstruction
  61 //   - NativeCall
  62 //   - NativeFarCall
  63 //   - NativeMovConstReg
  64 //   - NativeMovRegMem
  65 //   - NativeJump
  66 //   - NativeGeneralJump
  67 //   - NativeIllegalInstruction
  68 // The base class for different kinds of native instruction abstractions.
  69 // Provides the primitive operations to manipulate code relative to this.
  70 
  71 //-------------------------------------
  72 //  N a t i v e I n s t r u c t i o n
  73 //-------------------------------------
  74 
  75 class NativeInstruction {
  76   friend class Relocation;
  77 
  78  public:
  79 
  80   enum z_specific_constants {
  81     nop_instruction_size = 2
  82   };
  83 
  84   bool is_illegal();
  85 
  86   // Bcrl is currently the only accepted instruction here.
  87   bool is_jump();
  88 
  89   // We use an illtrap for marking a method as not_entrant or zombie.
  90   bool is_sigill_zombie_not_entrant();
  91 
  92   bool is_safepoint_poll() {
  93     // Is the current instruction a POTENTIAL read access to the polling page?
  94     // The instruction's current arguments are not checked!
  95     return MacroAssembler::is_load_from_polling_page(addr_at(0));


< prev index next >