3335 } |
3335 } |
3336 } |
3336 } |
3337 return NULL; |
3337 return NULL; |
3338 } |
3338 } |
3339 |
3339 |
|
3340 // Trace Allocate -> Proj[Parm] -> MemBarStoreStore |
|
3341 MemBarStoreStoreNode* AllocateNode::storestore() { |
|
3342 ProjNode* rawoop = proj_out(AllocateNode::RawAddress); |
|
3343 if (rawoop == NULL) return NULL; |
|
3344 for (DUIterator_Fast imax, i = rawoop->fast_outs(imax); i < imax; i++) { |
|
3345 Node* storestore = rawoop->fast_out(i); |
|
3346 if (storestore->is_MemBarStoreStore()) { |
|
3347 return storestore->as_MemBarStoreStore(); |
|
3348 } |
|
3349 } |
|
3350 return NULL; |
|
3351 } |
|
3352 |
3340 //----------------------------- loop predicates --------------------------- |
3353 //----------------------------- loop predicates --------------------------- |
3341 |
3354 |
3342 //------------------------------add_predicate_impl---------------------------- |
3355 //------------------------------add_predicate_impl---------------------------- |
3343 void GraphKit::add_predicate_impl(Deoptimization::DeoptReason reason, int nargs) { |
3356 void GraphKit::add_predicate_impl(Deoptimization::DeoptReason reason, int nargs) { |
3344 // Too many traps seen? |
3357 // Too many traps seen? |