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 ----