comparison src/share/vm/opto/connode.cpp @ 368:36ccc817fca4

6747051: Improve code and implicit null check generation for compressed oops Summary: Push DecodeN node below the Null check to the non-null path to use the mach node without 0 test. Reviewed-by: rasbold, never
author kvn
date Tue, 23 Sep 2008 12:29:06 -0700
parents ab075d07f1ba
children 98cb887364d3
comparison
equal deleted inserted replaced
367:194b8e3a2fc4 368:36ccc817fca4
431 431
432 //------------------------------Ideal_DU_postCCP------------------------------- 432 //------------------------------Ideal_DU_postCCP-------------------------------
433 // If not converting int->oop, throw away cast after constant propagation 433 // If not converting int->oop, throw away cast after constant propagation
434 Node *CastPPNode::Ideal_DU_postCCP( PhaseCCP *ccp ) { 434 Node *CastPPNode::Ideal_DU_postCCP( PhaseCCP *ccp ) {
435 const Type *t = ccp->type(in(1)); 435 const Type *t = ccp->type(in(1));
436 if (!t->isa_oop_ptr()) { 436 if (!t->isa_oop_ptr() || in(1)->is_DecodeN()) {
437 return NULL; // do not transform raw pointers 437 return NULL; // do not transform raw pointers or narrow oops
438 } 438 }
439 return ConstraintCastNode::Ideal_DU_postCCP(ccp); 439 return ConstraintCastNode::Ideal_DU_postCCP(ccp);
440 } 440 }
441 441
442 442