Mercurial > hg > truffle
diff src/share/vm/opto/matcher.hpp @ 729:04fa5affa478
6709742: find_base_for_derived's use of Ideal NULL is unsafe causing crashes during register allocation
Summary: Create a mach node corresponding to ideal node ConP #NULL specifically for derived pointers.
Reviewed-by: never
author | kvn |
---|---|
date | Wed, 22 Apr 2009 17:03:18 -0700 |
parents | 4d9884b01ba6 |
children | 93c14e5562c4 |
line wrap: on
line diff
--- a/src/share/vm/opto/matcher.hpp Wed Apr 22 06:09:24 2009 -0700 +++ b/src/share/vm/opto/matcher.hpp Wed Apr 22 17:03:18 2009 -0700 @@ -109,6 +109,9 @@ Node* _mem_node; // Ideal memory node consumed by mach node #endif + // Mach node for ConP #NULL + MachNode* _mach_null; + public: int LabelRootDepth; static const int base2reg[]; // Map Types to machine register types @@ -122,6 +125,8 @@ static RegMask mreg2regmask[]; static RegMask STACK_ONLY_mask; + MachNode* mach_null() const { return _mach_null; } + bool is_shared( Node *n ) { return _shared.test(n->_idx) != 0; } void set_shared( Node *n ) { _shared.set(n->_idx); } bool is_visited( Node *n ) { return _visited.test(n->_idx) != 0; }