74 #endif // CC_INTERP 75 76 // Inner work method for Interpreter's frequency counter overflow. 77 static nmethod* frequency_counter_overflow_inner(JavaThread* thread, address branch_bcp); 78 79 public: 80 // Constants 81 static void ldc (JavaThread* thread, bool wide); 82 static void resolve_ldc (JavaThread* thread, Bytecodes::Code bytecode); 83 84 // Allocation 85 static void _new (JavaThread* thread, ConstantPool* pool, int index); 86 static void newarray (JavaThread* thread, BasicType type, jint size); 87 static void anewarray (JavaThread* thread, ConstantPool* pool, int index, jint size); 88 static void multianewarray(JavaThread* thread, jint* first_size_address); 89 static void register_finalizer(JavaThread* thread, oopDesc* obj); 90 static void vdefault (JavaThread* thread, ConstantPool* pool, int index); 91 static int vwithfield (JavaThread* thread, ConstantPoolCache* cp_cache); 92 static void qgetfield (JavaThread* thread, oopDesc* value, int offset); 93 static void qputfield (JavaThread* thread, oopDesc* obj, oopDesc* value, int offset); 94 95 // vaload/vastore 96 static void value_array_load(JavaThread* thread, arrayOopDesc* array, int index); 97 static void value_array_store(JavaThread* thread, arrayOopDesc* array, int index, void* val); 98 99 // Valhalla MVT VCC<->DVT 100 static void vbox (JavaThread* thread, ConstantPool* pool, int index, oopDesc* value); 101 static void vunbox(JavaThread* thread, ConstantPool* pool, int index, oopDesc* obj); 102 103 104 // Quicken instance-of and check-cast bytecodes 105 static void quicken_io_cc(JavaThread* thread); 106 107 // Exceptions thrown by the interpreter 108 static void throw_AbstractMethodError(JavaThread* thread); 109 static void throw_IncompatibleClassChangeError(JavaThread* thread); 110 static void throw_StackOverflowError(JavaThread* thread); 111 static void throw_delayed_StackOverflowError(JavaThread* thread); 112 static void throw_ArrayIndexOutOfBoundsException(JavaThread* thread, char* name, jint index); 113 static void throw_ClassCastException(JavaThread* thread, oopDesc* obj); | 74 #endif // CC_INTERP 75 76 // Inner work method for Interpreter's frequency counter overflow. 77 static nmethod* frequency_counter_overflow_inner(JavaThread* thread, address branch_bcp); 78 79 public: 80 // Constants 81 static void ldc (JavaThread* thread, bool wide); 82 static void resolve_ldc (JavaThread* thread, Bytecodes::Code bytecode); 83 84 // Allocation 85 static void _new (JavaThread* thread, ConstantPool* pool, int index); 86 static void newarray (JavaThread* thread, BasicType type, jint size); 87 static void anewarray (JavaThread* thread, ConstantPool* pool, int index, jint size); 88 static void multianewarray(JavaThread* thread, jint* first_size_address); 89 static void register_finalizer(JavaThread* thread, oopDesc* obj); 90 static void vdefault (JavaThread* thread, ConstantPool* pool, int index); 91 static int vwithfield (JavaThread* thread, ConstantPoolCache* cp_cache); 92 static void qgetfield (JavaThread* thread, oopDesc* value, int offset); 93 static void qputfield (JavaThread* thread, oopDesc* obj, oopDesc* value, int offset); 94 static void qputstatic (JavaThread* thread, oopDesc* value); 95 static void initialize_static_value_field(JavaThread*, oopDesc* mirror, int offset); 96 97 // Value Buffers support 98 static void recycle_vtbuffer(JavaThread* thread); 99 static void recycle_buffered_values(JavaThread* thread); 100 static void return_value(JavaThread* thread, oopDesc* obj); 101 static void check_areturn(JavaThread* thread, oopDesc* obj); 102 static void fix_frame_vt_alloc_ptr(JavaThread* thread); 103 104 // vaload/vastore 105 static void value_array_load(JavaThread* thread, arrayOopDesc* array, int index); 106 static void value_array_store(JavaThread* thread, arrayOopDesc* array, int index, void* val); 107 108 // Valhalla MVT VCC<->DVT 109 static void vbox (JavaThread* thread, ConstantPool* pool, int index, oopDesc* value); 110 static void vunbox(JavaThread* thread, ConstantPool* pool, int index, oopDesc* obj); 111 112 113 // Quicken instance-of and check-cast bytecodes 114 static void quicken_io_cc(JavaThread* thread); 115 116 // Exceptions thrown by the interpreter 117 static void throw_AbstractMethodError(JavaThread* thread); 118 static void throw_IncompatibleClassChangeError(JavaThread* thread); 119 static void throw_StackOverflowError(JavaThread* thread); 120 static void throw_delayed_StackOverflowError(JavaThread* thread); 121 static void throw_ArrayIndexOutOfBoundsException(JavaThread* thread, char* name, jint index); 122 static void throw_ClassCastException(JavaThread* thread, oopDesc* obj); |