53
54 // Inner work method for Interpreter's frequency counter overflow.
55 static nmethod* frequency_counter_overflow_inner(JavaThread* thread, address branch_bcp);
56
57 public:
58 // Constants
59 static void ldc (JavaThread* thread, bool wide);
60 static void resolve_ldc (JavaThread* thread, Bytecodes::Code bytecode);
61
62 // Allocation
63 static void _new (JavaThread* thread, ConstantPool* pool, int index);
64 static void newarray (JavaThread* thread, BasicType type, jint size);
65 static void anewarray (JavaThread* thread, ConstantPool* pool, int index, jint size);
66 static void multianewarray(JavaThread* thread, jint* first_size_address);
67 static void register_finalizer(JavaThread* thread, oopDesc* obj);
68 static void defaultvalue (JavaThread* thread, ConstantPool* pool, int index);
69 static int withfield (JavaThread* thread, ConstantPoolCache* cp_cache);
70 static void uninitialized_static_value_field(JavaThread* thread, oopDesc* mirror, int offset);
71 static void uninitialized_instance_value_field(JavaThread* thread, oopDesc* obj, int offset);
72 static void write_heap_copy (JavaThread* thread, oopDesc* value, int offset, oopDesc* rcv);
73 static void write_flattened_value(JavaThread* thread, oopDesc* value, int offset, oopDesc* rcv);
74 static void read_flattened_field(JavaThread* thread, oopDesc* value, int index, Klass* field_holder);
75
76 static void value_array_load(JavaThread* thread, arrayOopDesc* array, int index);
77 static void value_array_store(JavaThread* thread, void* val, arrayOopDesc* array, int index);
78
79 static jboolean is_substitutable(JavaThread* thread, oopDesc* aobj, oopDesc* bobj);
80
81 // Quicken instance-of and check-cast bytecodes
82 static void quicken_io_cc(JavaThread* thread);
83
84 // Exceptions thrown by the interpreter
85 static void throw_AbstractMethodError(JavaThread* thread);
86 static void throw_AbstractMethodErrorWithMethod(JavaThread* thread, Method* oop);
87 static void throw_AbstractMethodErrorVerbose(JavaThread* thread,
88 Klass* recvKlass,
89 Method* missingMethod);
90
91 static void throw_IncompatibleClassChangeError(JavaThread* thread);
92 static void throw_IncompatibleClassChangeErrorVerbose(JavaThread* thread,
93 Klass* resc,
|
53
54 // Inner work method for Interpreter's frequency counter overflow.
55 static nmethod* frequency_counter_overflow_inner(JavaThread* thread, address branch_bcp);
56
57 public:
58 // Constants
59 static void ldc (JavaThread* thread, bool wide);
60 static void resolve_ldc (JavaThread* thread, Bytecodes::Code bytecode);
61
62 // Allocation
63 static void _new (JavaThread* thread, ConstantPool* pool, int index);
64 static void newarray (JavaThread* thread, BasicType type, jint size);
65 static void anewarray (JavaThread* thread, ConstantPool* pool, int index, jint size);
66 static void multianewarray(JavaThread* thread, jint* first_size_address);
67 static void register_finalizer(JavaThread* thread, oopDesc* obj);
68 static void defaultvalue (JavaThread* thread, ConstantPool* pool, int index);
69 static int withfield (JavaThread* thread, ConstantPoolCache* cp_cache);
70 static void uninitialized_static_value_field(JavaThread* thread, oopDesc* mirror, int offset);
71 static void uninitialized_instance_value_field(JavaThread* thread, oopDesc* obj, int offset);
72 static void write_heap_copy (JavaThread* thread, oopDesc* value, int offset, oopDesc* rcv);
73 static void read_flattened_field(JavaThread* thread, oopDesc* value, int index, Klass* field_holder);
74
75 static void value_array_load(JavaThread* thread, arrayOopDesc* array, int index);
76 static void value_array_store(JavaThread* thread, void* val, arrayOopDesc* array, int index);
77
78 static jboolean is_substitutable(JavaThread* thread, oopDesc* aobj, oopDesc* bobj);
79
80 // Quicken instance-of and check-cast bytecodes
81 static void quicken_io_cc(JavaThread* thread);
82
83 // Exceptions thrown by the interpreter
84 static void throw_AbstractMethodError(JavaThread* thread);
85 static void throw_AbstractMethodErrorWithMethod(JavaThread* thread, Method* oop);
86 static void throw_AbstractMethodErrorVerbose(JavaThread* thread,
87 Klass* recvKlass,
88 Method* missingMethod);
89
90 static void throw_IncompatibleClassChangeError(JavaThread* thread);
91 static void throw_IncompatibleClassChangeErrorVerbose(JavaThread* thread,
92 Klass* resc,
|