< prev index next >

src/hotspot/share/c1/c1_LIRGenerator.hpp

Print this page

236 
237   PhiResolverState& resolver_state() { return _resolver_state; }
238 
239   void  move_to_phi(PhiResolver* resolver, Value cur_val, Value sux_val);
240   void  move_to_phi(ValueStack* cur_state);
241 
242   // platform dependent
243   LIR_Opr getThreadPointer();
244 
245  private:
246   // code emission
247   void do_ArithmeticOp_Long(ArithmeticOp* x);
248   void do_ArithmeticOp_Int (ArithmeticOp* x);
249   void do_ArithmeticOp_FPU (ArithmeticOp* x);
250 
251   void do_RegisterFinalizer(Intrinsic* x);
252   void do_isInstance(Intrinsic* x);
253   void do_isPrimitive(Intrinsic* x);
254   void do_getModifiers(Intrinsic* x);
255   void do_getClass(Intrinsic* x);
256   void do_currentThread(Intrinsic* x);
257   void do_getObjectSize(Intrinsic* x);



258   void do_FmaIntrinsic(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_PreconditionsCheckIndex(Intrinsic* x, BasicType type);
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   void do_blackhole(Intrinsic* x);

270 
271  public:
272   LIR_Opr call_runtime(BasicTypeArray* signature, LIRItemList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
273   LIR_Opr call_runtime(BasicTypeArray* signature, LIR_OprList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
274 
275   // convenience functions
276   LIR_Opr call_runtime(Value arg1, address entry, ValueType* result_type, CodeEmitInfo* info);
277   LIR_Opr call_runtime(Value arg1, Value arg2, address entry, ValueType* result_type, CodeEmitInfo* info);
278 
279   // Access API
280 
281  private:
282   BarrierSetC1 *_barrier_set;
283 
284  public:
285   void access_store_at(DecoratorSet decorators, BasicType type,
286                        LIRItem& base, LIR_Opr offset, LIR_Opr value,
287                        CodeEmitInfo* patch_info = NULL, CodeEmitInfo* store_emit_info = NULL);
288 
289   void access_load_at(DecoratorSet decorators, BasicType type,

236 
237   PhiResolverState& resolver_state() { return _resolver_state; }
238 
239   void  move_to_phi(PhiResolver* resolver, Value cur_val, Value sux_val);
240   void  move_to_phi(ValueStack* cur_state);
241 
242   // platform dependent
243   LIR_Opr getThreadPointer();
244 
245  private:
246   // code emission
247   void do_ArithmeticOp_Long(ArithmeticOp* x);
248   void do_ArithmeticOp_Int (ArithmeticOp* x);
249   void do_ArithmeticOp_FPU (ArithmeticOp* x);
250 
251   void do_RegisterFinalizer(Intrinsic* x);
252   void do_isInstance(Intrinsic* x);
253   void do_isPrimitive(Intrinsic* x);
254   void do_getModifiers(Intrinsic* x);
255   void do_getClass(Intrinsic* x);

256   void do_getObjectSize(Intrinsic* x);
257   void do_currentThread0(Intrinsic* x);
258   void do_scopeLocalCache(Intrinsic* x);
259   void do_vthread(Intrinsic* x);
260   void do_FmaIntrinsic(Intrinsic* x);
261   void do_MathIntrinsic(Intrinsic* x);
262   void do_LibmIntrinsic(Intrinsic* x);
263   void do_ArrayCopy(Intrinsic* x);
264   void do_CompareAndSwap(Intrinsic* x, ValueType* type);
265   void do_PreconditionsCheckIndex(Intrinsic* x, BasicType type);
266   void do_FPIntrinsics(Intrinsic* x);
267   void do_Reference_get(Intrinsic* x);
268   void do_update_CRC32(Intrinsic* x);
269   void do_update_CRC32C(Intrinsic* x);
270   void do_vectorizedMismatch(Intrinsic* x);
271   void do_blackhole(Intrinsic* x);
272   void do_continuation_doYield(Intrinsic* x);
273 
274  public:
275   LIR_Opr call_runtime(BasicTypeArray* signature, LIRItemList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
276   LIR_Opr call_runtime(BasicTypeArray* signature, LIR_OprList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
277 
278   // convenience functions
279   LIR_Opr call_runtime(Value arg1, address entry, ValueType* result_type, CodeEmitInfo* info);
280   LIR_Opr call_runtime(Value arg1, Value arg2, address entry, ValueType* result_type, CodeEmitInfo* info);
281 
282   // Access API
283 
284  private:
285   BarrierSetC1 *_barrier_set;
286 
287  public:
288   void access_store_at(DecoratorSet decorators, BasicType type,
289                        LIRItem& base, LIR_Opr offset, LIR_Opr value,
290                        CodeEmitInfo* patch_info = NULL, CodeEmitInfo* store_emit_info = NULL);
291 
292   void access_load_at(DecoratorSet decorators, BasicType type,
< prev index next >