harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mfur...@apache.org
Subject svn commit: r602463 - in /harmony/enhanced/drlvm/trunk/vm/jitrino: config/ia32/server_aggressive.emconf src/optimizer/FlowGraph.cpp src/optimizer/inliner.cpp src/optimizer/optimizer.cpp src/optimizer/optimizer.h
Date Sat, 08 Dec 2007 13:54:23 GMT
Author: mfursov
Date: Sat Dec  8 05:54:22 2007
New Revision: 602463

URL: http://svn.apache.org/viewvc?rev=602463&view=rev
Log:
Fixing performance regression introduced by fixing HARMONY-4785 [drlvm][jit][opt] EHWA asserts
on statprof on server_static mode
 

Modified:
    harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server_aggressive.emconf
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/FlowGraph.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/inliner.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/optimizer.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/optimizer.h

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server_aggressive.emconf
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server_aggressive.emconf?rev=602463&r1=602462&r2=602463&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server_aggressive.emconf (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server_aggressive.emconf Sat Dec 
8 05:54:22 2007
@@ -72,7 +72,11 @@
 
 -XX:jit.SD2_OPT.path=opt_init,translator,optimizer,hir2lir,codegen
 
--XX:jit.SD2_OPT.path.optimizer=ssa,simplify,dce,uce,edge_annotate,devirt,hlo_api_magic,inline,purge,simplify,dce,uce,lazyexc,throwopt,so2-,hvn,simplify,dce,uce,escape,inline_helpers,purge,simplify,uce,dce,uce,dessa,statprof,peel,ssa,hvn,simplify,dce,uce,lower,dce,uce,statprof,unroll,ssa,simplify,dce,uce,memopt,reassoc,dce,uce,hvn,dce,uce,classic_abcd,dce,uce,gcm,dessa,fastArrayFill,statprof,markglobals
+-XX:jit.SD2_OPT.path.optimizer=ssa,simplify,dce,uce,edge_annotate,devirt,hlo_api_magic,inline,purge,simplify,dce,uce,lazyexc,throwopt,escape_path,inline_helpers,purge,simplify,uce,dce,uce,abce,lower,dce,uce,statprof,unroll,ssa,simplify,dce,uce,memopt,reassoc,dce,uce,hvn,dce,uce,gcm,dessa,statprof
+
+-XX:jit.SD2_OPT.path.escape_path=hvn,simplify,dce,uce,escape
+-XX:jit.SD2_OPT.path.abce=classic_abcd,dce,uce,dessa,statprof,peel,ssa,hvn,simplify,dce,uce,memopt,dce,uce,dessa,fastArrayFill,ssa,statprof,dabce,dce,uce
+
 -XX:jit.SD2_OPT.path.codegen=lock_method,bbp,btr,gcpoints,cafl,dce1,i8l,api_magic,early_prop,peephole,itrace-,native,cg_fastArrayFill,constraints,dce2,regalloc,spillgen,copy,i586,layout,rce+,stack,break-,iprof-,peephole,emitter!,si_insts,gcmap,info,unlock_method
 -XX:jit.SD2_OPT.path.dce1=cg_dce
 -XX:jit.SD2_OPT.path.dce2=cg_dce
@@ -128,27 +132,28 @@
 #system properties
 -Djava.compiler=server
 
--XDjit.arg.optimizer.inline.growth_factor=210
--XDjit.arg.optimizer.inline.min_stop=280
--XDjit.arg.optimizer.inline.min_benefit_threshold=70
--XDjit.arg.optimizer.inline.inline_small_method_max_size=67
--XDjit.arg.optimizer.inline.inline_small_method_bonus=780
--XDjit.arg.optimizer.inline.medium_method_max_size=1200
--XDjit.arg.optimizer.inline.medium_method_bonus=770
--XDjit.arg.optimizer.inline.large_method_min_size=1360
--XDjit.arg.optimizer.inline.large_method_penalty=480
--XDjit.arg.optimizer.inline.loop_bonus=140
--XDjit.arg.optimizer.inline.leaf_bonus=2680
--XDjit.arg.optimizer.inline.synch_bonus=50
--XDjit.arg.optimizer.inline.recursion_penalty=730
--XDjit.arg.optimizer.inline.exact_single_parameter_bonus=120
--XDjit.arg.optimizer.inline.exact_all_parameter_bonus=170
--XDjit.arg.optimizer.inline.skip_exception_path=true
--XDjit.arg.optimizer.inline.connect_early=true
--XDjit.arg.optimizer.inline.skip_api_magics=true
--XDjit.arg.optimizer.inline.sync_optcatch=false
--XDjit.arg.optimizer.inline.sync_optimistic=true
+-XX:jit.arg.optimizer.inline.growth_factor=210
+-XX:jit.arg.optimizer.inline.min_stop=280
+-XX:jit.arg.optimizer.inline.min_benefit_threshold=70
+-XX:jit.arg.optimizer.inline.inline_small_method_max_size=67
+-XX:jit.arg.optimizer.inline.inline_small_method_bonus=780
+-XX:jit.arg.optimizer.inline.medium_method_max_size=1200
+-XX:jit.arg.optimizer.inline.medium_method_bonus=770
+-XX:jit.arg.optimizer.inline.large_method_min_size=1360
+-XX:jit.arg.optimizer.inline.large_method_penalty=480
+-XX:jit.arg.optimizer.inline.loop_bonus=140
+-XX:jit.arg.optimizer.inline.leaf_bonus=2680
+-XX:jit.arg.optimizer.inline.synch_bonus=50
+-XX:jit.arg.optimizer.inline.recursion_penalty=730
+-XX:jit.arg.optimizer.inline.exact_single_parameter_bonus=120
+-XX:jit.arg.optimizer.inline.exact_all_parameter_bonus=170
+-XX:jit.arg.optimizer.inline.skip_exception_path=true
+-XX:jit.arg.optimizer.inline.connect_early=true
+-XX:jit.arg.optimizer.inline.skip_api_magics=true
+-XX:jit.arg.optimizer.inline.sync_optcatch=false
+-XX:jit.arg.optimizer.inline.sync_optimistic=true
     
 
 -XX:jit.arg.lazyResolution=off
+-XX:jit.arg.opt_init.rept_aggressive=true
 

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/FlowGraph.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/FlowGraph.cpp?rev=602463&r1=602462&r2=602463&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/FlowGraph.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/FlowGraph.cpp Sat Dec  8 05:54:22
2007
@@ -1149,9 +1149,12 @@
         }
     }
     // Remove extra PseudoThrow insts
-    normalizePseudoThrow(irm);
-//    DeadCodeEliminator dce(irm);
-//    dce.removeExtraPseudoThrow();
+    if (irm.getOptimizerFlags().rept_aggressive) {
+        DeadCodeEliminator dce(irm);
+        dce.removeExtraPseudoThrow();
+    } else {
+        normalizePseudoThrow(irm);
+    }
 
     //
     // a quick cleanup of unreachable and empty basic blocks

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/inliner.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/inliner.cpp?rev=602463&r1=602462&r2=602463&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/inliner.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/inliner.cpp Sat Dec  8 05:54:22
2007
@@ -1181,9 +1181,9 @@
     dce.eliminateUnreachableCode();
     assert(_toplevelIRM.getInSsa());
     OptPass::fixupSsa(_toplevelIRM);
-    /*if (isPseudoThrowInserted) {
+    if (isPseudoThrowInserted && _toplevelIRM.getOptimizerFlags().rept_aggressive)
{
         dce.removeExtraPseudoThrow();
-    }*/
+    }
 }
 
 void Inliner::compileAndConnectRegion(InlineNode* inlineNode, CompilationContext& inlineCC)
{

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/optimizer.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/optimizer.cpp?rev=602463&r1=602462&r2=602463&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/optimizer.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/optimizer.cpp Sat Dec  8 05:54:22
2007
@@ -176,6 +176,8 @@
     //classic_abcd
     optimizerFlags.dump_abcd_stats = getBoolArg("dump_abcd_stats", false);
 
+    optimizerFlags.rept_aggressive= getBoolArg("rept_aggressive", false);
+
     optimizerFlags.abcdFlags = new (mm) AbcdFlags;
     memset(optimizerFlags.abcdFlags, sizeof(AbcdFlags), 0);
 

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/optimizer.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/optimizer.h?rev=602463&r1=602462&r2=602463&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/optimizer.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/optimizer.h Sat Dec  8 05:54:22
2007
@@ -110,6 +110,8 @@
     //classic_abcd
     bool dump_abcd_stats;
 
+    bool rept_aggressive;
+
 
     AbcdFlags*              abcdFlags;
     GcmFlags*               gcmFlags;



Mime
View raw message