comparison src/share/vm/opto/node.cpp @ 3788:e3cbc9ddd434

7044738: Loop unroll optimization causes incorrect result Summary: take into account memory dependencies when clonning nodes in clone_up_backedge_goo(). Reviewed-by: never
author kvn
date Tue, 28 Jun 2011 15:24:29 -0700
parents 1d1603768966
children 35acf8f0a2e4
comparison
equal deleted inserted replaced
3787:6ae7a1561b53 3788:e3cbc9ddd434
2010 _inodes = REALLOC_ARENA_ARRAY(_a, INode, _inodes, old_max, max); 2010 _inodes = REALLOC_ARENA_ARRAY(_a, INode, _inodes, old_max, max);
2011 _inode_max = _inodes + max; 2011 _inode_max = _inodes + max;
2012 _inode_top = _inodes + old_top; // restore _top 2012 _inode_top = _inodes + old_top; // restore _top
2013 } 2013 }
2014 2014
2015 // Node_Stack is used to map nodes.
2016 Node* Node_Stack::find(uint idx) const {
2017 uint sz = size();
2018 for (uint i=0; i < sz; i++) {
2019 if (idx == index_at(i) )
2020 return node_at(i);
2021 }
2022 return NULL;
2023 }
2024
2015 //============================================================================= 2025 //=============================================================================
2016 uint TypeNode::size_of() const { return sizeof(*this); } 2026 uint TypeNode::size_of() const { return sizeof(*this); }
2017 #ifndef PRODUCT 2027 #ifndef PRODUCT
2018 void TypeNode::dump_spec(outputStream *st) const { 2028 void TypeNode::dump_spec(outputStream *st) const {
2019 if( !Verbose && !WizardMode ) { 2029 if( !Verbose && !WizardMode ) {