Get rid of some debug output and let macroops set headers in their constructor. The...
authorGabe Black <gblack@eecs.umich.edu>
Thu, 14 Jun 2007 13:47:52 +0000 (13:47 +0000)
committerGabe Black <gblack@eecs.umich.edu>
Thu, 14 Jun 2007 13:47:52 +0000 (13:47 +0000)
--HG--
extra : convert_revision : b04fc9ead8e3322fc3af3f14d75e2206ddfbe561

src/arch/x86/isa/macroop.isa

index bc7fc8015714d9359df46a51a7ad506d9ecdc55e..2d928d7c9a347919f84868cba8049be972caad74 100644 (file)
@@ -132,10 +132,11 @@ def template MacroConstructor {{
         inline X86Macroop::%(class_name)s::%(class_name)s(ExtMachInst machInst, EmulEnv env)
             : %(base_class)s("%(mnemonic)s", machInst, %(num_microops)s)
         {
-                %(constructor)s;
-                //alloc_microops is the code that sets up the microops
-                //array in the parent class.
-                %(alloc_microops)s;
+            %(adjust_env)s;
+            %(constructor)s;
+            //alloc_microops is the code that sets up the microops
+            //array in the parent class.
+            %(alloc_microops)s;
         }
 }};
 
@@ -147,11 +148,15 @@ def template MacroConstructor {{
 let {{
     from micro_asm import Combinational_Macroop, Rom_Macroop
     class X86Macroop(Combinational_Macroop):
+        def setAdjustEnv(self, val):
+            self.adjust_env = val
         def __init__(self, name):
             super(X86Macroop, self).__init__(name)
             self.directives = {
+                "adjust_env" : self.setAdjustEnv
             }
             self.declared = False
+            self.adjust_env = ""
         def getAllocator(self, env):
             return "new X86Macroop::%s(machInst, %s)" % (self.name, env.getAllocator())
         def getDeclaration(self):
@@ -174,7 +179,8 @@ let {{
                 micropc += 1
             iop = InstObjParams(self.name, self.name, "Macroop",
                                 {"code" : "", "num_microops" : numMicroops,
-                                 "alloc_microops" : allocMicroops})
+                                 "alloc_microops" : allocMicroops,
+                                 "adjust_env" : self.adjust_env})
             return MacroConstructor.subst(iop);
 }};
 
@@ -218,13 +224,10 @@ let {{
                               %(dataSize)s)''' % \
                 self.__dict__
         def addReg(self, reg):
-            print "Adding reg \"%s\"" % reg
             if not self.regUsed:
-                print "Added as reg"
                 self.reg = reg
                 self.regUsed = True
             elif not self.regmUsed:
-                print "Added as regm"
                 self.regm = reg
                 self.regmUsed = True
             else: