From 7988112190ae3e91f33fab486357381343acde20 Mon Sep 17 00:00:00 2001 From: skybber Date: Wed, 9 Nov 2016 20:25:03 +0100 Subject: README updates Code generated by reflection must be deoptimized. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index d5c5adc2..051b927a 100644 --- a/README.md +++ b/README.md @@ -81,9 +81,9 @@ To run tests from IDE, you need: * 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. +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. It is also recommended to clean all generated byte by reflection. Example: - -XX:HotswapDeoptClassPath='com.myproject.,com.sun.proxy.$Proxy' + -XX:HotswapDeoptClassPath='com.myproject.,com.sun.proxy.$Proxy,sun.reflect.Generated' ### Known issues -- cgit v1.2.3