src/share/vm/opto/graphKit.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6877254 Sdiff src/share/vm/opto

src/share/vm/opto/graphKit.hpp

Print this page




 586   bool too_many_traps(Deoptimization::DeoptReason reason) {
 587     return C->too_many_traps(method(), bci(), reason);
 588   }
 589 
 590   // Report if there were too many recompiles at the current method and bci.
 591   bool too_many_recompiles(Deoptimization::DeoptReason reason) {
 592     return C->too_many_recompiles(method(), bci(), reason);
 593   }
 594 
 595   // Returns the object (if any) which was created the moment before.
 596   Node* just_allocated_object(Node* current_control);
 597 
 598   static bool use_ReduceInitialCardMarks() {
 599     return (ReduceInitialCardMarks
 600             && Universe::heap()->can_elide_tlab_store_barriers());
 601   }
 602 
 603   void sync_kit(IdealKit& ideal);
 604 
 605   // vanilla/CMS post barrier
 606   void write_barrier_post(Node *store, Node* obj, Node* adr, Node* val, bool use_precise);

 607 
 608   // G1 pre/post barriers
 609   void g1_write_barrier_pre(Node* obj,
 610                             Node* adr,
 611                             uint alias_idx,
 612                             Node* val,
 613                             const TypeOopPtr* val_type,
 614                             BasicType bt);
 615 
 616   void g1_write_barrier_post(Node* store,
 617                              Node* obj,
 618                              Node* adr,
 619                              uint alias_idx,
 620                              Node* val,
 621                              BasicType bt,
 622                              bool use_precise);
 623   // Helper function for g1
 624   private:
 625   void g1_mark_card(IdealKit& ideal, Node* card_adr, Node* store,  Node* index, Node* index_adr,

 626                     Node* buffer, const TypeFunc* tf);
 627 
 628   public:
 629   // Helper function to round double arguments before a call
 630   void round_double_arguments(ciMethod* dest_method);
 631   void round_double_result(ciMethod* dest_method);
 632 
 633   // rounding for strict float precision conformance
 634   Node* precision_rounding(Node* n);
 635 
 636   // rounding for strict double precision conformance
 637   Node* dprecision_rounding(Node* n);
 638 
 639   // rounding for non-strict double stores
 640   Node* dstore_rounding(Node* n);
 641 
 642   // Helper functions for fast/slow path codes
 643   Node* opt_iff(Node* region, Node* iff);
 644   Node* make_runtime_call(int flags,
 645                           const TypeFunc* call_type, address call_addr,




 586   bool too_many_traps(Deoptimization::DeoptReason reason) {
 587     return C->too_many_traps(method(), bci(), reason);
 588   }
 589 
 590   // Report if there were too many recompiles at the current method and bci.
 591   bool too_many_recompiles(Deoptimization::DeoptReason reason) {
 592     return C->too_many_recompiles(method(), bci(), reason);
 593   }
 594 
 595   // Returns the object (if any) which was created the moment before.
 596   Node* just_allocated_object(Node* current_control);
 597 
 598   static bool use_ReduceInitialCardMarks() {
 599     return (ReduceInitialCardMarks
 600             && Universe::heap()->can_elide_tlab_store_barriers());
 601   }
 602 
 603   void sync_kit(IdealKit& ideal);
 604 
 605   // vanilla/CMS post barrier
 606   void write_barrier_post(Node *store, Node* obj,
 607                           Node* adr,  uint adr_idx, Node* val, bool use_precise);
 608 
 609   // G1 pre/post barriers
 610   void g1_write_barrier_pre(Node* obj,
 611                             Node* adr,
 612                             uint alias_idx,
 613                             Node* val,
 614                             const TypeOopPtr* val_type,
 615                             BasicType bt);
 616 
 617   void g1_write_barrier_post(Node* store,
 618                              Node* obj,
 619                              Node* adr,
 620                              uint alias_idx,
 621                              Node* val,
 622                              BasicType bt,
 623                              bool use_precise);
 624   // Helper function for g1
 625   private:
 626   void g1_mark_card(IdealKit& ideal, Node* card_adr, Node* store, uint oop_alias_idx,
 627                     Node* index, Node* index_adr,
 628                     Node* buffer, const TypeFunc* tf);
 629 
 630   public:
 631   // Helper function to round double arguments before a call
 632   void round_double_arguments(ciMethod* dest_method);
 633   void round_double_result(ciMethod* dest_method);
 634 
 635   // rounding for strict float precision conformance
 636   Node* precision_rounding(Node* n);
 637 
 638   // rounding for strict double precision conformance
 639   Node* dprecision_rounding(Node* n);
 640 
 641   // rounding for non-strict double stores
 642   Node* dstore_rounding(Node* n);
 643 
 644   // Helper functions for fast/slow path codes
 645   Node* opt_iff(Node* region, Node* iff);
 646   Node* make_runtime_call(int flags,
 647                           const TypeFunc* call_type, address call_addr,


src/share/vm/opto/graphKit.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File