src/share/vm/opto/connode.cpp
Print this page
*** 429,448 ****
// control copies
Node *ConstraintCastNode::Ideal(PhaseGVN *phase, bool can_reshape){
return (in(0) && remove_dead_region(phase, can_reshape)) ? this : NULL;
}
- //------------------------------Ideal_DU_postCCP-------------------------------
- // Throw away cast after constant propagation
- Node *ConstraintCastNode::Ideal_DU_postCCP( PhaseCCP *ccp ) {
- const Type *t = ccp->type(in(1));
- ccp->hash_delete(this);
- set_type(t); // Turn into ID function
- ccp->hash_insert(this);
- return this;
- }
-
uint CastIINode::size_of() const {
return sizeof(*this);
}
uint CastIINode::cmp(const Node &n) const {
--- 429,438 ----
*** 522,538 ****
}
}
return res;
}
- Node *CastIINode::Ideal_DU_postCCP(PhaseCCP *ccp) {
- if (_carry_dependency || _range_check_dependency) {
- return NULL;
- }
- return ConstraintCastNode::Ideal_DU_postCCP(ccp);
- }
-
#ifndef PRODUCT
void CastIINode::dump_spec(outputStream *st) const {
TypeNode::dump_spec(st);
if (_carry_dependency) {
st->print(" carry dependency");
--- 512,521 ----
*** 542,565 ****
}
}
#endif
//=============================================================================
-
- //------------------------------Ideal_DU_postCCP-------------------------------
- // If not converting int->oop, throw away cast after constant propagation
- Node *CastPPNode::Ideal_DU_postCCP( PhaseCCP *ccp ) {
- const Type *t = ccp->type(in(1));
- if (!t->isa_oop_ptr() || ((in(1)->is_DecodeN()) && Matcher::gen_narrow_oop_implicit_null_checks())) {
- return NULL; // do not transform raw pointers or narrow oops
- }
- return ConstraintCastNode::Ideal_DU_postCCP(ccp);
- }
-
-
-
- //=============================================================================
//------------------------------Identity---------------------------------------
// If input is already higher or equal to cast type, then this is an identity.
Node *CheckCastPPNode::Identity( PhaseTransform *phase ) {
// Toned down to rescue meeting at a Phi 3 different oops all implementing
// the same interface. CompileTheWorld starting at 502, kd12rc1.zip.
--- 525,534 ----
*** 688,702 ****
assert(t->isa_oop_ptr(), "only oopptr here");
return t->make_narrowoop();
}
-
- Node *EncodeNarrowPtrNode::Ideal_DU_postCCP( PhaseCCP *ccp ) {
- return MemNode::Ideal_common_DU_postCCP(ccp, this, in(1));
- }
-
Node* DecodeNKlassNode::Identity(PhaseTransform* phase) {
const Type *t = phase->type( in(1) );
if( t == Type::TOP ) return in(1);
if (in(1)->is_EncodePKlass()) {
--- 657,666 ----