< prev index next >

src/share/vm/opto/graphKit.hpp

Print this page




 609   Node* store_oop_to_unknown(Node* ctl,
 610                              Node* obj,   // containing obj
 611                              Node* adr,   // actual adress to store val at
 612                              const TypePtr* adr_type,
 613                              Node* val,
 614                              BasicType bt,
 615                              MemNode::MemOrd mo);
 616 
 617   // For the few case where the barriers need special help
 618   void pre_barrier(bool do_load, Node* ctl,
 619                    Node* obj, Node* adr, uint adr_idx, Node* val, const TypeOopPtr* val_type,
 620                    Node* pre_val,
 621                    BasicType bt);
 622 
 623   void post_barrier(Node* ctl, Node* store, Node* obj, Node* adr, uint adr_idx,
 624                     Node* val, BasicType bt, bool use_precise);
 625 
 626   // Return addressing for an array element.
 627   Node* array_element_address(Node* ary, Node* idx, BasicType elembt,
 628                               // Optional constraint on the array size:
 629                               const TypeInt* sizetype = NULL);


 630 
 631   // Return a load of array element at idx.
 632   Node* load_array_element(Node* ctl, Node* ary, Node* idx, const TypeAryPtr* arytype);
 633 
 634   //---------------- Dtrace support --------------------
 635   void make_dtrace_method_entry_exit(ciMethod* method, bool is_entry);
 636   void make_dtrace_method_entry(ciMethod* method) {
 637     make_dtrace_method_entry_exit(method, true);
 638   }
 639   void make_dtrace_method_exit(ciMethod* method) {
 640     make_dtrace_method_entry_exit(method, false);
 641   }
 642 
 643   //--------------- stub generation -------------------
 644  public:
 645   void gen_stub(address C_function,
 646                 const char *name,
 647                 int is_fancy_jump,
 648                 bool pass_tls,
 649                 bool return_pc);




 609   Node* store_oop_to_unknown(Node* ctl,
 610                              Node* obj,   // containing obj
 611                              Node* adr,   // actual adress to store val at
 612                              const TypePtr* adr_type,
 613                              Node* val,
 614                              BasicType bt,
 615                              MemNode::MemOrd mo);
 616 
 617   // For the few case where the barriers need special help
 618   void pre_barrier(bool do_load, Node* ctl,
 619                    Node* obj, Node* adr, uint adr_idx, Node* val, const TypeOopPtr* val_type,
 620                    Node* pre_val,
 621                    BasicType bt);
 622 
 623   void post_barrier(Node* ctl, Node* store, Node* obj, Node* adr, uint adr_idx,
 624                     Node* val, BasicType bt, bool use_precise);
 625 
 626   // Return addressing for an array element.
 627   Node* array_element_address(Node* ary, Node* idx, BasicType elembt,
 628                               // Optional constraint on the array size:
 629                               const TypeInt* sizetype = NULL,
 630                               // Optional control dependency (for example, on range check)
 631                               Node* ctrl = NULL);
 632 
 633   // Return a load of array element at idx.
 634   Node* load_array_element(Node* ctl, Node* ary, Node* idx, const TypeAryPtr* arytype);
 635 
 636   //---------------- Dtrace support --------------------
 637   void make_dtrace_method_entry_exit(ciMethod* method, bool is_entry);
 638   void make_dtrace_method_entry(ciMethod* method) {
 639     make_dtrace_method_entry_exit(method, true);
 640   }
 641   void make_dtrace_method_exit(ciMethod* method) {
 642     make_dtrace_method_entry_exit(method, false);
 643   }
 644 
 645   //--------------- stub generation -------------------
 646  public:
 647   void gen_stub(address C_function,
 648                 const char *name,
 649                 int is_fancy_jump,
 650                 bool pass_tls,
 651                 bool return_pc);


< prev index next >