229 friend class LIRItem;
230
231 LIR_Opr round_item(LIR_Opr opr);
232 LIR_Opr force_to_spill(LIR_Opr value, BasicType t);
233
234 PhiResolverState& resolver_state() { return _resolver_state; }
235
236 void move_to_phi(PhiResolver* resolver, Value cur_val, Value sux_val);
237 void move_to_phi(ValueStack* cur_state);
238
239 // code emission
240 void do_ArithmeticOp_Long (ArithmeticOp* x);
241 void do_ArithmeticOp_Int (ArithmeticOp* x);
242 void do_ArithmeticOp_FPU (ArithmeticOp* x);
243
244 // platform dependent
245 LIR_Opr getThreadPointer();
246
247 void do_RegisterFinalizer(Intrinsic* x);
248 void do_isInstance(Intrinsic* x);
249 void do_getClass(Intrinsic* x);
250 void do_currentThread(Intrinsic* x);
251 void do_MathIntrinsic(Intrinsic* x);
252 void do_LibmIntrinsic(Intrinsic* x);
253 void do_ArrayCopy(Intrinsic* x);
254 void do_CompareAndSwap(Intrinsic* x, ValueType* type);
255 void do_NIOCheckIndex(Intrinsic* x);
256 void do_FPIntrinsics(Intrinsic* x);
257 void do_Reference_get(Intrinsic* x);
258 void do_update_CRC32(Intrinsic* x);
259
260 LIR_Opr call_runtime(BasicTypeArray* signature, LIRItemList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
261 LIR_Opr call_runtime(BasicTypeArray* signature, LIR_OprList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
262
263 // convenience functions
264 LIR_Opr call_runtime(Value arg1, address entry, ValueType* result_type, CodeEmitInfo* info);
265 LIR_Opr call_runtime(Value arg1, Value arg2, address entry, ValueType* result_type, CodeEmitInfo* info);
266
267 // GC Barriers
268
|
229 friend class LIRItem;
230
231 LIR_Opr round_item(LIR_Opr opr);
232 LIR_Opr force_to_spill(LIR_Opr value, BasicType t);
233
234 PhiResolverState& resolver_state() { return _resolver_state; }
235
236 void move_to_phi(PhiResolver* resolver, Value cur_val, Value sux_val);
237 void move_to_phi(ValueStack* cur_state);
238
239 // code emission
240 void do_ArithmeticOp_Long (ArithmeticOp* x);
241 void do_ArithmeticOp_Int (ArithmeticOp* x);
242 void do_ArithmeticOp_FPU (ArithmeticOp* x);
243
244 // platform dependent
245 LIR_Opr getThreadPointer();
246
247 void do_RegisterFinalizer(Intrinsic* x);
248 void do_isInstance(Intrinsic* x);
249 void do_isPrimitive(Intrinsic* x);
250 void do_getClass(Intrinsic* x);
251 void do_currentThread(Intrinsic* x);
252 void do_MathIntrinsic(Intrinsic* x);
253 void do_LibmIntrinsic(Intrinsic* x);
254 void do_ArrayCopy(Intrinsic* x);
255 void do_CompareAndSwap(Intrinsic* x, ValueType* type);
256 void do_NIOCheckIndex(Intrinsic* x);
257 void do_FPIntrinsics(Intrinsic* x);
258 void do_Reference_get(Intrinsic* x);
259 void do_update_CRC32(Intrinsic* x);
260
261 LIR_Opr call_runtime(BasicTypeArray* signature, LIRItemList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
262 LIR_Opr call_runtime(BasicTypeArray* signature, LIR_OprList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
263
264 // convenience functions
265 LIR_Opr call_runtime(Value arg1, address entry, ValueType* result_type, CodeEmitInfo* info);
266 LIR_Opr call_runtime(Value arg1, Value arg2, address entry, ValueType* result_type, CodeEmitInfo* info);
267
268 // GC Barriers
269
|