comparison src/share/vm/opto/block.hpp @ 4120:f03a3c8bd5e5

7077312: Provide a CALL effect for instruct declaration in the ad file Summary: abstracted way to declare that the MachNode has the effect of a call (kills caller save registers, preserves callee save registers) Reviewed-by: twisti, never
author roland
date Wed, 14 Sep 2011 09:22:51 +0200
parents f6f3bb0ee072
children cf407b7d3d78
comparison
equal deleted inserted replaced
4119:7793051af7d6 4120:f03a3c8bd5e5
279 // Find node in block 279 // Find node in block
280 uint find_node( const Node *n ) const; 280 uint find_node( const Node *n ) const;
281 // Find and remove n from block list 281 // Find and remove n from block list
282 void find_remove( const Node *n ); 282 void find_remove( const Node *n );
283 283
284 // helper function that adds caller save registers to MachProjNode
285 void add_call_kills(MachProjNode *proj, RegMask& regs, const char* save_policy, bool exclude_soe);
284 // Schedule a call next in the block 286 // Schedule a call next in the block
285 uint sched_call(Matcher &matcher, Block_Array &bbs, uint node_cnt, Node_List &worklist, int *ready_cnt, MachCallNode *mcall, VectorSet &next_call); 287 uint sched_call(Matcher &matcher, Block_Array &bbs, uint node_cnt, Node_List &worklist, int *ready_cnt, MachCallNode *mcall, VectorSet &next_call);
286 288
287 // Perform basic-block local scheduling 289 // Perform basic-block local scheduling
288 Node *select(PhaseCFG *cfg, Node_List &worklist, int *ready_cnt, VectorSet &next_call, uint sched_slot); 290 Node *select(PhaseCFG *cfg, Node_List &worklist, int *ready_cnt, VectorSet &next_call, uint sched_slot);