Mercurial > hg > graal-compiler
comparison src/share/vm/opto/gcm.cpp @ 2008:2f644f85485d
6961690: load oops from constant table on SPARC
Summary: oops should be loaded from the constant table of an nmethod instead of materializing them with a long code sequence.
Reviewed-by: never, kvn
author | twisti |
---|---|
date | Fri, 03 Dec 2010 01:34:31 -0800 |
parents | f95d63e2154a |
children | b92c45f2bc75 |
comparison
equal
deleted
inserted
replaced
2007:5ddfcf4b079e | 2008:2f644f85485d |
---|---|
87 void PhaseCFG::replace_block_proj_ctrl( Node *n ) { | 87 void PhaseCFG::replace_block_proj_ctrl( Node *n ) { |
88 const Node *in0 = n->in(0); | 88 const Node *in0 = n->in(0); |
89 assert(in0 != NULL, "Only control-dependent"); | 89 assert(in0 != NULL, "Only control-dependent"); |
90 const Node *p = in0->is_block_proj(); | 90 const Node *p = in0->is_block_proj(); |
91 if (p != NULL && p != n) { // Control from a block projection? | 91 if (p != NULL && p != n) { // Control from a block projection? |
92 assert(!n->pinned() || n->is_SafePointScalarObject(), "only SafePointScalarObject pinned node is expected here"); | 92 assert(!n->pinned() || n->is_MachConstantBase() || n->is_SafePointScalarObject(), "only pinned MachConstantBase or SafePointScalarObject node is expected here"); |
93 // Find trailing Region | 93 // Find trailing Region |
94 Block *pb = _bbs[in0->_idx]; // Block-projection already has basic block | 94 Block *pb = _bbs[in0->_idx]; // Block-projection already has basic block |
95 uint j = 0; | 95 uint j = 0; |
96 if (pb->_num_succs != 1) { // More then 1 successor? | 96 if (pb->_num_succs != 1) { // More then 1 successor? |
97 // Search for successor | 97 // Search for successor |