Mercurial > hg > truffle
annotate agent/doc/cireplay.html @ 14418:cfd05ec74089
8024342: PPC64 (part 111): Support for C calling conventions that require 64-bit ints.
Summary: Some platforms, as ppc and s390x/zArch require that 32-bit ints are passed as 64-bit values to C functions. This change adds support to adapt the signature and to issue proper casts to c2-compiled stubs. The functions are used in generate_native_wrapper(). Adapt signature used by the compiler as in PhaseIdealLoop::intrinsify_fill().
Reviewed-by: kvn
author | goetz |
---|---|
date | Wed, 18 Sep 2013 14:34:56 -0700 |
parents | 7b23cb975cf2 |
children |
rev | line source |
---|---|
6972
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
1 <html> |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
2 <head> |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
3 <title> |
10197
7b23cb975cf2
8011675: adding compilation level to replay data
iignatyev
parents:
6972
diff
changeset
|
4 Replay |
6972
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
5 </title> |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
6 </head> |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
7 <body> |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
8 |
10197
7b23cb975cf2
8011675: adding compilation level to replay data
iignatyev
parents:
6972
diff
changeset
|
9 <h1>Compiler replay</h1> |
6972
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
10 <p> |
10197
7b23cb975cf2
8011675: adding compilation level to replay data
iignatyev
parents:
6972
diff
changeset
|
11 The compiler replay is a function to repeat the compiling process from a crashed java process in compiled method<br> |
6972
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
12 This function only exists in debug version of VM |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
13 </p> |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
14 <h2>Usage</h2> |
10197
7b23cb975cf2
8011675: adding compilation level to replay data
iignatyev
parents:
6972
diff
changeset
|
15 <pre> |
7b23cb975cf2
8011675: adding compilation level to replay data
iignatyev
parents:
6972
diff
changeset
|
16 First, use SA to attach to the core file, if succeeded, do |
7b23cb975cf2
8011675: adding compilation level to replay data
iignatyev
parents:
6972
diff
changeset
|
17 hsdb> dumpreplaydata <address> | -a | <thread_id> [> replay.txt] |
6972
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
18 create file replay.txt, address is address of Method, or nmethod(CodeBlob) |
10197
7b23cb975cf2
8011675: adding compilation level to replay data
iignatyev
parents:
6972
diff
changeset
|
19 hsdb> buildreplayjars [all | boot | app] |
6972
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
20 create files: |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
21 all: |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
22 app.jar, boot.jar |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
23 boot: |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
24 boot.jar |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
25 app: |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
26 app.jar |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
27 exit SA now. |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
28 Second, use the obtained replay text file, replay.txt and jar files, app.jar and boot.jar, using debug version of java |
10197
7b23cb975cf2
8011675: adding compilation level to replay data
iignatyev
parents:
6972
diff
changeset
|
29 java -Xbootclasspath/p:boot.jar -cp app.jar -XX:ReplayDataFile=<datafile> -XX:+ReplayCompiles .... |
6972
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
30 This will replay the compiling process. |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
31 |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
32 With ReplayCompiles, the replay will recompile all the methods in app.jar, and in boot.jar to emulate the process in java app. |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
33 |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
34 notes: |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
35 1) Most time, we don't need the boot.jar which is the classes loaded from JDK. It will be only modified when an agent(JVMDI) is running and modifies the classes. |
10197
7b23cb975cf2
8011675: adding compilation level to replay data
iignatyev
parents:
6972
diff
changeset
|
36 2) If encounter error as "<flag>" not found, that means the SA is using a VMStructs which is different from the one with corefile. In this case, SA has a utility tool vmstructsdump which is located at agent/src/os/<os>/proc/<os_platform> |
6972
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
37 |
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
38 Use this tool to dump VM type library: |
10197
7b23cb975cf2
8011675: adding compilation level to replay data
iignatyev
parents:
6972
diff
changeset
|
39 vmstructsdump libjvm.so > <type_name>.db |
6972
bd7a7ce2e264
6830717: replay of compilations would help with debugging
minqi
parents:
diff
changeset
|
40 |
10197
7b23cb975cf2
8011675: adding compilation level to replay data
iignatyev
parents:
6972
diff
changeset
|
41 set env SA_TYPEDB=<type_name>.db (refer different shell for set envs) |