< prev index next >

src/hotspot/cpu/zero/nativeInst_zero.hpp

Print this page

 24  */
 25 
 26 #ifndef CPU_ZERO_NATIVEINST_ZERO_HPP
 27 #define CPU_ZERO_NATIVEINST_ZERO_HPP
 28 
 29 #include "asm/assembler.hpp"
 30 #include "runtime/icache.hpp"
 31 #include "runtime/os.hpp"
 32 
 33 // We have interfaces for the following instructions:
 34 // - NativeInstruction
 35 // - - NativeCall
 36 // - - NativeMovConstReg
 37 // - - NativeMovConstRegPatching
 38 // - - NativeJump
 39 // - - NativeIllegalOpCode
 40 // - - NativeReturn
 41 // - - NativeReturnX (return with argument)
 42 // - - NativePushConst
 43 // - - NativeTstRegMem

 44 
 45 // The base class for different kinds of native instruction abstractions.
 46 // Provides the primitive operations to manipulate code relative to this.
 47 
 48 class NativeInstruction {
 49  public:
 50   bool is_jump() {
 51     ShouldNotCallThis();
 52     return false;
 53   }
 54 
 55   bool is_safepoint_poll() {
 56     ShouldNotCallThis();
 57     return false;
 58   }
 59 };
 60 
 61 inline NativeInstruction* nativeInstruction_at(address address) {
 62   ShouldNotCallThis();
 63   return NULL;

193  public:
194   address jump_destination() const {
195     ShouldNotCallThis();
196     return NULL;
197   }
198 
199   static void insert_unconditional(address code_pos, address entry) {
200     ShouldNotCallThis();
201   }
202 
203   static void replace_mt_safe(address instr_addr, address code_buffer) {
204     ShouldNotCallThis();
205   }
206 };
207 
208 inline NativeGeneralJump* nativeGeneralJump_at(address address) {
209   ShouldNotCallThis();
210   return NULL;
211 }
212 































213 #endif // CPU_ZERO_NATIVEINST_ZERO_HPP

 24  */
 25 
 26 #ifndef CPU_ZERO_NATIVEINST_ZERO_HPP
 27 #define CPU_ZERO_NATIVEINST_ZERO_HPP
 28 
 29 #include "asm/assembler.hpp"
 30 #include "runtime/icache.hpp"
 31 #include "runtime/os.hpp"
 32 
 33 // We have interfaces for the following instructions:
 34 // - NativeInstruction
 35 // - - NativeCall
 36 // - - NativeMovConstReg
 37 // - - NativeMovConstRegPatching
 38 // - - NativeJump
 39 // - - NativeIllegalOpCode
 40 // - - NativeReturn
 41 // - - NativeReturnX (return with argument)
 42 // - - NativePushConst
 43 // - - NativeTstRegMem
 44 // - - NativeDeoptInstruction
 45 
 46 // The base class for different kinds of native instruction abstractions.
 47 // Provides the primitive operations to manipulate code relative to this.
 48 
 49 class NativeInstruction {
 50  public:
 51   bool is_jump() {
 52     ShouldNotCallThis();
 53     return false;
 54   }
 55 
 56   bool is_safepoint_poll() {
 57     ShouldNotCallThis();
 58     return false;
 59   }
 60 };
 61 
 62 inline NativeInstruction* nativeInstruction_at(address address) {
 63   ShouldNotCallThis();
 64   return NULL;

194  public:
195   address jump_destination() const {
196     ShouldNotCallThis();
197     return NULL;
198   }
199 
200   static void insert_unconditional(address code_pos, address entry) {
201     ShouldNotCallThis();
202   }
203 
204   static void replace_mt_safe(address instr_addr, address code_buffer) {
205     ShouldNotCallThis();
206   }
207 };
208 
209 inline NativeGeneralJump* nativeGeneralJump_at(address address) {
210   ShouldNotCallThis();
211   return NULL;
212 }
213 
214 class NativePostCallNop: public NativeInstruction {
215 public:
216   bool check() const { Unimplemented(); return false; }
217   int displacement() const { Unimplemented(); return 0; }
218   void patch(jint diff) { Unimplemented(); }
219   void make_deopt() { Unimplemented(); }
220 };
221 
222 inline NativePostCallNop* nativePostCallNop_at(address address) {
223   Unimplemented();
224   return NULL;
225 }
226 
227 class NativeDeoptInstruction: public NativeInstruction {
228 public:
229   address instruction_address() const       { Unimplemented(); return NULL; }
230   address next_instruction_address() const  { Unimplemented(); return NULL; }
231 
232   void  verify() { Unimplemented(); }
233 
234   static bool is_deopt_at(address instr) {
235     Unimplemented();
236     return false;
237   }
238 
239   // MT-safe patching
240   static void insert(address code_pos) {
241     Unimplemented();
242   }
243 };
244 
245 #endif // CPU_ZERO_NATIVEINST_ZERO_HPP
< prev index next >