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 void access_flattened_array(bool is_load, LIRItem& array, LIRItem& index, LIRItem& obj_item);
270 void check_flattened_array(LIRItem& array, CodeStub* slow_path);
271
272 public:
273 LIR_Opr call_runtime(BasicTypeArray* signature, LIRItemList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
274 LIR_Opr call_runtime(BasicTypeArray* signature, LIR_OprList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
275
276 // convenience functions
277 LIR_Opr call_runtime(Value arg1, address entry, ValueType* result_type, CodeEmitInfo* info);
278 LIR_Opr call_runtime(Value arg1, Value arg2, address entry, ValueType* result_type, CodeEmitInfo* info);
279
280 // Access API
281
282 private:
283 BarrierSetC1 *_barrier_set;
284
285 public:
286 void access_store_at(DecoratorSet decorators, BasicType type,
287 LIRItem& base, LIR_Opr offset, LIR_Opr value,
288 CodeEmitInfo* patch_info = NULL, CodeEmitInfo* store_emit_info = NULL);
289
|
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 void access_flattened_array(bool is_load, LIRItem& array, LIRItem& index, LIRItem& obj_item);
270 bool needs_flattened_array_store_check(StoreIndexed* x);
271 void check_flattened_array(LIRItem& array, CodeStub* slow_path);
272
273 public:
274 LIR_Opr call_runtime(BasicTypeArray* signature, LIRItemList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
275 LIR_Opr call_runtime(BasicTypeArray* signature, LIR_OprList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
276
277 // convenience functions
278 LIR_Opr call_runtime(Value arg1, address entry, ValueType* result_type, CodeEmitInfo* info);
279 LIR_Opr call_runtime(Value arg1, Value arg2, address entry, ValueType* result_type, CodeEmitInfo* info);
280
281 // Access API
282
283 private:
284 BarrierSetC1 *_barrier_set;
285
286 public:
287 void access_store_at(DecoratorSet decorators, BasicType type,
288 LIRItem& base, LIR_Opr offset, LIR_Opr value,
289 CodeEmitInfo* patch_info = NULL, CodeEmitInfo* store_emit_info = NULL);
290
|