143 // and require access to TLS and the return pc. jvmti stubs always
144 // employ jump 0, and require no special access
145 #define C2_STUBS_DO(do_blob, do_stub, do_jvmti_stub) \
146 do_blob(uncommon_trap, UncommonTrapBlob*) \
147 do_blob(exception, ExceptionBlob*) \
148 do_stub(new_instance, 0, true, false) \
149 do_stub(new_array, 0, true, false) \
150 do_stub(new_array_nozero, 0, true, false) \
151 do_stub(multianewarray2, 0, true, false) \
152 do_stub(multianewarray3, 0, true, false) \
153 do_stub(multianewarray4, 0, true, false) \
154 do_stub(multianewarray5, 0, true, false) \
155 do_stub(multianewarrayN, 0, true, false) \
156 C2_JVMTI_STUBS_DO(do_jvmti_stub) \
157 do_stub(complete_monitor_locking, 0, false, false) \
158 do_stub(monitor_notify, 0, false, false) \
159 do_stub(monitor_notifyAll, 0, false, false) \
160 do_stub(rethrow, 2, true, true) \
161 do_stub(slow_arraycopy, 0, false, false) \
162 do_stub(register_finalizer, 0, false, false) \
163
164 #else
165 #define C2_STUBS_DO(do_blob, do_stub, do_jvmti_stub)
166 #endif
167
168 // generate a stub or blob id enum tag from a name
169
170 #define STUB_ID_NAME(base) base##_id
171
172 // generate a stub field name
173
174 #define STUB_FIELD_NAME(base) _##base
175
176 // generate a blob field name
177
178 #define BLOB_FIELD_NAME(base) _##base##_blob
179
180 #endif // SHARE_RUNTIME_STUBDECLARATIONS_HPP
181
|
143 // and require access to TLS and the return pc. jvmti stubs always
144 // employ jump 0, and require no special access
145 #define C2_STUBS_DO(do_blob, do_stub, do_jvmti_stub) \
146 do_blob(uncommon_trap, UncommonTrapBlob*) \
147 do_blob(exception, ExceptionBlob*) \
148 do_stub(new_instance, 0, true, false) \
149 do_stub(new_array, 0, true, false) \
150 do_stub(new_array_nozero, 0, true, false) \
151 do_stub(multianewarray2, 0, true, false) \
152 do_stub(multianewarray3, 0, true, false) \
153 do_stub(multianewarray4, 0, true, false) \
154 do_stub(multianewarray5, 0, true, false) \
155 do_stub(multianewarrayN, 0, true, false) \
156 C2_JVMTI_STUBS_DO(do_jvmti_stub) \
157 do_stub(complete_monitor_locking, 0, false, false) \
158 do_stub(monitor_notify, 0, false, false) \
159 do_stub(monitor_notifyAll, 0, false, false) \
160 do_stub(rethrow, 2, true, true) \
161 do_stub(slow_arraycopy, 0, false, false) \
162 do_stub(register_finalizer, 0, false, false) \
163 do_stub(class_init_barrier, 0, false, false) \
164
165 #else
166 #define C2_STUBS_DO(do_blob, do_stub, do_jvmti_stub)
167 #endif
168
169 // generate a stub or blob id enum tag from a name
170
171 #define STUB_ID_NAME(base) base##_id
172
173 // generate a stub field name
174
175 #define STUB_FIELD_NAME(base) _##base
176
177 // generate a blob field name
178
179 #define BLOB_FIELD_NAME(base) _##base##_blob
180
181 #endif // SHARE_RUNTIME_STUBDECLARATIONS_HPP
182
|