1.1 --- a/src/share/vm/opto/idealKit.hpp Fri Apr 01 21:45:33 2011 -0700 1.2 +++ b/src/share/vm/opto/idealKit.hpp Sat Apr 02 09:49:27 2011 -0700 1.3 @@ -108,6 +108,7 @@ 1.4 bool _delay_all_transforms; // flag forcing all transforms to be delayed 1.5 Node* _initial_ctrl; // saves initial control until variables declared 1.6 Node* _initial_memory; // saves initial memory until variables declared 1.7 + Node* _initial_i_o; // saves initial i_o until variables declared 1.8 1.9 PhaseGVN& gvn() const { return _gvn; } 1.10 // Create a new cvstate filled with nulls 1.11 @@ -142,17 +143,21 @@ 1.12 Node* memory(uint alias_idx); 1.13 1.14 public: 1.15 - IdealKit(PhaseGVN &gvn, Node* control, Node* memory, bool delay_all_transforms = false, bool has_declarations = false); 1.16 + IdealKit(GraphKit* gkit, bool delay_all_transforms = false, bool has_declarations = false); 1.17 ~IdealKit() { 1.18 stop(); 1.19 drain_delay_transform(); 1.20 } 1.21 + void sync_kit(GraphKit* gkit); 1.22 + 1.23 // Control 1.24 Node* ctrl() { return _cvstate->in(TypeFunc::Control); } 1.25 void set_ctrl(Node* ctrl) { _cvstate->set_req(TypeFunc::Control, ctrl); } 1.26 Node* top() { return C->top(); } 1.27 MergeMemNode* merged_memory() { return _cvstate->in(TypeFunc::Memory)->as_MergeMem(); } 1.28 void set_all_memory(Node* mem) { _cvstate->set_req(TypeFunc::Memory, mem); } 1.29 + Node* i_o() { return _cvstate->in(TypeFunc::I_O); } 1.30 + void set_i_o(Node* c) { _cvstate->set_req(TypeFunc::I_O, c); } 1.31 void set(IdealVariable& v, Node* rhs) { _cvstate->set_req(first_var + v.id(), rhs); } 1.32 Node* value(IdealVariable& v) { return _cvstate->in(first_var + v.id()); } 1.33 void dead(IdealVariable& v) { set(v, (Node*)NULL); } 1.34 @@ -239,7 +244,18 @@ 1.35 const char *leaf_name, 1.36 Node* parm0, 1.37 Node* parm1 = NULL, 1.38 - Node* parm2 = NULL); 1.39 + Node* parm2 = NULL, 1.40 + Node* parm3 = NULL); 1.41 + 1.42 + void make_leaf_call_no_fp(const TypeFunc *slow_call_type, 1.43 + address slow_call, 1.44 + const char *leaf_name, 1.45 + const TypePtr* adr_type, 1.46 + Node* parm0, 1.47 + Node* parm1, 1.48 + Node* parm2, 1.49 + Node* parm3); 1.50 + 1.51 }; 1.52 1.53 #endif // SHARE_VM_OPTO_IDEALKIT_HPP