< prev index next >

src/hotspot/share/interpreter/interpreterRuntime.hpp

Print this page
rev 50027 : 8201593: Print array length in ArrayIndexOutOfBoundsException.
Reviewed-by: dholmes, mdoerr, smonteith, shade


  66   static void    anewarray     (JavaThread* thread, ConstantPool* pool, int index, jint size);
  67   static void    multianewarray(JavaThread* thread, jint* first_size_address);
  68   static void    register_finalizer(JavaThread* thread, oopDesc* obj);
  69 
  70   // Quicken instance-of and check-cast bytecodes
  71   static void    quicken_io_cc(JavaThread* thread);
  72 
  73   // Exceptions thrown by the interpreter
  74   static void    throw_AbstractMethodError(JavaThread* thread);
  75   static void    throw_AbstractMethodErrorWithMethod(JavaThread* thread, Method* oop);
  76   static void    throw_AbstractMethodErrorVerbose(JavaThread* thread,
  77                                                   Klass* recvKlass,
  78                                                   Method* missingMethod);
  79 
  80   static void    throw_IncompatibleClassChangeError(JavaThread* thread);
  81   static void    throw_IncompatibleClassChangeErrorVerbose(JavaThread* thread,
  82                                                            Klass* resc,
  83                                                            Klass* interfaceKlass);
  84   static void    throw_StackOverflowError(JavaThread* thread);
  85   static void    throw_delayed_StackOverflowError(JavaThread* thread);
  86   static void    throw_ArrayIndexOutOfBoundsException(JavaThread* thread, char* name, jint index);
  87   static void    throw_ClassCastException(JavaThread* thread, oopDesc* obj);
  88   static void    create_exception(JavaThread* thread, char* name, char* message);
  89   static void    create_klass_exception(JavaThread* thread, char* name, oopDesc* obj);
  90   static address exception_handler_for_exception(JavaThread* thread, oopDesc* exception);
  91 #if INCLUDE_JVMTI
  92   static void    member_name_arg_or_null(JavaThread* thread, address dmh, Method* m, address bcp);
  93 #endif
  94   static void    throw_pending_exception(JavaThread* thread);
  95 
  96 #ifdef CC_INTERP
  97   // Profile traps in C++ interpreter.
  98   static void    note_nullCheck_trap (JavaThread* thread, Method *method, int trap_bci);
  99   static void    note_div0Check_trap (JavaThread* thread, Method *method, int trap_bci);
 100   static void    note_rangeCheck_trap(JavaThread* thread, Method *method, int trap_bci);
 101   static void    note_classCheck_trap(JavaThread* thread, Method *method, int trap_bci);
 102   static void    note_arrayCheck_trap(JavaThread* thread, Method *method, int trap_bci);
 103   // A dummy for macros that shall not profile traps.
 104   static void    note_no_trap(JavaThread* thread, Method *method, int trap_bci) {}
 105 #endif // CC_INTERP
 106 




  66   static void    anewarray     (JavaThread* thread, ConstantPool* pool, int index, jint size);
  67   static void    multianewarray(JavaThread* thread, jint* first_size_address);
  68   static void    register_finalizer(JavaThread* thread, oopDesc* obj);
  69 
  70   // Quicken instance-of and check-cast bytecodes
  71   static void    quicken_io_cc(JavaThread* thread);
  72 
  73   // Exceptions thrown by the interpreter
  74   static void    throw_AbstractMethodError(JavaThread* thread);
  75   static void    throw_AbstractMethodErrorWithMethod(JavaThread* thread, Method* oop);
  76   static void    throw_AbstractMethodErrorVerbose(JavaThread* thread,
  77                                                   Klass* recvKlass,
  78                                                   Method* missingMethod);
  79 
  80   static void    throw_IncompatibleClassChangeError(JavaThread* thread);
  81   static void    throw_IncompatibleClassChangeErrorVerbose(JavaThread* thread,
  82                                                            Klass* resc,
  83                                                            Klass* interfaceKlass);
  84   static void    throw_StackOverflowError(JavaThread* thread);
  85   static void    throw_delayed_StackOverflowError(JavaThread* thread);
  86   static void    throw_ArrayIndexOutOfBoundsException(JavaThread* thread, arrayOopDesc* a, jint index);
  87   static void    throw_ClassCastException(JavaThread* thread, oopDesc* obj);
  88   static void    create_exception(JavaThread* thread, char* name, char* message);
  89   static void    create_klass_exception(JavaThread* thread, char* name, oopDesc* obj);
  90   static address exception_handler_for_exception(JavaThread* thread, oopDesc* exception);
  91 #if INCLUDE_JVMTI
  92   static void    member_name_arg_or_null(JavaThread* thread, address dmh, Method* m, address bcp);
  93 #endif
  94   static void    throw_pending_exception(JavaThread* thread);
  95 
  96 #ifdef CC_INTERP
  97   // Profile traps in C++ interpreter.
  98   static void    note_nullCheck_trap (JavaThread* thread, Method *method, int trap_bci);
  99   static void    note_div0Check_trap (JavaThread* thread, Method *method, int trap_bci);
 100   static void    note_rangeCheck_trap(JavaThread* thread, Method *method, int trap_bci);
 101   static void    note_classCheck_trap(JavaThread* thread, Method *method, int trap_bci);
 102   static void    note_arrayCheck_trap(JavaThread* thread, Method *method, int trap_bci);
 103   // A dummy for macros that shall not profile traps.
 104   static void    note_no_trap(JavaThread* thread, Method *method, int trap_bci) {}
 105 #endif // CC_INTERP
 106 


< prev index next >