harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Harmony Wiki] Update of "Verifier Extension" by AlexeiFedotov
Date Thu, 08 May 2008 15:38:28 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Harmony Wiki" for change notification.

The following page has been changed by AlexeiFedotov:
http://wiki.apache.org/harmony/Verifier_Extension

New page:
== Mission ==

Harmony verifier extension is used to recalculate stack maps of a class after it is instrumented
by TPTP. 

== TPTP Java Profiler Development Environment ==

The environment is used to debug the extension. For example, it allows writing a class file
with a modified stack table down.

==== Requirements ====
 1. Visual C++ 6
 1. Java JDK 1.5, 1.6
 1. Environment variable: JAVA_HOME=<full path to JDK 1.5 directory>
 1. JDK header files (`jni.h`, `jvmti.h`, and `jvmpi.h`) are expected to be available under
%JAVA_HOME%\include

==== Instructions ====
 1.	Build org.apache.harmony_vmcore_verifier\src\vmcore\src\verifier-3363\verifier.dsw. The
resulting library (verifier.lib) will be generated in org.apache.harmony_vmcore_verifier\lib\windows\{debug|release}\IA-32
2.	Open org.eclipse.tptp.platform.jvmti.runtime\src-native\build\tptp_martini.dsw
3.	Select and build the BuildMartini32 project.
4.	Open org.eclipse.tptp.platform.jvmti.runtime\src-native\build\tptp_profiler.dsw
5.	Select and build BuildCGProf32 project.
6.	Select and build BuildJPIAgent32 project.
7.	All profiler binaries are now located (depending on whether you did release or debug build)
in org.eclipse.tptp.platform.jvmti.runtime\src-native\bin\windows\{debug|release}\IA-32
8.	Extract the attached ProxyClasses.zip into the directory mentioned in the previous step.
This should create the following directory structure: org\eclipse\tptp\martini, and place
3 class files there.

Using the TPTP Profiler
1.	Lets refer to the directory in step 7 above as <prof_home>
2.	Open a command window and configure Java 6 (Sun or BEA) as the active JVM (no need to set
JAVA_HOME)
3.	Add <prof_home> to the system path
4.	set JAVA_PROFILER_HOME=<prof_home>
5.	Launch the profiler on the Java2D workload (attached):
java -XX:-FailOverToOldVerifier -cp bin -agentlib:JPIBootLoader=JPIAgent:server=standalone,stackmap=true;CGProf
java2d.Java2Demo
6.	The above may either cause the verification error (JIRA 5764) or an ACCESS VIOLATION error.
You can remove the -XX:-FailOverToOldVerifier option to prevent the verification error, and
there is more chance you will see the ACCESS VIOLATION

Mime
View raw message