Mercurial > hg > graal-jvmci-8
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); |