comparison src/share/vm/c1/c1_Runtime1.hpp @ 7126:ce248dc0a656

removed all Graal modifications to ci and c1
author Doug Simon <doug.simon@oracle.com>
date Mon, 03 Dec 2012 17:54:05 +0100
parents e522a00b91aa
children b9a918201d47
comparison
equal deleted inserted replaced
7125:1baf7f1e3f23 7126:ce248dc0a656
34 class StubAssembler; 34 class StubAssembler;
35 35
36 // The Runtime1 holds all assembly stubs and VM 36 // The Runtime1 holds all assembly stubs and VM
37 // runtime routines needed by code code generated 37 // runtime routines needed by code code generated
38 // by the Compiler1. 38 // by the Compiler1.
39 #ifdef GRAAL 39
40 #define RUNTIME1_STUBS(stub, last_entry) \
41 stub(dtrace_object_alloc) \
42 stub(unwind_exception) \
43 stub(forward_exception) \
44 stub(throw_range_check_failed) /* throws ArrayIndexOutOfBoundsException */ \
45 stub(throw_index_exception) /* throws IndexOutOfBoundsException */ \
46 stub(throw_div0_exception) \
47 stub(throw_null_pointer_exception) \
48 stub(register_finalizer) \
49 stub(new_instance) \
50 stub(fast_new_instance) \
51 stub(fast_new_instance_init_check) \
52 stub(new_type_array) \
53 stub(new_object_array) \
54 stub(new_multi_array) \
55 stub(handle_exception_nofpu) /* optimized version that does not preserve fpu registers */ \
56 stub(handle_exception) \
57 stub(handle_exception_from_callee) \
58 stub(throw_array_store_exception) \
59 stub(throw_class_cast_exception) \
60 stub(throw_incompatible_class_change_error) \
61 stub(slow_subtype_check) \
62 stub(monitorenter) \
63 stub(monitorenter_nofpu) /* optimized version that does not preserve fpu registers */ \
64 stub(monitorexit) \
65 stub(monitorexit_nofpu) /* optimized version that does not preserve fpu registers */ \
66 stub(deoptimize) \
67 stub(access_field_patching) \
68 stub(load_klass_patching) \
69 stub(load_mirror_patching) \
70 stub(g1_pre_barrier_slow) \
71 stub(g1_post_barrier_slow) \
72 stub(fpu2long_stub) \
73 stub(counter_overflow) \
74 stub(graal_unwind_exception_call) \
75 stub(graal_OSR_migration_end) \
76 stub(graal_arithmetic_frem) \
77 stub(graal_arithmetic_drem) \
78 stub(graal_monitorenter) \
79 stub(graal_monitorexit) \
80 stub(graal_verify_oop) \
81 stub(graal_vm_error) \
82 stub(graal_set_deopt_info) \
83 stub(graal_create_null_pointer_exception) \
84 stub(graal_create_out_of_bounds_exception) \
85 stub(graal_log_object) \
86 stub(graal_log_printf) \
87 stub(graal_log_primitive) \
88 last_entry(number_of_ids)
89 #else
90 #define RUNTIME1_STUBS(stub, last_entry) \ 40 #define RUNTIME1_STUBS(stub, last_entry) \
91 stub(dtrace_object_alloc) \ 41 stub(dtrace_object_alloc) \
92 stub(unwind_exception) \ 42 stub(unwind_exception) \
93 stub(forward_exception) \ 43 stub(forward_exception) \
94 stub(throw_range_check_failed) /* throws ArrayIndexOutOfBoundsException */ \ 44 stub(throw_range_check_failed) /* throws ArrayIndexOutOfBoundsException */ \
120 stub(g1_pre_barrier_slow) \ 70 stub(g1_pre_barrier_slow) \
121 stub(g1_post_barrier_slow) \ 71 stub(g1_post_barrier_slow) \
122 stub(fpu2long_stub) \ 72 stub(fpu2long_stub) \
123 stub(counter_overflow) \ 73 stub(counter_overflow) \
124 last_entry(number_of_ids) 74 last_entry(number_of_ids)
125 #endif
126 75
127 #define DECLARE_STUB_ID(x) x ## _id , 76 #define DECLARE_STUB_ID(x) x ## _id ,
128 #define DECLARE_LAST_STUB_ID(x) x 77 #define DECLARE_LAST_STUB_ID(x) x
129 #define STUB_NAME(x) #x " Runtime1 stub", 78 #define STUB_NAME(x) #x " Runtime1 stub",
130 #define LAST_STUB_NAME(x) #x " Runtime1 stub" 79 #define LAST_STUB_NAME(x) #x " Runtime1 stub"
199 static void throw_div0_exception(JavaThread* thread); 148 static void throw_div0_exception(JavaThread* thread);
200 static void throw_null_pointer_exception(JavaThread* thread); 149 static void throw_null_pointer_exception(JavaThread* thread);
201 static void throw_class_cast_exception(JavaThread* thread, oopDesc* object); 150 static void throw_class_cast_exception(JavaThread* thread, oopDesc* object);
202 static void throw_incompatible_class_change_error(JavaThread* thread); 151 static void throw_incompatible_class_change_error(JavaThread* thread);
203 static void throw_array_store_exception(JavaThread* thread, oopDesc* object); 152 static void throw_array_store_exception(JavaThread* thread, oopDesc* object);
153
204 static void monitorenter(JavaThread* thread, oopDesc* obj, BasicObjectLock* lock); 154 static void monitorenter(JavaThread* thread, oopDesc* obj, BasicObjectLock* lock);
205 static void monitorexit (JavaThread* thread, BasicObjectLock* lock); 155 static void monitorexit (JavaThread* thread, BasicObjectLock* lock);
206 #ifdef GRAAL
207 static void graal_create_null_exception(JavaThread* thread);
208 static void graal_create_out_of_bounds_exception(JavaThread* thread, jint index);
209 static void graal_monitorenter(JavaThread* thread, oopDesc* obj, BasicLock* lock);
210 static void graal_monitorexit (JavaThread* thread, oopDesc* obj, BasicLock* lock);
211 static void graal_vm_error(JavaThread* thread, oop where, oop format, jlong value);
212 static void graal_log_printf(JavaThread* thread, oop format, jlong value);
213 static void graal_log_primitive(JavaThread* thread, jchar typeChar, jlong value, jboolean newline);
214
215 // Note: Must be kept in sync with constants in com.oracle.graal.snippets.Log
216 enum {
217 LOG_OBJECT_NEWLINE = 0x01,
218 LOG_OBJECT_STRING = 0x02,
219 LOG_OBJECT_ADDRESS = 0x04
220 };
221 static void graal_log_object(JavaThread* thread, oop msg, jint flags);
222 #endif // GRAAL
223 156
224 static void deoptimize(JavaThread* thread); 157 static void deoptimize(JavaThread* thread);
225 158
226 static int access_field_patching(JavaThread* thread); 159 static int access_field_patching(JavaThread* thread);
227 static int move_klass_patching(JavaThread* thread); 160 static int move_klass_patching(JavaThread* thread);