harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From var...@apache.org
Subject svn commit: r495221 - in /harmony/enhanced/drlvm/trunk/vm/jitrino: config/em64t/ config/ia32/ src/codegenerator/ia32/
Date Thu, 11 Jan 2007 13:51:26 GMT
Author: varlax
Date: Thu Jan 11 05:51:25 2007
New Revision: 495221

URL: http://svn.apache.org/viewvc?view=rev&rev=495221
Log:
Applied HARMONY-2960 [drlvm][jit][opt] loop headers should be aligned for better performance
Tested on SLES9@ia32

Modified:
    harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/client.emconf
    harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/opt.emconf
    harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/server.emconf
    harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/server_static.emconf
    harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/client.emconf
    harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/opt.emconf
    harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server.emconf
    harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server_static.emconf
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32CodeEmitter.cpp

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/client.emconf
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/client.emconf?view=diff&rev=495221&r1=495220&r2=495221
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/client.emconf (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/client.emconf Thu Jan 11 05:51:25
2007
@@ -69,7 +69,7 @@
 -XDjit.CD_OPT.arg.codegen.dce1.early=yes
 -XDjit.CD_OPT.arg.codegen.regalloc.bp_regalloc1.regs=ALL_GP
 -XDjit.CD_OPT.arg.codegen.regalloc.bp_regalloc2.regs=ALL_XMM
-
+-XDjit.arg.codegen.emitter.align=0
 
 #system properties
 -Djava.compiler=client

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/opt.emconf
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/opt.emconf?view=diff&rev=495221&r1=495220&r2=495221
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/opt.emconf (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/opt.emconf Thu Jan 11 05:51:25 2007
@@ -41,7 +41,7 @@
 -XDjit.CS_OPT.arg.codegen.dce1.early=yes
 -XDjit.CS_OPT.arg.codegen.regalloc.bp_regalloc1.regs=ALL_GP
 -XDjit.CS_OPT.arg.codegen.regalloc.bp_regalloc2.regs=ALL_XMM
-
+-XDjit.arg.codegen.emitter.align=0
 
 #system properties
 -Djava.compiler=client static

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/server.emconf
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/server.emconf?view=diff&rev=495221&r1=495220&r2=495221
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/server.emconf (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/server.emconf Thu Jan 11 05:51:25
2007
@@ -79,7 +79,7 @@
 -XDjit.SD2_OPT.arg.codegen.dce1.early=yes
 -XDjit.SD2_OPT.arg.codegen.regalloc.bp_regalloc1.regs=ALL_GP
 -XDjit.SD2_OPT.arg.codegen.regalloc.bp_regalloc2.regs=ALL_XMM
-
+-XDjit.arg.codegen.emitter.align=0
 
 #system properties
 -Djava.compiler=server

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/server_static.emconf
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/server_static.emconf?view=diff&rev=495221&r1=495220&r2=495221
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/server_static.emconf (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/server_static.emconf Thu Jan 11 05:51:25
2007
@@ -40,7 +40,7 @@
 -XDjit.SS_OPT.arg.codegen.dce1.early=yes
 -XDjit.SS_OPT.arg.codegen.regalloc.bp_regalloc1.regs=ALL_GP
 -XDjit.SS_OPT.arg.codegen.regalloc.bp_regalloc2.regs=ALL_XMM
-
+-XDjit.arg.codegen.emitter.align=0
 
 #system properties
 -Djava.compiler=server static

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/client.emconf
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/client.emconf?view=diff&rev=495221&r1=495220&r2=495221
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/client.emconf (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/client.emconf Thu Jan 11 05:51:25
2007
@@ -71,7 +71,7 @@
 -XDjit.CD_OPT.arg.codegen.regalloc.bp_regalloc2.regs=ALL_XMM
 -XDjit.CD_OPT.arg.codegen.btr.insertCMOVs=no
 -XDjit.CD_OPT.arg.codegen.btr.removeConstCompare=yes
-
+-XDjit.arg.codegen.emitter.align=4
 
 #system properties
 -Djava.compiler=client

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/opt.emconf
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/opt.emconf?view=diff&rev=495221&r1=495220&r2=495221
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/opt.emconf (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/opt.emconf Thu Jan 11 05:51:25 2007
@@ -44,6 +44,7 @@
 
 -XDjit.CS_OPT.arg.codegen.btr.insertCMOVs=no
 -XDjit.CS_OPT.arg.codegen.btr.removeConstCompare=yes
+-XDjit.arg.codegen.emitter.align=4
 
 #-XDjit.CS_OPT.arg.log.irdump.file=log/%jit%/%log%/%seqnb%_%class%.%method%.log
 #-XDjit.CS_OPT.arg.log=ct,ir,irdump,all

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server.emconf
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server.emconf?view=diff&rev=495221&r1=495220&r2=495221
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server.emconf (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server.emconf Thu Jan 11 05:51:25
2007
@@ -106,6 +106,7 @@
 -XDjit.SD2_OPT.arg.codegen.regalloc.bp_regalloc2.regs=ALL_XMM
 -XDjit.SD2_OPT.arg.codegen.btr.insertCMOVs=no
 -XDjit.SD2_OPT.arg.codegen.btr.removeConstCompare=yes
+-XDjit.arg.codegen.emitter.align=4
 
 
 #system properties

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server_static.emconf
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server_static.emconf?view=diff&rev=495221&r1=495220&r2=495221
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server_static.emconf (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server_static.emconf Thu Jan 11 05:51:25
2007
@@ -42,6 +42,7 @@
 -XDjit.SS_OPT.arg.codegen.regalloc.bp_regalloc2.regs=ALL_XMM
 -XDjit.SS_OPT.arg.codegen.btr.insertCMOVs=no
 -XDjit.SS_OPT.arg.codegen.btr.removeConstCompare=yes
+-XDjit.arg.codegen.emitter.align=4
 
 
 #system properties

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32CodeEmitter.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32CodeEmitter.cpp?view=diff&rev=495221&r1=495220&r2=495221
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32CodeEmitter.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32CodeEmitter.cpp Thu
Jan 11 05:51:25 2007
@@ -341,9 +341,18 @@
     memset(codeStreamStart, 0xCC, maxMethodSize);
 #endif
 
+    int alignment = getIntArg("align", 0);
+    
+    LoopTree * lt = irManager->getFlowGraph()->getLoopTree();
 
     uint8 * ip = codeStreamStart;
     for( BasicBlock * bb = (BasicBlock*)irManager->getFlowGraph()->getEntryNode();
bb != NULL; bb=bb->getLayoutSucc()) {
+
+        
+        if (alignment && lt->isLoopHeader(bb) && ((POINTER_SIZE_INT)ip
& (alignment-1))) {
+            POINTER_SIZE_INT align = alignment - ((POINTER_SIZE_INT)ip & (alignment-1));
+            ip = (uint8*)EncoderBase::nops((char*)ip, align);
+        }
 
         uint8 * blockStartIp = ip;
         bb->setCodeOffset( blockStartIp-codeStreamStart );



Mime
View raw message