233
234 // code emission
235 void do_ArithmeticOp_Long (ArithmeticOp* x);
236 void do_ArithmeticOp_Int (ArithmeticOp* x);
237 void do_ArithmeticOp_FPU (ArithmeticOp* x);
238
239 // platform dependent
240 LIR_Opr getThreadPointer();
241
242 void do_RegisterFinalizer(Intrinsic* x);
243 void do_isInstance(Intrinsic* x);
244 void do_getClass(Intrinsic* x);
245 void do_currentThread(Intrinsic* x);
246 void do_MathIntrinsic(Intrinsic* x);
247 void do_ArrayCopy(Intrinsic* x);
248 void do_CompareAndSwap(Intrinsic* x, ValueType* type);
249 void do_NIOCheckIndex(Intrinsic* x);
250 void do_FPIntrinsics(Intrinsic* x);
251 void do_Reference_get(Intrinsic* x);
252 void do_update_CRC32(Intrinsic* x);
253
254 void do_UnsafePrefetch(UnsafePrefetch* x, bool is_store);
255
256 LIR_Opr call_runtime(BasicTypeArray* signature, LIRItemList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
257 LIR_Opr call_runtime(BasicTypeArray* signature, LIR_OprList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
258
259 // convenience functions
260 LIR_Opr call_runtime(Value arg1, address entry, ValueType* result_type, CodeEmitInfo* info);
261 LIR_Opr call_runtime(Value arg1, Value arg2, address entry, ValueType* result_type, CodeEmitInfo* info);
262
263 // GC Barriers
264
265 // generic interface
266
267 void pre_barrier(LIR_Opr addr_opr, LIR_Opr pre_val, bool do_load, bool patch, CodeEmitInfo* info);
268 void post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
269
270 // specific implementations
271 // pre barriers
272
|
233
234 // code emission
235 void do_ArithmeticOp_Long (ArithmeticOp* x);
236 void do_ArithmeticOp_Int (ArithmeticOp* x);
237 void do_ArithmeticOp_FPU (ArithmeticOp* x);
238
239 // platform dependent
240 LIR_Opr getThreadPointer();
241
242 void do_RegisterFinalizer(Intrinsic* x);
243 void do_isInstance(Intrinsic* x);
244 void do_getClass(Intrinsic* x);
245 void do_currentThread(Intrinsic* x);
246 void do_MathIntrinsic(Intrinsic* x);
247 void do_ArrayCopy(Intrinsic* x);
248 void do_CompareAndSwap(Intrinsic* x, ValueType* type);
249 void do_NIOCheckIndex(Intrinsic* x);
250 void do_FPIntrinsics(Intrinsic* x);
251 void do_Reference_get(Intrinsic* x);
252 void do_update_CRC32(Intrinsic* x);
253 void do_getCompiler(Intrinsic* x);
254
255 void do_UnsafePrefetch(UnsafePrefetch* x, bool is_store);
256
257 LIR_Opr call_runtime(BasicTypeArray* signature, LIRItemList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
258 LIR_Opr call_runtime(BasicTypeArray* signature, LIR_OprList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
259
260 // convenience functions
261 LIR_Opr call_runtime(Value arg1, address entry, ValueType* result_type, CodeEmitInfo* info);
262 LIR_Opr call_runtime(Value arg1, Value arg2, address entry, ValueType* result_type, CodeEmitInfo* info);
263
264 // GC Barriers
265
266 // generic interface
267
268 void pre_barrier(LIR_Opr addr_opr, LIR_Opr pre_val, bool do_load, bool patch, CodeEmitInfo* info);
269 void post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
270
271 // specific implementations
272 // pre barriers
273
|