aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorIvan Dubrov <dubrov.ivan@gmail.com>2016-10-28 09:59:30 -0700
committerGitHub <noreply@github.com>2016-10-28 09:59:30 -0700
commit941b2f1a0ae2d1246c42012dc0facb563e1045ac (patch)
tree273a8c6d823cefd7175844cec3537001c1e20193 /README.md
parent0e95ef9bc5305f00209d376157457de8701125f2 (diff)
parent19e46ff445a0b36542cdcdd22ec3f70f5e23b7f9 (diff)
downloaddcevm-941b2f1a0ae2d1246c42012dc0facb563e1045ac.tar.gz
dcevm-941b2f1a0ae2d1246c42012dc0facb563e1045ac.zip
Merge pull request #108 from skybber/master
Update -XX:HotswapDeoptClassPath= for jdk8
Diffstat (limited to 'README.md')
-rw-r--r--README.md6
1 files changed, 6 insertions, 0 deletions
diff --git a/README.md b/README.md
index 0375bd2c..d5c5adc2 100644
--- a/README.md
+++ b/README.md
@@ -80,4 +80,10 @@ To run tests from IDE, you need:
* Add JVM argument to use redefinition agent (`-javaagent:agent/build/libs/agent.jar`).
* Add JVM argument to DCEVM VM if installed side-by-side (`-XXaltjvm=dcevm`).
+### Hotswap performance tweak (Experimental)
+DCEVM executes deoptimization (purge of code cache) after any class redefinition. It leads to decrease JVM's performance (after redefinition). This is especially problem on large scale projects with significant number of classes. Hotswap performance can be improved using an experimental option `-XX:HotswapDeoptClassPath=`. One or more packages can be specified in comma separated list as parameters. Packages must contain all classes that will be potentially modified (redefined). Classes outside of this list won't be included in the deoptimization. Usually it is sufficient to specify application main or root package. If `com.sun.proxy.Proxy` is used in the application or by application's framework, then this option should contain package `com.sun.proxy` as well. If `HotswapDeoptClassPath` option is not specified, then all classes will be deoptimized after redefinition.
+Example:
+
+ -XX:HotswapDeoptClassPath='com.myproject.,com.sun.proxy.$Proxy'
+
### Known issues