# *****************************************************************
#
# Licensed Materials - Property of IBM
#
# Copyright IBM Corp. 2006, 2016  All Rights Reserved.
#
# US Government Users Restricted Rights - Use, duplication or
# disclosure restricted by GSA ADP Schedule Contract with
# IBM Corp.
#
# v14.0 customized and annotated jvm settings
# see https://eclipse.dev/openj9/docs/x_jvm_commands/
# *****************************************************************

# @NOTES_PID@
# vmarg.Xmx=-Xmx512m way too small, BIGGER.  J9 default depends, see docs
vmarg.Xmx=-Xmx4196m
# vmarg.Xms=-Xms256m set smaller Xms to bump into GC shortly after init
vmarg.Xms=-Xms128m
vmarg.Xmca=-Xmca512k
vmarg.Xss=-Xss1m
vmarg.Xquickstart=-Xquickstart
vmarg.Xcodecache=-Xcodecache32m
vmarg.XXCompactStrings=-XX:+CompactStrings
vmarg.Xaggressive=-Xaggressive
# vmarg.Xnolinenumbers=-Xnolinenumbers faster and smaller, but less info
# change to vmarg.Xlinenumbers=-Xlinenumbers if you need Java stacktraces WITH linenumbers
# like when you need a more detailed NSD NOTE: The cache needs to be rebuilt
vmarg.Xnolinenumbers=-Xnolinenumbers
vmarg.Xjitexclude=-Xjit:exclude={lotus/domino/local/Session.FindOrCreate(*},dontInline={lotus/domino/local/Session.FindOrCreate(*}
vmarg.Dosgiext=-Dosgi.framework.extensions=com.ibm.rcp.core.logger.frameworkhook,com.ibm.rds,com.ibm.cds
# vmarg.Dscmx=-Xscmx64m disabled to use J9 default, 300m
# vmarg.Xscmaxaot=-Xscmaxaot12m disabled to let J9 decide on the AOT sizing of shared class cache
# vmarg.Xminf=-Xminf0.1 min heap space after GC, disabled to get J9 default 0.3
# vmarg.Xmn=-Xmn7m disabled to let J9 decide (old fix for 2008 websphere liberty problem in Java8)
# vmarg.Dshare=-Xshareclasses:name=xpdplat_.jvm,controlDir=${prop.jvm.shareclasses.loc},groupAccess,keep,singleJVM,nonfatal  changed to actually share the classes and make an error fatal
# singleJVM removed to enable sharing, fatal = prefer not starting over starting faulty and slow
vmarg.Dshare=-Xshareclasses:name=xpdplat_.jvm,controlDir=${prop.jvm.shareclasses.loc},groupAccess,keep,fatal
# vmarg.Xnoverify=-Xverify:none deprecated, but gives a performance boost.  Disables corrupt bytecode detection!!
vmarg.Xnoverify=-Xverify:none
# vmarg.Xgcpolicy=-Xgcpolicy:balanced try?
vmarg.Xgcpolicy=-Xgcpolicy:gencon
vmarg.Xtrace=-Xtrace:none
vmarg.Djavapolicy=-Djava.security.policy=${rcp.home}/../java.policy
# vmarg.Xmaxt=-Xmaxt0.6 prefer enlarging the heap over spending time in GC by J9 default, 0.13
vmarg.add.opens=--add-opens=java.base/java.net=ALL-UNNAMED
vmarg.add.exports=--add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED
vmarg.add.exports1=--add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED
# set to a non-user dependent and accessible location for more storage efficient multi-user Notes client setups
# if you have multiple users login to the same Windows machine
jvm.shareclasses.loc=${rcp.data}/.config/org.eclipse.osgi
# launcher will ensure jvm.shareclasses.fullpath location exists before jvm launching
jvm.shareclasses.fullpath = ${prop.jvm.shareclasses.loc}
jvm.library.path=jvm/bin;jvm/bin/j9vm
env.unset._ALT_JAVA_HOME_DIR
env.unset._JAVA_OPTIONS
env.unset.CLASSPATH
env.unset.IBM_JAVA_COMMAND_LINE
env.unset.IBM_JAVA_OPTIONS
env.unset.IBM_JSIG_CRUNTIME
env.unset.JAVA_HOME
env.unset.JAVA_JSIZE_COMPAT
env.unset.COLUMNS
env.unset.DBGPATH
env.unset.DEBUG_PROG
env.unset.DER_DBG_ADDR
env.unset.DER_DBG_LIB
env.unset.DER_DBG_LIBPATH
env.unset.dontUseEBXasGPR
env.unset.enableOptimalStorePlacement
env.unset.J9_EXEC
env.unset.SKIPIT
env.unset.splith
env.unset.splitl
env.unset.useOldAllocation
env.unset.VA_DEBUGGER
env.unset.JAVA_TOOLS_OPTIONS
