Mercurial > hg > graal-jvmci-8
comparison src/share/vm/opto/loopopts.cpp @ 235:9c2ecc2ffb12 jdk7-b31
Merge
author | trims |
---|---|
date | Fri, 11 Jul 2008 01:14:44 -0700 |
parents | d1605aabd0a1 1dd146f17531 |
children | 020a0b730379 |
comparison
equal
deleted
inserted
replaced
197:de141433919f | 235:9c2ecc2ffb12 |
---|---|
39 assert( region->is_Region(), "" ); | 39 assert( region->is_Region(), "" ); |
40 | 40 |
41 const Type* type = n->bottom_type(); | 41 const Type* type = n->bottom_type(); |
42 const TypeOopPtr *t_oop = _igvn.type(n)->isa_oopptr(); | 42 const TypeOopPtr *t_oop = _igvn.type(n)->isa_oopptr(); |
43 Node *phi; | 43 Node *phi; |
44 if( t_oop != NULL && t_oop->is_instance_field() ) { | 44 if( t_oop != NULL && t_oop->is_known_instance_field() ) { |
45 int iid = t_oop->instance_id(); | 45 int iid = t_oop->instance_id(); |
46 int index = C->get_alias_index(t_oop); | 46 int index = C->get_alias_index(t_oop); |
47 int offset = t_oop->offset(); | 47 int offset = t_oop->offset(); |
48 phi = new (C,region->req()) PhiNode(region, type, NULL, iid, index, offset); | 48 phi = new (C,region->req()) PhiNode(region, type, NULL, iid, index, offset); |
49 } else { | 49 } else { |
2683 if( dom_lca( exit, u_ctrl ) != exit ) continue; | 2683 if( dom_lca( exit, u_ctrl ) != exit ) continue; |
2684 // protect against stride not being a constant | 2684 // protect against stride not being a constant |
2685 if( !cle->stride_is_con() ) continue; | 2685 if( !cle->stride_is_con() ) continue; |
2686 // Hit! Refactor use to use the post-incremented tripcounter. | 2686 // Hit! Refactor use to use the post-incremented tripcounter. |
2687 // Compute a post-increment tripcounter. | 2687 // Compute a post-increment tripcounter. |
2688 Node *opaq = new (C, 2) Opaque2Node( cle->incr() ); | 2688 Node *opaq = new (C, 2) Opaque2Node( C, cle->incr() ); |
2689 register_new_node( opaq, u_ctrl ); | 2689 register_new_node( opaq, u_ctrl ); |
2690 Node *neg_stride = _igvn.intcon(-cle->stride_con()); | 2690 Node *neg_stride = _igvn.intcon(-cle->stride_con()); |
2691 set_ctrl(neg_stride, C->root()); | 2691 set_ctrl(neg_stride, C->root()); |
2692 Node *post = new (C, 3) AddINode( opaq, neg_stride); | 2692 Node *post = new (C, 3) AddINode( opaq, neg_stride); |
2693 register_new_node( post, u_ctrl ); | 2693 register_new_node( post, u_ctrl ); |