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
278
279 private:
280 BarrierSetC1 *_barrier_set;
281
282 public:
283 void access_store_at(DecoratorSet decorators, BasicType type,
284 LIRItem& base, LIR_Opr offset, LIR_Opr value,
285 CodeEmitInfo* patch_info = NULL, CodeEmitInfo* store_emit_info = NULL);
286
287 void access_load_at(DecoratorSet decorators, BasicType type,
|
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 void do_continuation_getPC(Intrinsic* x);
269 void do_continuation_getSP(Intrinsic* x);
270 void do_continuation_getFP(Intrinsic* x);
271 void do_continuation_doYield(Intrinsic* x);
272 void do_continuation_doContinue(Intrinsic* x);
273 void do_continuation_runLevel(Intrinsic* x);
274
275 public:
276 LIR_Opr call_runtime(BasicTypeArray* signature, LIRItemList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
277 LIR_Opr call_runtime(BasicTypeArray* signature, LIR_OprList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
278
279 // convenience functions
280 LIR_Opr call_runtime(Value arg1, address entry, ValueType* result_type, CodeEmitInfo* info);
281 LIR_Opr call_runtime(Value arg1, Value arg2, address entry, ValueType* result_type, CodeEmitInfo* info);
282
283 // Access API
284
285 private:
286 BarrierSetC1 *_barrier_set;
287
288 public:
289 void access_store_at(DecoratorSet decorators, BasicType type,
290 LIRItem& base, LIR_Opr offset, LIR_Opr value,
291 CodeEmitInfo* patch_info = NULL, CodeEmitInfo* store_emit_info = NULL);
292
293 void access_load_at(DecoratorSet decorators, BasicType type,
|