< prev index next >

src/hotspot/share/opto/callnode.cpp

Print this page




1082 #endif
1083 
1084 //------------------------------calling_convention-----------------------------
1085 void CallRuntimeNode::calling_convention( BasicType* sig_bt, VMRegPair *parm_regs, uint argcnt ) const {
1086   Matcher::c_calling_convention( sig_bt, parm_regs, argcnt );
1087 }
1088 
1089 //=============================================================================
1090 //------------------------------calling_convention-----------------------------
1091 
1092 
1093 //=============================================================================
1094 #ifndef PRODUCT
1095 void CallLeafNode::dump_spec(outputStream *st) const {
1096   st->print("# ");
1097   st->print("%s", _name);
1098   CallNode::dump_spec(st);
1099 }
1100 #endif
1101 








1102 //=============================================================================
1103 
1104 void SafePointNode::set_local(JVMState* jvms, uint idx, Node *c) {
1105   assert(verify_jvms(jvms), "jvms must match");
1106   int loc = jvms->locoff() + idx;
1107   if (in(loc)->is_top() && idx > 0 && !c->is_top() ) {
1108     // If current local idx is top then local idx - 1 could
1109     // be a long/double that needs to be killed since top could
1110     // represent the 2nd half ofthe long/double.
1111     uint ideal = in(loc -1)->ideal_reg();
1112     if (ideal == Op_RegD || ideal == Op_RegL) {
1113       // set other (low index) half to top
1114       set_req(loc - 1, in(loc));
1115     }
1116   }
1117   set_req(loc, c);
1118 }
1119 
1120 uint SafePointNode::size_of() const { return sizeof(*this); }
1121 uint SafePointNode::cmp( const Node &n ) const {




1082 #endif
1083 
1084 //------------------------------calling_convention-----------------------------
1085 void CallRuntimeNode::calling_convention( BasicType* sig_bt, VMRegPair *parm_regs, uint argcnt ) const {
1086   Matcher::c_calling_convention( sig_bt, parm_regs, argcnt );
1087 }
1088 
1089 //=============================================================================
1090 //------------------------------calling_convention-----------------------------
1091 
1092 
1093 //=============================================================================
1094 #ifndef PRODUCT
1095 void CallLeafNode::dump_spec(outputStream *st) const {
1096   st->print("# ");
1097   st->print("%s", _name);
1098   CallNode::dump_spec(st);
1099 }
1100 #endif
1101 
1102 Node *CallLeafNode::Ideal(PhaseGVN *phase, bool can_reshape) {
1103   Node* ideal = BarrierSet::barrier_set()->barrier_set_c2()->ideal_node(phase, this, can_reshape);
1104   if (ideal != NULL) {
1105     return ideal;
1106   }
1107   return CallNode::Ideal(phase, can_reshape);
1108 }
1109 
1110 //=============================================================================
1111 
1112 void SafePointNode::set_local(JVMState* jvms, uint idx, Node *c) {
1113   assert(verify_jvms(jvms), "jvms must match");
1114   int loc = jvms->locoff() + idx;
1115   if (in(loc)->is_top() && idx > 0 && !c->is_top() ) {
1116     // If current local idx is top then local idx - 1 could
1117     // be a long/double that needs to be killed since top could
1118     // represent the 2nd half ofthe long/double.
1119     uint ideal = in(loc -1)->ideal_reg();
1120     if (ideal == Op_RegD || ideal == Op_RegL) {
1121       // set other (low index) half to top
1122       set_req(loc - 1, in(loc));
1123     }
1124   }
1125   set_req(loc, c);
1126 }
1127 
1128 uint SafePointNode::size_of() const { return sizeof(*this); }
1129 uint SafePointNode::cmp( const Node &n ) const {


< prev index next >