Mercurial > hg > graal-jvmci-8
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 ) { |