Request for reviews (L): 6695810 and 6703890

John Rose John.Rose at Sun.COM
Thu May 22 01:42:48 PDT 2008

Reviewed.  I have only a couple of comments.

--- connode.cpp

This line:
   if (t->isa_narrowoop()) return new (C, 1) ConNNode( t->is_narrowoop 
() );

should be moved into a "case T_NARROWOOP", parallel with the new line  
in CMoveNode::make.
(Or else leave a comment behind.)

--- compile.cpp

It is unusual to place graph idealizations in final_graph_reshaping.   
Maybe you explained this verbally, but I have forgotten what the  
story is...

Why is the CmpP(Decode, Decode) optimizations placed in  
final_graph_reshaping instead of in CmpP::Ideal?  This deserves a  

Otherwise, it looks great.  Nice cleanups.

-- John

On May 19, 2008, at 9:31 PM, Vladimir Kozlov wrote:

> Fixed 6703890: Compressed Oops: add LoadNKlass node to generate  
> narrow oops (32-bits) compare instructions
> Problem:
> Currently C2 generates DecodeN and CmpP (64-bits) instructions for
> klass and oop NULL checks with Compressed Oops.
> Solution:
> Add LoadNKlass and CMoveN nodes, use CmpN and ConN nodes and
> add correspondent platform specific assembler instructions
> to generate narrow oops (32-bits) compare instructions
> to avoid decoding.
> Reviewed by: never
> Fix verified (y/n): y, check generated code
> Other testing:
> JPRT, CTW, nsk tests

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the hotspot-compiler-dev mailing list