comparison src/share/vm/opto/graphKit.hpp @ 985:685e959d09ea

6877254: Server vm crashes with no branches off of store slice" when run with CMS and UseSuperWord(default) Summary: design StoreCMNode::Ideal to promote its oopStore input if the input is a MergeMem node Reviewed-by: kvn, never
author cfang
date Mon, 14 Sep 2009 09:49:54 -0700
parents 9987d9d5eb0e
children 7c57aead6d3e
comparison
equal deleted inserted replaced
958:c7e94e8fff43 985:685e959d09ea
601 } 601 }
602 602
603 void sync_kit(IdealKit& ideal); 603 void sync_kit(IdealKit& ideal);
604 604
605 // vanilla/CMS post barrier 605 // vanilla/CMS post barrier
606 void write_barrier_post(Node *store, Node* obj, Node* adr, Node* val, bool use_precise); 606 void write_barrier_post(Node *store, Node* obj,
607 Node* adr, uint adr_idx, Node* val, bool use_precise);
607 608
608 // G1 pre/post barriers 609 // G1 pre/post barriers
609 void g1_write_barrier_pre(Node* obj, 610 void g1_write_barrier_pre(Node* obj,
610 Node* adr, 611 Node* adr,
611 uint alias_idx, 612 uint alias_idx,
620 Node* val, 621 Node* val,
621 BasicType bt, 622 BasicType bt,
622 bool use_precise); 623 bool use_precise);
623 // Helper function for g1 624 // Helper function for g1
624 private: 625 private:
625 void g1_mark_card(IdealKit& ideal, Node* card_adr, Node* store, Node* index, Node* index_adr, 626 void g1_mark_card(IdealKit& ideal, Node* card_adr, Node* store, uint oop_alias_idx,
627 Node* index, Node* index_adr,
626 Node* buffer, const TypeFunc* tf); 628 Node* buffer, const TypeFunc* tf);
627 629
628 public: 630 public:
629 // Helper function to round double arguments before a call 631 // Helper function to round double arguments before a call
630 void round_double_arguments(ciMethod* dest_method); 632 void round_double_arguments(ciMethod* dest_method);