comparison src/share/vm/opto/chaitin.hpp @ 8883:b9a918201d47

Merge with hsx25
author Gilles Duboscq <duboscq@ssw.jku.at>
date Sat, 06 Apr 2013 20:04:06 +0200
parents 056ab43544a4
children 8373c19be854
comparison
equal deleted inserted replaced
8660:d47b52b0ff68 8883:b9a918201d47
185 #ifndef PRODUCT 185 #ifndef PRODUCT
186 void dump( ) const; 186 void dump( ) const;
187 #endif 187 #endif
188 }; 188 };
189 189
190 //------------------------------LRG_List---------------------------------------
191 // Map Node indices to Live RanGe indices.
192 // Array lookup in the optimized case.
193 class LRG_List : public ResourceObj {
194 friend class VMStructs;
195 uint _cnt, _max;
196 uint* _lidxs;
197 ReallocMark _nesting; // assertion check for reallocations
198 public:
199 LRG_List( uint max );
200
201 uint lookup( uint nidx ) const {
202 return _lidxs[nidx];
203 }
204 uint operator[] (uint nidx) const { return lookup(nidx); }
205
206 void map( uint nidx, uint lidx ) {
207 assert( nidx < _cnt, "oob" );
208 _lidxs[nidx] = lidx;
209 }
210 void extend( uint nidx, uint lidx );
211
212 uint Size() const { return _cnt; }
213 };
214
215 //------------------------------IFG-------------------------------------------- 190 //------------------------------IFG--------------------------------------------
216 // InterFerence Graph 191 // InterFerence Graph
217 // An undirected graph implementation. Created with a fixed number of 192 // An undirected graph implementation. Created with a fixed number of
218 // vertices. Edges can be added & tested. Vertices can be removed, then 193 // vertices. Edges can be added & tested. Vertices can be removed, then
219 // added back later with all edges intact. Can add edges between one vertex 194 // added back later with all edges intact. Can add edges between one vertex