harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mloe...@apache.org
Subject svn commit: r474271 [2/2] - in /incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf: ./ include/
Date Mon, 13 Nov 2006 12:09:20 GMT
Modified: incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfLiveAnalyzer.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfLiveAnalyzer.h?view=diff&rev=474271&r1=474270&r2=474271
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfLiveAnalyzer.h
(original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfLiveAnalyzer.h
Mon Nov 13 04:09:19 2006
@@ -14,10 +14,9 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-
+                                                                                        
                   
 /**
  * @author Intel, Konstantin M. Anisimov, Igor V. Chebykin
- * @version $Revision$
  *
  */
 

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfOpndManager.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfOpndManager.h?view=diff&rev=474271&r1=474270&r2=474271
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfOpndManager.h
(original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfOpndManager.h
Mon Nov 13 04:09:19 2006
@@ -14,10 +14,9 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-
+                                                                                        
                   
 /**
  * @author Intel, Konstantin M. Anisimov, Igor V. Chebykin
- * @version $Revision$
  *
  */
 
@@ -181,6 +180,8 @@
     RegOpnd      *getP0();
     RegOpnd      *getB0();
     RegOpnd      *getR12();
+    RegOpnd      *getR8();
+    RegOpnd      *getF8();
     RegOpnd      *getTau();
 
     void         setContainCall(bool containCall_)    { containCall = containCall_; }
@@ -192,7 +193,6 @@
     // Reg allocation support
     //----------------------------------------------------------------------------//
 
-    void         assignLocation(RegOpnd*);
     int32        newLocation(OpndKind, DataKind, RegBitSet, bool);
     int32        newScratchReg(OpndKind, RegBitSet&);
     int32        newPreservReg(OpndKind, RegBitSet&);
@@ -230,6 +230,8 @@
     RegOpnd      *p0;                  // true
     RegOpnd      *b0;                  // return address
     RegOpnd      *r12;                 // stack pointer
+    RegOpnd      *r8;                  // return value (general)
+    RegOpnd      *f8;                  // return value (floating point)
     RegOpnd      *tau;                 // opnd ignored
     
     RegOpnd      *heapBase;            // opnd containing base for references decompression

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfPrologEpilogGenerator.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfPrologEpilogGenerator.h?view=diff&rev=474271&r1=474270&r2=474271
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfPrologEpilogGenerator.h
(original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfPrologEpilogGenerator.h
Mon Nov 13 04:09:19 2006
@@ -14,10 +14,9 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-
+                                                                                        
                   
 /**
  * @author Intel, Konstantin M. Anisimov, Igor V. Chebykin
- * @version $Revision$
  *
  */
 
@@ -70,7 +69,7 @@
     Cfg           &cfg;
     OpndManager   *opndManager;
     
-    RegOpndVector outRegArgs;       // list of out arg registers
+    RegOpndSet    outRegArgs;       // list of out arg registers
     bool          containCall;      // method contains call
     Opnd          *p0;              // p0 (true predicate)
     Opnd          *sp;              // gr12 (stack pointer)

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfRegisterAllocator.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfRegisterAllocator.h?view=diff&rev=474271&r1=474270&r2=474271
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfRegisterAllocator.h
(original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfRegisterAllocator.h
Mon Nov 13 04:09:19 2006
@@ -14,10 +14,9 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-
+                                                                                        
                   
 /**
  * @author Intel, Konstantin M. Anisimov, Igor V. Chebykin
- * @version $Revision$
  *
  */
 
@@ -35,23 +34,26 @@
 
 class RegisterAllocator {
 public:
-                  RegisterAllocator(Cfg&);
-    void          allocate();
+                       RegisterAllocator(Cfg&);
+    void               allocate();
 
 protected:
-    void          buildInterferenceMatrix();
-    void          makeInterferenceMatrixSymmetric();
-    void          removePreassignedOpnds();
-    void          assignLocations();
+    void               buildInterferenceMatrix();
+    void               removeSelfDep();
+    void               assignLocations();
+    
+    void               assignLocation(RegOpnd*);
+    void               updateAllocSet(Opnd*, uint32);
+    void               checkCallSite(Inst*);
     
-    void          updateAllocSet(Opnd*, uint32);
-    void          checkCallSite(Inst*);
+    void               checkCoalescing(uint32, Inst*);
+    void               removeSameRegMoves();
 
-    MemoryManager &mm;
-    Cfg           &cfg;
-    OpndManager   *opndManager;
-    RegOpndSet    allocSet;       // set of all opnds that need allocation
-    RegOpndSet    liveSet;        // set of opnds alive in current node (buildInterferenceMatrix)
+    MemoryManager      &mm;
+    Cfg                &cfg;
+    OpndManager        *opndManager;
+    RegOpndSet         allocSet;       // set of all opnds that need allocation
+    RegOpndSet         liveSet;        // set of opnds alive in current node (buildInterferenceMatrix)
 };
 
 } // IPF

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfRuntimeInterface.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfRuntimeInterface.h?view=diff&rev=474271&r1=474270&r2=474271
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfRuntimeInterface.h
(original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfRuntimeInterface.h
Mon Nov 13 04:09:19 2006
@@ -14,10 +14,9 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-
+                                                                                        
                   
 /**
  * @author Intel, Konstantin M. Anisimov, Igor V. Chebykin
- * @version $Revision$
  *
  */
 

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfRuntimeSupport.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfRuntimeSupport.h?view=diff&rev=474271&r1=474270&r2=474271
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfRuntimeSupport.h
(original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfRuntimeSupport.h
Mon Nov 13 04:09:19 2006
@@ -14,10 +14,9 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-
+                                                                                        
                   
 /**
  * @author Intel, Konstantin M. Anisimov, Igor V. Chebykin
- * @version $Revision$
  *
  */
 
@@ -43,9 +42,9 @@
 // Typedefs
 //========================================================================================//
 
-typedef vector < TryRegion* >     RegionVector;
-typedef vector < SafePoint >      SafePointVector;
-typedef map < RegOpnd*, MptrDef > MptrDefMap;
+typedef StlVector < TryRegion* >     RegionVector;
+typedef StlVector < SafePoint >      SafePointVector;
+typedef StlMap < RegOpnd*, MptrDef > MptrDefMap;
 
 typedef MptrDefMap::iterator      MptrDefMapIterator; 
 
@@ -83,8 +82,8 @@
 
 class SafePoint {
 public:
-    SafePoint() { node=NULL; inst=NULL; }
-    SafePoint(BbNode *node, Inst *inst) : node(node), inst(inst) {}
+    SafePoint(MemoryManager &mm) : node(NULL), inst(NULL), alivePtrs(mm) {}
+    SafePoint(MemoryManager &mm, BbNode *node, Inst *inst) : node(node), inst(inst),
alivePtrs(mm) {}
     
     BbNode        *node;
     Inst          *inst;

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfSpillGen.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfSpillGen.h?view=diff&rev=474271&r1=474270&r2=474271
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfSpillGen.h
(original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfSpillGen.h
Mon Nov 13 04:09:19 2006
@@ -14,10 +14,9 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-
+                                                                                        
                   
 /**
  * @author Intel, Konstantin M. Anisimov, Igor V. Chebykin
- * @version $Revision$
  *
  */
 

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfType.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfType.h?view=diff&rev=474271&r1=474270&r2=474271
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfType.h
(original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfType.h
Mon Nov 13 04:09:19 2006
@@ -17,18 +17,13 @@
                                                                                         
                   
 /**
  * @author Intel, Konstantin M. Anisimov, Igor V. Chebykin
- * @version $Revision$
  *
  */
 
 #ifndef IPFTYPE_H_
 #define IPFTYPE_H_
 
-#include <set>
-#include <map>
-#include <list>
 #include <bitset>
-#include <vector>
 #include <string>
 #include <sstream>
 #include <algorithm>
@@ -36,6 +31,7 @@
 #include <iomanip>
 #include "Type.h"
 #include "Log.h"
+#include "Stl.h"
 #include "VMInterface.h"
 
 using namespace std;
@@ -194,21 +190,23 @@
 // Typedefs
 //========================================================================================//
 
-typedef vector< Opnd* >                 OpndVector;
-typedef vector< RegOpnd* >              RegOpndVector;
-typedef vector< Inst* >                 InstVector;
-typedef vector< Node* >                 NodeVector;
-typedef vector< Edge* >                 EdgeVector;
-typedef vector< uint32 >                Uint32Vector;
-typedef list< Inst* >                   InstList;
-typedef list< Node* >                   NodeList;
-typedef list< Edge* >                   EdgeList;
-typedef set< Opnd* >                    OpndSet;
-typedef set< RegOpnd* >                 RegOpndSet;
-typedef set< Node* >                    NodeSet;
-typedef map< Inst*, RegOpndSet >        Inst2RegOpndSetMap;
-typedef map< uint64, RegOpndSet >       Uint642RegOpndSetMap;
-typedef bitset< NUM_G_REG >             RegBitSet;
+typedef StlVector< Opnd* >           OpndVector;
+typedef StlVector< RegOpnd* >        RegOpndVector;
+typedef StlVector< Inst* >           InstVector;
+typedef StlVector< Node* >           NodeVector;
+typedef StlVector< Edge* >           EdgeVector;
+typedef StlVector< uint32 >          Uint32Vector;
+typedef StlList< Inst* >             InstList;
+typedef StlList< Node* >             NodeList;
+typedef StlList< Edge* >             EdgeList;
+typedef StlSet< Opnd* >              OpndSet;
+typedef StlSet< RegOpnd* >           RegOpndSet;
+typedef StlSet< Node* >              NodeSet;
+typedef StlMap< RegOpnd*, RegOpnd* > RegOpnd2RegOpndMap;
+typedef StlMap< Inst*, RegOpndSet >  Inst2RegOpndSetMap;
+typedef StlMap< uint64, RegOpndSet > Uint642RegOpndSetMap;
+typedef bitset< NUM_G_REG >          RegBitSet;
+typedef StlMultiMap <uint32, RegOpnd*, greater <uint32> > Int2OpndMap;
 
 typedef NodeVector::iterator            NodeIterator;
 typedef InstVector::iterator            InstIterator;
@@ -219,12 +217,13 @@
 typedef InstList::iterator              InstListIterator;
 typedef NodeList::iterator              NodeListIterator;
 typedef EdgeList::iterator              EdgeListIterator;
+typedef RegOpnd2RegOpndMap::iterator    RegOpnd2RegOpndMapIterator;
 typedef Inst2RegOpndSetMap::iterator    Inst2RegOpndSetMapIterator;
 typedef Uint642RegOpndSetMap::iterator  Uint642RegOpndSetMapIterator;
 
 typedef NodeList                        Chain;
-typedef list< Chain* >                  ChainList;
-typedef multimap< uint32, Chain*, greater < uint32 > > ChainMap;
+typedef StlList< Chain* >                  ChainList;
+typedef StlMultiMap< uint32, Chain*, greater < uint32 > > ChainMap;
 typedef Chain::iterator                 ChainIterator;
 typedef ChainList::iterator             ChainListIterator;
 typedef ChainMap::iterator              ChainMapIterator;

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfVerifier.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfVerifier.h?view=diff&rev=474271&r1=474270&r2=474271
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfVerifier.h
(original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ipf/include/IpfVerifier.h
Mon Nov 13 04:09:19 2006
@@ -14,10 +14,9 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-
+                                                                                        
                   
 /**
  * @author Intel, Konstantin M. Anisimov, Igor V. Chebykin
- * @version $Revision$
  *
  */
 



Mime
View raw message