# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. #EM configuration for 'server' mode of Jitrino chains=chain1,chain2 chain1.jits=JET_CLINIT chain2.jits=SD1_OPT,SD2_OPT chain1.filter=+:: chain1.filter=- JET_CLINIT.file=jitrino SD1_OPT.file=jitrino SD2_OPT.file=jitrino # Edge profiler and recompilation parameters EDGE_PROF.profilerType=EDGE_PROFILER EDGE_PROF.entryThreshold=40000 EDGE_PROF.backedgeThreshold=150000 EDGE_PROF.tbsTimeout=10 EDGE_PROF.tbsInitialTimeout=0 VALUE_PROF.profilerType=VALUE_PROFILER VALUE_PROF.vpalgo=TNV_FIRST_N VALUE_PROF.vpSteadySize=4 SD1_OPT.genProfile=EDGE_PROF,VALUE_PROF SD2_OPT.useProfile=EDGE_PROF,VALUE_PROF #options for JIT -XX:jit.JET_CLINIT.path= #register allocator configuration -XDjit.RA2.filter=- -XDjit.RA2.path=bp_regalloc1,bp_regalloc2 -XDjit.RA2.path.bp_regalloc1=bp_regalloc -XDjit.RA2.path.bp_regalloc2=bp_regalloc -XDjit.RA2.arg.bp_regalloc1.regs=ALL_GP -XDjit.RA2.arg.bp_regalloc2.regs=ALL_XMM -XDjit.RA3.filter=- -XDjit.RA3.path=webmaker,cg_regalloc -XDjit.RA3.arg.webmaker.calc=true -XX:jit.SD1_OPT.path=opt_init,translator,optimizer,hir2lir,codegen -XX:jit.SD1_OPT.path.optimizer=ssa,simplify,dce,uce,vp_instrument,devirt_virtual,edge_instrument,dessa,statprof,markglobals -XX:jit.SD1_OPT.path.devirt_virtual=devirt -XX:jit.SD1_OPT.path.codegen=lock_method,bbp,btr,gcpoints,cafl,dce1,i8l,api_magic,early_prop,peephole,itrace-,native,constraints,dce2,regalloc,spillgen,copy,i586,layout,rce+,stack,break-,iprof-,peephole,emitter!,si_insts,gcmap,info,unlock_method -XX:jit.SD1_OPT.path.dce1=cg_dce -XX:jit.SD1_OPT.path.dce2=cg_dce -XX:jit.SD1_OPT.arg.codegen.dce1.early=yes -XX:jit.SD1_OPT.arg.codegen.btr.insertCMOVs=no -XX:jit.SD1_OPT.arg.codegen.btr.removeConstCompare=yes #enable profiling of all virtual calls -XX:jit.SD1_OPT.arg.optimizer.vp_instrument.profile_abstract=true -XX:jit.SD2_OPT.path=opt_init,translator,optimizer,hir2lir,codegen -XX:jit.SD2_OPT.path.optimizer=ssa,simplify,dce,uce,devirt_virtual,edge_annotate,unguard,devirt_intf,inline,uce,purge,simplify,dce,uce,lazyexc,so2-,simplify,dce,uce,escape,inline_helpers,purge,simplify,uce,dce,dessa,statprof,peel,ssa,hvn,simplify,dce,uce,lower,dce,uce,memopt,reassoc,dce,uce,hvn,dce,uce,abcd,dce,uce,gcm,dessa,fastArrayFill,statprof,markglobals -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 #devirt configuration -XX:jit.SD2_OPT.path.devirt_virtual=devirt -XX:jit.SD2_OPT.path.devirt_intf=devirt -XX:jit.SD2_OPT.arg.optimizer.devirt_intf.devirt_intf_calls=true -XX:jit.SD2_OPT.arg.optimizer.devirt_intf.devirt_abstract_calls=true -XX:jit.SD2_OPT.arg.optimizer.devirt_intf.devirt_virtual_calls=false #inliner configuration -XX:jit.SD2_OPT.SD2_OPT_inliner_pipeline.filter=- -XX:jit.SD2_OPT.SD2_OPT_inliner_pipeline.path=ssa,simplify,dce,uce,devirt_virtual,edge_annotate,unguard,devirt_intf -XX:jit.SD2_OPT.arg.optimizer.inline.pipeline=SD2_OPT_inliner_pipeline -XX:jit.SD2_OPT.arg.optimizer.inline.connect_early=false #devirt configuration for inliner pipeline -XX:jit.SD2_OPT.SD2_OPT_inliner_pipeline.path.devirt_virtual=devirt -XX:jit.SD2_OPT.SD2_OPT_inliner_pipeline.path.devirt_intf=devirt -XX:jit.SD2_OPT.SD2_OPT_inliner_pipeline.arg.devirt_intf.devirt_intf_calls=true -XX:jit.SD2_OPT.SD2_OPT_inliner_pipeline.arg.devirt_intf.devirt_abstract_calls=true -XX:jit.SD2_OPT.SD2_OPT_inliner_pipeline.arg.devirt_intf.devirt_virtual_calls=false #helper inliner configuration -XX:jit.SD2_OPT.SD2_OPT_helper_inliner_pipeline.filter=- -XX:jit.SD2_OPT.SD2_OPT_helper_inliner_pipeline.path=ssa -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.pipeline=SD2_OPT_helper_inliner_pipeline -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newObj=on -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newObj_className=org/apache/harmony/drlvm/gc_gen/GCHelper -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newObj_methodName=alloc -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newObj_hotnessPercent=1 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newArray=on -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newArray_className=org/apache/harmony/drlvm/gc_gen/GCHelper -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newArray_methodName=allocArray -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newArray_hotnessPercent=1 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.objMonEnter=on -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.objMonEnter_className=org/apache/harmony/drlvm/thread/ThreadHelper -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.objMonEnter_methodName=monitorEnterUseReservation -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.objMonEnter_hotnessPercent=1 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.objMonExit=on -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.objMonExit_className=org/apache/harmony/drlvm/thread/ThreadHelper -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.objMonExit_methodName=monitorExit -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.objMonExit_hotnessPercent=1 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.ldInterface=on -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.ldInterface_className=org/apache/harmony/drlvm/VMHelperFastPath -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.ldInterface_methodName=getInterfaceVTable3 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.ldInterface_hotnessPercent=1 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.checkCast=on -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.checkCast_className=org/apache/harmony/drlvm/VMHelperFastPath -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.checkCast_methodName=checkCast -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.checkCast_hotnessPercent=1 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.instanceOf=on -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.instanceOf_className=org/apache/harmony/drlvm/VMHelperFastPath -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.instanceOf_methodName=instanceOf -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.instanceOf_hotnessPercent=1 -XX:jit.SD2_OPT.arg.codegen.dce1.early=yes -XX:jit.SD2_OPT.arg.codegen.btr.insertCMOVs=no -XX:jit.SD2_OPT.arg.codegen.btr.removeConstCompare=yes -XX:jit.arg.codegen.emitter.align=4 #system properties -Djava.compiler=server #GC magics support -Dvm.components.gc_gen.startupclass=org.apache.harmony.drlvm.gc_gen.GCHelper -XX:vm.component.classpath.gc_gen=gc_gen.jar #TM properties -Dvm.components.hythr.startupclass=org.apache.harmony.drlvm.thread.ThreadHelper -XX:vm.component.classpath.hythr=hythr.jar #VM helpers -Dvm.components.vmcore1.startupclass=org.apache.harmony.drlvm.VMHelper -Dvm.components.vmcore2.startupclass=org.apache.harmony.drlvm.VMHelperFastPath -XX:jit.SD1_OPT.arg.codegen.regalloc.reg_seq=6,3,1,2,7,5,0 -XX:jit.SD2_OPT.arg.codegen.regalloc.reg_seq=6,3,1,2,7,5,0 -XDjit.arg.codegen.copy.coalesceStack=true -XDjit.arg.codegen.copy.peepholeRegCoalescing=true -XDjit.arg.codegen.copy.peepholeUselessInstRemoval=true -XDjit.arg.codegen.early=false -XDjit.arg.inline_mul64=false -XDjit.arg.inline_mul64_checks=false -XDjit.arg.inline_mul64_manual_ra=false -XDjit.arg.inline_div64=true -XDjit.arg.inline_rem64=true -XDjit.arg.propagate_div_rem=true -XDjit.arg.encoder.shrinkAluImms=false -XDjit.arg.codegen.regalloc.profileMultiplier=90 -XDjit.arg.codegen.regalloc.constraintMultiplier=17 -XDjit.arg.codegen.regalloc.registerPressureMultiplier=2 -XDjit.arg.codegen.regalloc.forwardRegIteration=true -XDjit.arg.devirt_intf_methods=true -XDjit.arg.devirt_virtual_calls=false -XDjit.arg.do_esc_scalar_repl=false -XDjit.arg.do_scalar_repl=false -XDjit.arg.do_sync_elim=true -XDjit.arg.optimizer.inline.growth_factor=770 -XDjit.arg.optimizer.inline.min_stop=270 -XDjit.arg.optimizer.inline.min_benefit_threshold=150 -XDjit.arg.optimizer.inline.inline_small_method_max_size=182 -XDjit.arg.optimizer.inline.inline_small_method_bonus=1330 -XDjit.arg.optimizer.inline.medium_method_max_size=1400 -XDjit.arg.optimizer.inline.medium_method_bonus=350 -XDjit.arg.optimizer.inline.large_method_min_size=710 -XDjit.arg.optimizer.inline.large_method_penalty=500 -XDjit.arg.optimizer.inline.loop_bonus=250 -XDjit.arg.optimizer.inline.leaf_bonus=1590 -XDjit.arg.optimizer.inline.synch_bonus=60 -XDjit.arg.optimizer.inline.recursion_penalty=830 -XDjit.arg.optimizer.inline.exact_single_parameter_bonus=60 -XDjit.arg.optimizer.inline.exact_all_parameter_bonus=60 -XDjit.arg.optimizer.inline.skip_exception_path=false -XDjit.arg.optimizer.inline.connect_early=true -XDjit.arg.optimizer.inline.skip_api_magics=true -XDjit.arg.optimizer.inline.sync_optcatch=true -XDjit.arg.optimizer.inline.sync_optimistic=false -XDjit.arg.optimizer.devirt_block_hotness_multiplier=178 -XDjit.arg.optimizer.unguard_dcall_percent=32 -XDjit.arg.optimizer.unguard_dcall_percent_of_entry=11