Mercurial > hg > truffle
comparison src/share/vm/graal/graalRuntime.hpp @ 9590:5f9c41cd3b1e
replaced monitorenter/monitorexit assembler stubs with compiled stubs (GRAAL-81)
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Mon, 06 May 2013 22:37:00 +0200 |
parents | d84ea522800e |
children | 0381c7937e7a |
comparison
equal
deleted
inserted
replaced
9582:7df076e74e8e | 9590:5f9c41cd3b1e |
---|---|
76 | 76 |
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(monitorenter) \ | |
82 stub(monitorexit) \ | |
83 stub(vm_error) \ | 81 stub(vm_error) \ |
84 stub(create_null_pointer_exception) \ | 82 stub(create_null_pointer_exception) \ |
85 stub(create_out_of_bounds_exception) \ | 83 stub(create_out_of_bounds_exception) \ |
86 stub(log_object) \ | 84 stub(log_object) \ |
87 stub(log_printf) \ | 85 stub(log_printf) \ |
118 // runtime entry points | 116 // runtime entry points |
119 static void unimplemented_entry(JavaThread* thread, StubID id); | 117 static void unimplemented_entry(JavaThread* thread, StubID id); |
120 | 118 |
121 static void create_null_exception(JavaThread* thread); | 119 static void create_null_exception(JavaThread* thread); |
122 static void create_out_of_bounds_exception(JavaThread* thread, jint index); | 120 static void create_out_of_bounds_exception(JavaThread* thread, jint index); |
123 static void monitorenter(JavaThread* thread, oopDesc* obj, BasicLock* lock); | |
124 static void monitorexit (JavaThread* thread, oopDesc* obj, BasicLock* lock); | |
125 static void vm_error(JavaThread* thread, oop where, oop format, jlong value); | 121 static void vm_error(JavaThread* thread, oop where, oop format, jlong value); |
126 static void log_printf(JavaThread* thread, oop format, jlong v1, jlong v2, jlong v3); | 122 static void log_printf(JavaThread* thread, oop format, jlong v1, jlong v2, jlong v3); |
127 static void log_primitive(JavaThread* thread, jchar typeChar, jlong value, jboolean newline); | 123 static void log_primitive(JavaThread* thread, jchar typeChar, jlong value, jboolean newline); |
128 static void wb_pre_call(JavaThread* thread, oopDesc* obj); | 124 static void wb_pre_call(JavaThread* thread, oopDesc* obj); |
129 static void wb_post_call(JavaThread* thread, oopDesc* obj, void* card); | 125 static void wb_post_call(JavaThread* thread, oopDesc* obj, void* card); |
143 static void new_multi_array(JavaThread* thread, Klass* klass, int rank, jint* dims); | 139 static void new_multi_array(JavaThread* thread, Klass* klass, int rank, jint* dims); |
144 static jboolean thread_is_interrupted(JavaThread* thread, oopDesc* obj, jboolean clear_interrupte); | 140 static jboolean thread_is_interrupted(JavaThread* thread, oopDesc* obj, jboolean clear_interrupte); |
145 static void vm_message(jboolean vmError, jlong format, jlong v1, jlong v2, jlong v3); | 141 static void vm_message(jboolean vmError, jlong format, jlong v1, jlong v2, jlong v3); |
146 static jint identity_hash_code(JavaThread* thread, oopDesc* objd); | 142 static jint identity_hash_code(JavaThread* thread, oopDesc* objd); |
147 static address exception_handler_for_pc(JavaThread* thread); | 143 static address exception_handler_for_pc(JavaThread* thread); |
144 static void monitorenter(JavaThread* thread, oopDesc* obj, BasicLock* lock); | |
145 static void monitorexit (JavaThread* thread, oopDesc* obj, BasicLock* lock); | |
148 | 146 |
149 // initialization | 147 // initialization |
150 static void initialize(BufferBlob* blob); | 148 static void initialize(BufferBlob* blob); |
151 | 149 |
152 // stubs | 150 // stubs |