@@ -714,11 +714,14 @@ run {
714714 }
715715}
716716
717- def tweakStartScript (createScriptTask ) {
717+ def tweakStartScript (createScriptTask , defaultJvmOpts25 ) {
718718 def shortenWindowsClasspath = { line ->
719719 line. replaceAll(/ ^set CLASSPATH=.*$/ , " set CLASSPATH=%APP_HOME%/lib/*" )
720720 }
721721
722+ // this must be before the BESU_HOME replacement
723+ createScriptTask. unixScript. text = createScriptTask. unixScript. text. replace(' @DEFAULT_JVM_OPTS_25@' , defaultJvmOpts25)
724+
722725 createScriptTask. unixScript. text = createScriptTask. unixScript. text. replace(' BESU_HOME' , ' \$ APP_HOME' )
723726 createScriptTask. windowsScript. text = createScriptTask. windowsScript. text. replace(' BESU_HOME' , ' %~dp0..' )
724727
@@ -730,17 +733,32 @@ def tweakStartScript(createScriptTask) {
730733 .join(' \r\n ' )
731734}
732735
736+ def defaultJvmOpts21 = application. applicationDefaultJvmArgs + [
737+ " -XX:G1ConcRefinementThreads=2" ,
738+ " -XX:G1HeapWastePercent=15" ,
739+ " -XX:MaxGCPauseMillis=100" ,
740+ " -XX:StartFlightRecording,settings=default.jfc" ,
741+ " -Xlog:jfr*=off"
742+ ]
743+
744+ def defaultJvmOpts25 = defaultJvmOpts21 + [
745+ " -XX:+UseCompactObjectHeaders" ,
746+ " -XX:MaxHeapFreeRatio=30" ,
747+ " -XX:MinHeapFreeRatio=10" ,
748+ " -XX:GCTimeRatio=50" ,
749+ " -XX:-ShrinkHeapInSteps"
750+ ]
751+
752+ def serializeDefaultJvmOpts (opts ) {
753+ return " '" + opts. collect{ / "$it"/ }. join(' ' ) + " '"
754+ }
755+
733756startScripts {
734- defaultJvmOpts = application. applicationDefaultJvmArgs + [
735- " -XX:G1ConcRefinementThreads=2" ,
736- " -XX:G1HeapWastePercent=15" ,
737- " -XX:MaxGCPauseMillis=100" ,
738- " -XX:StartFlightRecording,settings=default.jfc" ,
739- " -Xlog:jfr*=off"
740- ]
757+ defaultJvmOpts = defaultJvmOpts21
741758 unixStartScriptGenerator. template = resources. text. fromFile(" ${ projectDir} /app/src/main/scripts/unixStartScript.txt" )
742759 windowsStartScriptGenerator. template = resources. text. fromFile(" ${ projectDir} /app/src/main/scripts/windowsStartScript.txt" )
743- doLast { tweakStartScript(startScripts) }
760+
761+ doLast { tweakStartScript(startScripts, serializeDefaultJvmOpts(defaultJvmOpts25)) }
744762}
745763
746764task untunedStartScripts (type : CreateStartScripts ) {
@@ -751,7 +769,7 @@ task untunedStartScripts(type: CreateStartScripts) {
751769 defaultJvmOpts = application. applicationDefaultJvmArgs
752770 unixStartScriptGenerator. template = resources. text. fromFile(" ${ projectDir} /app/src/main/scripts/unixStartScript.txt" )
753771 windowsStartScriptGenerator. template = resources. text. fromFile(" ${ projectDir} /app/src/main/scripts/windowsStartScript.txt" )
754- doLast { tweakStartScript(untunedStartScripts) }
772+ doLast { tweakStartScript(untunedStartScripts, serializeDefaultJvmOpts(application . applicationDefaultJvmArgs) ) }
755773}
756774
757775task evmToolStartScripts (type : CreateStartScripts ) {
@@ -764,7 +782,7 @@ task evmToolStartScripts(type: CreateStartScripts) {
764782 ]
765783 unixStartScriptGenerator. template = resources. text. fromFile(" ${ projectDir} /app/src/main/scripts/unixStartScript.txt" )
766784 windowsStartScriptGenerator. template = resources. text. fromFile(" ${ projectDir} /app/src/main/scripts/windowsStartScript.txt" )
767- doLast { tweakStartScript(evmToolStartScripts) }
785+ doLast { tweakStartScript(evmToolStartScripts, serializeDefaultJvmOpts(defaultJvmOpts) ) }
768786}
769787
770788task autocomplete (type : JavaExec ) {
0 commit comments