1178 return 0; |
1178 return 0; |
1179 |
1179 |
1180 return (TypeFunc::Parms == idx); |
1180 return (TypeFunc::Parms == idx); |
1181 } |
1181 } |
1182 |
1182 |
|
1183 void SafePointNode::disconnect_from_root(PhaseIterGVN *igvn) { |
|
1184 assert(Opcode() == Op_SafePoint, "only value for safepoint in loops"); |
|
1185 int nb = igvn->C->root()->find_prec_edge(this); |
|
1186 if (nb != -1) { |
|
1187 igvn->C->root()->rm_prec(nb); |
|
1188 } |
|
1189 } |
|
1190 |
1183 //============== SafePointScalarObjectNode ============== |
1191 //============== SafePointScalarObjectNode ============== |
1184 |
1192 |
1185 SafePointScalarObjectNode::SafePointScalarObjectNode(const TypeOopPtr* tp, |
1193 SafePointScalarObjectNode::SafePointScalarObjectNode(const TypeOopPtr* tp, |
1186 #ifdef ASSERT |
1194 #ifdef ASSERT |
1187 AllocateNode* alloc, |
1195 AllocateNode* alloc, |