Ivan Dubrov 62595f6df2 Update README.md | 10年前 | |
---|---|---|
agent/src/main/java | 10年前 | |
dcevm/src | 10年前 | |
gradle/wrapper | 10年前 | |
installer | 10年前 | |
native | 10年前 | |
patches | 10年前 | |
.gitignore | 10年前 | |
README.md | 10年前 | |
build.cmd | 10年前 | |
build.gradle | 10年前 | |
gradle.properties | 10年前 | |
gradlew | 10年前 | |
gradlew.bat | 10年前 | |
settings.gradle | 10年前 |
This project is a fork of original DCEVM project.
The purpose of the project is to maintain enhanced class redefinition functionality for OpenJDK HotSpot 7/8.
Usage:
java -jar installer.jar
pathes/ contains patches for all supported versions. Each patch is named by concatenating prefix full
or light
with the OpenJDK HotSpot tag. full
patches support full redefenition capabilities (including removal of superclasses, for example). light
patches are easier to maintain, but they only support limited functionality (generally, additions to class hierarchies are fine, removals are not).
HotSpot tag is the name of the tag in the corresponding HotSpot Mercurial repository (Java 8/Java 7).
You need the following software to build DCEVM:
./gradlew patch
to retrieve HotSpot sources and patch them../gradlew compileFastdebug
to build fastdebug
version or ./gradlew compileProduct
to build product
version.hotspot/build/fastdebug
or hotspot/build/product
.Replace libjvm.so/jvm.dll/libjvm.dylib
in the target JRE.
Run java -version
, it should include Dynamic Code Evolution
string.
Or you can install DCEVM using the gradle script:
./gradlew installFastdebug -PtargetJre=$JAVA_HOME/jre
or ./gradlew installProduct -PtargetJre=$JAVA_HOME/jre
-XXaltjvm=dcevm
JAVA_HOME
to point to JDK you want to test against (should be compatible with the version you set in gradle.properties)../gradlew patch
to retrieve HotSpot sources and patch them../gradlew test
to run tests.dcevm/build/reports/tests/index.html
To run tests from IDE, you need:
./gradlew agent:build
to build redefinition agent code.-javaagent:agent/build/libs/agent.jar
).-XXaltjvm=dcevm
).