< prev index next >

src/share/vm/interpreter/interpreterRuntime.hpp

Print this page




 115   static void    create_exception(JavaThread* thread, char* name, char* message);
 116   static void    create_klass_exception(JavaThread* thread, char* name, oopDesc* obj);
 117   static address exception_handler_for_exception(JavaThread* thread, oopDesc* exception);
 118 #if INCLUDE_JVMTI
 119   static void    member_name_arg_or_null(JavaThread* thread, address dmh, Method* m, address bcp);
 120 #endif
 121   static void    throw_pending_exception(JavaThread* thread);
 122 
 123 #ifdef CC_INTERP
 124   // Profile traps in C++ interpreter.
 125   static void    note_nullCheck_trap (JavaThread* thread, Method *method, int trap_bci);
 126   static void    note_div0Check_trap (JavaThread* thread, Method *method, int trap_bci);
 127   static void    note_rangeCheck_trap(JavaThread* thread, Method *method, int trap_bci);
 128   static void    note_classCheck_trap(JavaThread* thread, Method *method, int trap_bci);
 129   static void    note_arrayCheck_trap(JavaThread* thread, Method *method, int trap_bci);
 130   // A dummy for macros that shall not profile traps.
 131   static void    note_no_trap(JavaThread* thread, Method *method, int trap_bci) {}
 132 #endif // CC_INTERP
 133 
 134   static void resolve_from_cache(JavaThread* thread, Bytecodes::Code bytecode);





 135  private:
 136   // Statics & fields
 137   static void resolve_get_put(JavaThread* thread, Bytecodes::Code bytecode);
 138 
 139   // Calls
 140   static void resolve_invoke(JavaThread* thread, Bytecodes::Code bytecode);
 141   static void resolve_invokehandle (JavaThread* thread);
 142   static void resolve_invokedynamic(JavaThread* thread);
 143 
 144  public:
 145   // Synchronization
 146   static void    monitorenter(JavaThread* thread, BasicObjectLock* elem);
 147   static void    monitorexit (JavaThread* thread, BasicObjectLock* elem);
 148 
 149   static void    throw_illegal_monitor_state_exception(JavaThread* thread);
 150   static void    new_illegal_monitor_state_exception(JavaThread* thread);
 151 
 152   // Breakpoints
 153   static void _breakpoint(JavaThread* thread, Method* method, address bcp);
 154   static Bytecodes::Code get_original_bytecode_at(JavaThread* thread, Method* method, address bcp);




 115   static void    create_exception(JavaThread* thread, char* name, char* message);
 116   static void    create_klass_exception(JavaThread* thread, char* name, oopDesc* obj);
 117   static address exception_handler_for_exception(JavaThread* thread, oopDesc* exception);
 118 #if INCLUDE_JVMTI
 119   static void    member_name_arg_or_null(JavaThread* thread, address dmh, Method* m, address bcp);
 120 #endif
 121   static void    throw_pending_exception(JavaThread* thread);
 122 
 123 #ifdef CC_INTERP
 124   // Profile traps in C++ interpreter.
 125   static void    note_nullCheck_trap (JavaThread* thread, Method *method, int trap_bci);
 126   static void    note_div0Check_trap (JavaThread* thread, Method *method, int trap_bci);
 127   static void    note_rangeCheck_trap(JavaThread* thread, Method *method, int trap_bci);
 128   static void    note_classCheck_trap(JavaThread* thread, Method *method, int trap_bci);
 129   static void    note_arrayCheck_trap(JavaThread* thread, Method *method, int trap_bci);
 130   // A dummy for macros that shall not profile traps.
 131   static void    note_no_trap(JavaThread* thread, Method *method, int trap_bci) {}
 132 #endif // CC_INTERP
 133 
 134   static void resolve_from_cache(JavaThread* thread, Bytecodes::Code bytecode);
 135 
 136 #ifndef CC_INTERP
 137   static address entry_for_typed_bytecode(JavaThread* thread);
 138 #endif
 139 
 140  private:
 141   // Statics & fields
 142   static void resolve_get_put(JavaThread* thread, Bytecodes::Code bytecode);
 143 
 144   // Calls
 145   static void resolve_invoke(JavaThread* thread, Bytecodes::Code bytecode);
 146   static void resolve_invokehandle (JavaThread* thread);
 147   static void resolve_invokedynamic(JavaThread* thread);
 148 
 149  public:
 150   // Synchronization
 151   static void    monitorenter(JavaThread* thread, BasicObjectLock* elem);
 152   static void    monitorexit (JavaThread* thread, BasicObjectLock* elem);
 153 
 154   static void    throw_illegal_monitor_state_exception(JavaThread* thread);
 155   static void    new_illegal_monitor_state_exception(JavaThread* thread);
 156 
 157   // Breakpoints
 158   static void _breakpoint(JavaThread* thread, Method* method, address bcp);
 159   static Bytecodes::Code get_original_bytecode_at(JavaThread* thread, Method* method, address bcp);


< prev index next >