提交 d306a6a7 编写于 作者: N neliasso

Merge

...@@ -187,31 +187,6 @@ public: ...@@ -187,31 +187,6 @@ public:
#endif #endif
}; };
//------------------------------LRG_List---------------------------------------
// Map Node indices to Live RanGe indices.
// Array lookup in the optimized case.
class LRG_List : public ResourceObj {
friend class VMStructs;
uint _cnt, _max;
uint* _lidxs;
ReallocMark _nesting; // assertion check for reallocations
public:
LRG_List( uint max );
uint lookup( uint nidx ) const {
return _lidxs[nidx];
}
uint operator[] (uint nidx) const { return lookup(nidx); }
void map( uint nidx, uint lidx ) {
assert( nidx < _cnt, "oob" );
_lidxs[nidx] = lidx;
}
void extend( uint nidx, uint lidx );
uint Size() const { return _cnt; }
};
//------------------------------IFG-------------------------------------------- //------------------------------IFG--------------------------------------------
// InterFerence Graph // InterFerence Graph
// An undirected graph implementation. Created with a fixed number of // An undirected graph implementation. Created with a fixed number of
......
...@@ -33,11 +33,35 @@ ...@@ -33,11 +33,35 @@
#include "opto/regmask.hpp" #include "opto/regmask.hpp"
class Block; class Block;
class LRG_List;
class PhaseCFG; class PhaseCFG;
class VectorSet; class VectorSet;
class IndexSet; class IndexSet;
//------------------------------LRG_List---------------------------------------
// Map Node indices to Live RanGe indices.
// Array lookup in the optimized case.
class LRG_List : public ResourceObj {
friend class VMStructs;
uint _cnt, _max;
uint* _lidxs;
ReallocMark _nesting; // assertion check for reallocations
public:
LRG_List( uint max );
uint lookup( uint nidx ) const {
return _lidxs[nidx];
}
uint operator[] (uint nidx) const { return lookup(nidx); }
void map( uint nidx, uint lidx ) {
assert( nidx < _cnt, "oob" );
_lidxs[nidx] = lidx;
}
void extend( uint nidx, uint lidx );
uint Size() const { return _cnt; }
};
//------------------------------PhaseLive-------------------------------------- //------------------------------PhaseLive--------------------------------------
// Compute live-in/live-out // Compute live-in/live-out
class PhaseLive : public Phase { class PhaseLive : public Phase {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册