prememread(true) for S*
authorbrian <brian@brianweb.net>
Tue, 1 Jun 2004 01:04:38 +0000 (18:04 -0700)
committerbrian <brian@brianweb.net>
Tue, 1 Jun 2004 01:04:38 +0000 (18:04 -0700)
darcs-hash:20040601010438-24bed-67c02d4e46e54363bb4eea1df755583bfacadb8c.gz

src/org/ibex/nestedvm/ClassFileCompiler.java

index 3b9e2d6..0572ea1 100644 (file)
@@ -1472,7 +1472,6 @@ public class ClassFileCompiler extends Compiler implements CGConst  {
             addiu(R+rs,signedImmediate);
             setTmp(); // addr
             
             addiu(R+rs,signedImmediate);
             setTmp(); // addr
             
-            // FEATURE: DO the preMemRead(true) thing for the rest of the S* instructions
             preMemRead(true);
             pushTmp();
             memRead(true);
             preMemRead(true);
             pushTmp();
             memRead(true);
@@ -1512,19 +1511,13 @@ public class ClassFileCompiler extends Compiler implements CGConst  {
             break;
         }
         case 41: { // SH    
             break;
         }
         case 41: { // SH    
-            preMemWrite1();
-            
             addiu(R+rs,signedImmediate);
             addiu(R+rs,signedImmediate);
+            setTmp();
             
             
-            mg.add(DUP);
-            setTmp(); // addr
-            
-            preMemWrite2(true);
-            
-            preMemRead();
+            preMemRead(true);
             pushTmp();
             memRead(true);
             pushTmp();
             memRead(true);
-            
+                       
             mg.add(LDC,0xffff);
             pushTmp();
             
             mg.add(LDC,0xffff);
             pushTmp();
             
@@ -1558,15 +1551,10 @@ public class ClassFileCompiler extends Compiler implements CGConst  {
             break;            
         }
         case 42: { // SWL
             break;            
         }
         case 42: { // SWL
-            preMemWrite1();
-            
             addiu(R+rs,signedImmediate);
             addiu(R+rs,signedImmediate);
-            mg.add(DUP);
-            setTmp(); // addr
-
-            preMemWrite2(true);
+            setTmp();
             
             
-            preMemRead();
+            preMemRead(true);            
             pushTmp();
             memRead(true);
             
             pushTmp();
             memRead(true);
             
@@ -1603,15 +1591,10 @@ public class ClassFileCompiler extends Compiler implements CGConst  {
             memWrite();
             break;
         case 46: { // SWR
             memWrite();
             break;
         case 46: { // SWR
-            preMemWrite1();
-            
             addiu(R+rs,signedImmediate);
             addiu(R+rs,signedImmediate);
-            mg.add(DUP);
-            setTmp(); // addr
-            
-            preMemWrite2(true);
+            setTmp();
             
             
-            preMemRead();
+            preMemRead(true);
             pushTmp();
             memRead(true);
             
             pushTmp();
             memRead(true);