238 PhiResolverState& resolver_state() { return _resolver_state; }
239
240 void move_to_phi(PhiResolver* resolver, Value cur_val, Value sux_val);
241 void move_to_phi(ValueStack* cur_state);
242
243 // platform dependent
244 LIR_Opr getThreadPointer();
245
246 private:
247 // code emission
248 void do_ArithmeticOp_Long(ArithmeticOp* x);
249 void do_ArithmeticOp_Int (ArithmeticOp* x);
250 void do_ArithmeticOp_FPU (ArithmeticOp* x);
251
252 void do_RegisterFinalizer(Intrinsic* x);
253 void do_isInstance(Intrinsic* x);
254 void do_isPrimitive(Intrinsic* x);
255 void do_getClass(Intrinsic* x);
256 void do_currentThread(Intrinsic* x);
257 void do_FmaIntrinsic(Intrinsic* x);
258 void do_MathIntrinsic(Intrinsic* x);
259 void do_LibmIntrinsic(Intrinsic* x);
260 void do_ArrayCopy(Intrinsic* x);
261 void do_CompareAndSwap(Intrinsic* x, ValueType* type);
262 void do_NIOCheckIndex(Intrinsic* x);
263 void do_FPIntrinsics(Intrinsic* x);
264 void do_Reference_get(Intrinsic* x);
265 void do_update_CRC32(Intrinsic* x);
266 void do_update_CRC32C(Intrinsic* x);
267 void do_vectorizedMismatch(Intrinsic* x);
268
269 public:
270 LIR_Opr call_runtime(BasicTypeArray* signature, LIRItemList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
271 LIR_Opr call_runtime(BasicTypeArray* signature, LIR_OprList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
272
273 // convenience functions
274 LIR_Opr call_runtime(Value arg1, address entry, ValueType* result_type, CodeEmitInfo* info);
275 LIR_Opr call_runtime(Value arg1, Value arg2, address entry, ValueType* result_type, CodeEmitInfo* info);
276
277 // Access API
|
238 PhiResolverState& resolver_state() { return _resolver_state; }
239
240 void move_to_phi(PhiResolver* resolver, Value cur_val, Value sux_val);
241 void move_to_phi(ValueStack* cur_state);
242
243 // platform dependent
244 LIR_Opr getThreadPointer();
245
246 private:
247 // code emission
248 void do_ArithmeticOp_Long(ArithmeticOp* x);
249 void do_ArithmeticOp_Int (ArithmeticOp* x);
250 void do_ArithmeticOp_FPU (ArithmeticOp* x);
251
252 void do_RegisterFinalizer(Intrinsic* x);
253 void do_isInstance(Intrinsic* x);
254 void do_isPrimitive(Intrinsic* x);
255 void do_getClass(Intrinsic* x);
256 void do_currentThread(Intrinsic* x);
257 void do_FmaIntrinsic(Intrinsic* x);
258 void do_BitIntrinsic(Intrinsic* x);
259 void do_MathIntrinsic(Intrinsic* x);
260 void do_LibmIntrinsic(Intrinsic* x);
261 void do_ArrayCopy(Intrinsic* x);
262 void do_CompareAndSwap(Intrinsic* x, ValueType* type);
263 void do_NIOCheckIndex(Intrinsic* x);
264 void do_FPIntrinsics(Intrinsic* x);
265 void do_Reference_get(Intrinsic* x);
266 void do_update_CRC32(Intrinsic* x);
267 void do_update_CRC32C(Intrinsic* x);
268 void do_vectorizedMismatch(Intrinsic* x);
269
270 public:
271 LIR_Opr call_runtime(BasicTypeArray* signature, LIRItemList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
272 LIR_Opr call_runtime(BasicTypeArray* signature, LIR_OprList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
273
274 // convenience functions
275 LIR_Opr call_runtime(Value arg1, address entry, ValueType* result_type, CodeEmitInfo* info);
276 LIR_Opr call_runtime(Value arg1, Value arg2, address entry, ValueType* result_type, CodeEmitInfo* info);
277
278 // Access API
|