comparison src/share/vm/graal/graalRuntime.hpp @ 9593:a3b4bcc22313

replaced log_* assembler stubs with compiled stubs (GRAAL-81)
author Doug Simon <doug.simon@oracle.com>
date Tue, 07 May 2013 00:20:25 +0200
parents efb8c1918ea5
children 743326387173
comparison
equal deleted inserted replaced
9592:efb8c1918ea5 9593:a3b4bcc22313
77 // Holds all assembly stubs and VM 77 // Holds all assembly stubs and VM
78 // runtime routines needed by code code generated 78 // runtime routines needed by code code generated
79 // by Graal. 79 // by Graal.
80 #define GRAAL_STUBS(stub, last_entry) \ 80 #define GRAAL_STUBS(stub, last_entry) \
81 stub(vm_error) \ 81 stub(vm_error) \
82 stub(log_object) \
83 stub(log_printf) \
84 stub(log_primitive) \
85 stub(wb_pre_call) \ 82 stub(wb_pre_call) \
86 stub(wb_post_call) \ 83 stub(wb_post_call) \
87 last_entry(number_of_ids) 84 last_entry(number_of_ids)
88 85
89 #define DECLARE_STUB_ID(x) x ## _id , 86 #define DECLARE_STUB_ID(x) x ## _id ,
112 Register arg1 = noreg, Register arg2 = noreg, Register arg3 = noreg); 109 Register arg1 = noreg, Register arg2 = noreg, Register arg3 = noreg);
113 110
114 // runtime entry points 111 // runtime entry points
115 static void unimplemented_entry(JavaThread* thread, StubID id); 112 static void unimplemented_entry(JavaThread* thread, StubID id);
116 113
117 // Note: Must be kept in sync with constants in com.oracle.graal.replacements.Log
118 enum {
119 LOG_OBJECT_NEWLINE = 0x01,
120 LOG_OBJECT_STRING = 0x02,
121 LOG_OBJECT_ADDRESS = 0x04
122 };
123 static void log_object(JavaThread* thread, oop msg, jint flags);
124
125 public: 114 public:
126 static void new_instance(JavaThread* thread, Klass* klass); 115 static void new_instance(JavaThread* thread, Klass* klass);
127 static void new_array(JavaThread* thread, Klass* klass, jint length); 116 static void new_array(JavaThread* thread, Klass* klass, jint length);
128 static void new_multi_array(JavaThread* thread, Klass* klass, int rank, jint* dims); 117 static void new_multi_array(JavaThread* thread, Klass* klass, int rank, jint* dims);
129 static jboolean thread_is_interrupted(JavaThread* thread, oopDesc* obj, jboolean clear_interrupte); 118 static jboolean thread_is_interrupted(JavaThread* thread, oopDesc* obj, jboolean clear_interrupte);
135 static void create_null_exception(JavaThread* thread); 124 static void create_null_exception(JavaThread* thread);
136 static void create_out_of_bounds_exception(JavaThread* thread, jint index); 125 static void create_out_of_bounds_exception(JavaThread* thread, jint index);
137 static void vm_error(JavaThread* thread, oop where, oop format, jlong value); 126 static void vm_error(JavaThread* thread, oop where, oop format, jlong value);
138 static void log_printf(JavaThread* thread, oop format, jlong v1, jlong v2, jlong v3); 127 static void log_printf(JavaThread* thread, oop format, jlong v1, jlong v2, jlong v3);
139 static void log_primitive(JavaThread* thread, jchar typeChar, jlong value, jboolean newline); 128 static void log_primitive(JavaThread* thread, jchar typeChar, jlong value, jboolean newline);
129 // Note: Must be kept in sync with constants in com.oracle.graal.replacements.Log
130 enum {
131 LOG_OBJECT_NEWLINE = 0x01,
132 LOG_OBJECT_STRING = 0x02,
133 LOG_OBJECT_ADDRESS = 0x04
134 };
135 static void log_object(JavaThread* thread, oop msg, jint flags);
140 static void wb_pre_call(JavaThread* thread, oopDesc* obj); 136 static void wb_pre_call(JavaThread* thread, oopDesc* obj);
141 static void wb_post_call(JavaThread* thread, oopDesc* obj, void* card); 137 static void wb_post_call(JavaThread* thread, oopDesc* obj, void* card);
142 138
143 // initialization 139 // initialization
144 static void initialize(BufferBlob* blob); 140 static void initialize(BufferBlob* blob);