< prev index next >

src/hotspot/share/c1/c1_LIRGenerator.hpp

Print this page

222     assert(x->operand()->is_illegal(), "operand should never change");
223     assert(!opr->is_register() || opr->is_virtual(), "should never set result to a physical register");
224     x->set_operand(opr);
225     assert(opr == x->operand(), "must be");
226     if (opr->is_virtual()) {
227       _instruction_for_operand.at_put_grow(opr->vreg_number(), x, NULL);
228     }
229   }
230   void  set_no_result(Value x)                     { assert(!x->has_uses(), "can't have use"); x->clear_operand(); }
231 
232   friend class LIRItem;
233 
234   LIR_Opr round_item(LIR_Opr opr);
235   LIR_Opr force_to_spill(LIR_Opr value, BasicType t);
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);

222     assert(x->operand()->is_illegal(), "operand should never change");
223     assert(!opr->is_register() || opr->is_virtual(), "should never set result to a physical register");
224     x->set_operand(opr);
225     assert(opr == x->operand(), "must be");
226     if (opr->is_virtual()) {
227       _instruction_for_operand.at_put_grow(opr->vreg_number(), x, NULL);
228     }
229   }
230   void  set_no_result(Value x)                     { assert(!x->has_uses(), "can't have use"); x->clear_operand(); }
231 
232   friend class LIRItem;
233 
234   LIR_Opr round_item(LIR_Opr opr);
235   LIR_Opr force_to_spill(LIR_Opr value, BasicType t);
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   void load_klass(LIR_Opr obj, LIR_Opr klass, CodeEmitInfo* null_check_info);
243 
244   // platform dependent
245   LIR_Opr getThreadPointer();
246 
247  private:
248   // code emission
249   void do_ArithmeticOp_Long(ArithmeticOp* x);
250   void do_ArithmeticOp_Int (ArithmeticOp* x);
251   void do_ArithmeticOp_FPU (ArithmeticOp* x);
252 
253   void do_RegisterFinalizer(Intrinsic* x);
254   void do_isInstance(Intrinsic* x);
255   void do_isPrimitive(Intrinsic* x);
256   void do_getModifiers(Intrinsic* x);
257   void do_getClass(Intrinsic* x);
258   void do_currentThread(Intrinsic* x);
259   void do_getObjectSize(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);
< prev index next >