|
Size: 18731
Comment: platform names mistake fixed
|
← Revision 6 as of 2009-09-20 21:55:11 ⇥
Size: 18731
Comment: converted to 1.6 markup
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 3: | Line 3: |
| For the description of JVMTI features (capabilities, events, functions) see JVMTI spec on [[BR]] | For the description of JVMTI features (capabilities, events, functions) see JVMTI spec on <<BR>> |
| Line 7: | Line 7: |
| JET - means Jitrino/JET JIT mode [[BR]] OPT - Jitrino/OPT [[BR]] |
JET - means Jitrino/JET JIT mode <<BR>> OPT - Jitrino/OPT <<BR>> |
The following tables describe implementation status for JVMTI features specific for different platforms and VM execution modes.
For the description of JVMTI features (capabilities, events, functions) see JVMTI spec on
http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html
Notes:
JET - means Jitrino/JET JIT mode
OPT - Jitrino/OPT
+ - means that the feature is implemented for corresponding platform and mode.
Capabilities
# |
Name |
Windows / Linux IA32 |
Windows / Linux x86_64 |
Linux IA64 |
|||||
Interpreter |
JET |
OPT |
Interpreter |
JET |
OPT |
Interpreter |
JIT |
||
1 |
can_tag_objects |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
2 |
can_generate_field_modification_events |
+ |
+ |
|
+ |
|
|
+ |
|
3 |
can_generate_field_access_events |
+ |
+ |
|
+ |
|
|
+ |
|
4 |
can_get_bytecodes |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
5 |
can_get_synthetic_attribute |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
6 |
can_get_owned_monitor_info |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
7 |
can_get_current_contended_monitor |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
8 |
can_get_monitor_info |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
9 |
can_pop_frame |
+ |
+ |
|
+ |
|
|
+ |
|
10 |
can_redefine_classes |
|
|
|
|
|
|
|
|
11 |
can_signal_thread |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
12 |
can_get_source_file_name |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
13 |
can_get_line_numbers |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
14 |
can_get_source_debug_extension |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
15 |
can_access_local_variables |
+ |
+ |
|
+ |
|
|
+ |
|
16 |
can_maintain_original_method_order |
|
|
|
|
|
|
|
|
17 |
can_generate_single_step_events |
+ |
+ |
|
+ |
|
|
+ |
|
18 |
can_generate_exception_events |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
19 |
can_generate_frame_pop_events |
+ |
+ |
|
+ |
|
|
+ |
|
20 |
can_generate_breakpoint_events |
+ |
+ |
|
+ |
|
|
+ |
|
21 |
can_suspend |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
22 |
can_redefine_any_class |
|
|
|
|
|
|
|
|
23 |
can_get_current_thread_cpu_time |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
24 |
can_get_thread_cpu_time |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
25 |
can_generate_method_entry_events |
+ |
+ |
|
+ |
|
|
+ |
|
26 |
can_generate_method_exit_events |
+ |
+ |
|
+ |
|
|
+ |
|
27 |
can_generate_all_class_hook_events |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
28 |
can_generate_compiled_method_load_events |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
29 |
can_generate_monitor_events |
+ |
+ |
|
+ |
+ |
|
+ |
|
30 |
can_generate_vm_object_alloc_events |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
31 |
can_generate_native_method_bind_events |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
32 |
can_generate_garbage_collection_events |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
33 |
can_generate_object_free_events |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
Events
# |
Name |
Windows / Linux IA32 |
Windows / Linux x86_64 |
Linux IA64 |
|||||
Interpreter |
JET |
OPT |
Interpreter |
JET |
OPT |
Interpreter |
JIT |
||
1 |
Breakpoint |
+ |
+ |
|
+ |
|
|
+ |
|
2 |
Class File Load Hook |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
3 |
Class Load |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
4 |
Class Prepare |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
5 |
Compiled Method Load |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
6 |
Compiled Method Unload |
|
|
|
|
|
|
|
|
7 |
Data Dump Request |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
8 |
Dynamic Code Generated |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
9 |
Exception |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
10 |
Exception Catch |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
11 |
Field Access |
+ |
+ |
|
+ |
|
|
+ |
|
12 |
Field Modification |
+ |
+ |
|
+ |
|
|
+ |
|
13 |
Frame Pop |
+ |
+ |
|
+ |
|
|
+ |
|
14 |
Garbage Collection Finished |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
15 |
Garbage Collection Start |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
16 |
Method Entry |
+ |
+ |
|
+ |
|
|
+ |
|
17 |
Method Exit |
+ |
+ |
|
+ |
|
|
+ |
|
18 |
Monitor Contended Enter |
+ |
+ |
|
+ |
+ |
|
+ |
|
19 |
Monitor Contended Entered |
+ |
+ |
|
+ |
+ |
|
+ |
|
20 |
Monitor Wait |
+ |
+ |
|
+ |
+ |
|
+ |
|
21 |
Monitor Waited |
+ |
+ |
|
+ |
+ |
|
+ |
|
22 |
Native Method Bind |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
23 |
Object Free |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
24 |
Single Step |
+ |
+ |
|
+ |
|
|
+ |
|
25 |
Thread End |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
26 |
Thread Start |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
27 |
VM Death Event |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
28 |
VM Initialization Event |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
29 |
VM Object Allocation |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
30 |
VM Start Event |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
Functions
# |
Name |
Windows / Linux IA32 |
Windows / Linux x86_64 |
Linux IA64 |
|||||
Interpreter |
JET |
OPT |
Interpreter |
JET |
OPT |
Interpreter |
JIT |
||
|
Memory Management |
|
|
|
|
|
|
|
|
1 |
Allocate |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
2 |
Deallocate |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Thread |
|
|
|
|
|
|
|
|
3 |
GetThreadState |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
4 |
GetAllThreads |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
5 |
SuspendThread |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
6 |
SuspendThreadList |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
7 |
ResumeThread |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
8 |
ResumeThreadList |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
9 |
StopThread |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
10 |
InterruptThread |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
11 |
GetThreadInfo |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
12 |
GetOwnedMonitorInfo |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
13 |
GetCurrentContendedMonitor |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
14 |
RunAgentThread |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
15 |
SetThreadLocalStorage |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
16 |
GetThreadLocalStorage |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Thread Group |
|
|
|
|
|
|
|
|
17 |
GetTopThreadGroups |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
18 |
GetThreadGroupInfo |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
19 |
GetThreadGroupChildren |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Stack Frame |
|
|
|
|
|
|
|
|
20 |
GetStackTrace |
+ |
+ |
|
+ |
|
|
+ |
|
21 |
GetAllStackTraces |
+ |
+ |
|
+ |
|
|
+ |
|
22 |
GetThreadListStackTraces |
+ |
+ |
|
+ |
|
|
+ |
|
23 |
GetFrameCount |
+ |
+ |
|
+ |
|
|
+ |
|
24 |
PopFrame |
+ |
+ |
|
+ |
|
|
+ |
|
25 |
GetFrameLocation |
+ |
+ |
|
+ |
|
|
+ |
|
26 |
NotifyFramePop |
+ |
+ |
|
+ |
|
|
+ |
|
|
Heap |
|
|
|
|
|
|
|
|
27 |
GetTag |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
28 |
SetTag |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
29 |
ForceGarbageCollection |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
30 |
IterateOverObjectsReachableFromObject |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
31 |
IterateOverReachableObjects |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
32 |
IterateOverHeap |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
33 |
IterateOverInstancesOfClass |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
34 |
GetObjectsWithTags |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Local Variable |
|
|
|
|
|
|
|
|
35 |
GetLocalObject |
+ |
+ |
|
+ |
|
|
+ |
|
36 |
GetLocalInt |
+ |
+ |
|
+ |
|
|
+ |
|
37 |
GetLocalLong |
+ |
+ |
|
+ |
|
|
+ |
|
38 |
GetLocalFloat |
+ |
+ |
|
+ |
|
|
+ |
|
39 |
GetLocalDouble |
+ |
+ |
|
+ |
|
|
+ |
|
40 |
SetLocalObject |
+ |
+ |
|
+ |
|
|
+ |
|
41 |
SetLocalInt |
+ |
+ |
|
+ |
|
|
+ |
|
42 |
SetLocalLong |
+ |
+ |
|
+ |
|
|
+ |
|
43 |
SetLocalFloat |
+ |
+ |
|
+ |
|
|
+ |
|
44 |
SetLocalDouble |
+ |
+ |
|
+ |
|
|
+ |
|
|
Breakpoints |
|
|
|
|
|
|
|
|
45 |
SetBreakpoint |
+ |
+ |
|
+ |
|
|
+ |
|
46 |
ClearBreakpoint |
+ |
+ |
|
+ |
|
|
+ |
|
|
Watched Field |
|
|
|
|
|
|
|
|
47 |
SetFieldAccessWatch |
+ |
+ |
|
+ |
|
|
+ |
|
48 |
ClearFieldAccessWatch |
+ |
+ |
|
+ |
|
|
+ |
|
49 |
SetFieldModificationWatch |
+ |
+ |
|
+ |
|
|
+ |
|
50 |
ClearFieldModificationWatch |
+ |
+ |
|
+ |
|
|
+ |
|
|
Class |
|
|
|
|
|
|
|
|
51 |
GetLoadedClasses |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
52 |
GetClassLoaderClasses |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
53 |
GetClassSignature |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
54 |
GetClassStatus |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
55 |
GetSourceFileName |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
56 |
GetClassModifiers |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
57 |
GetClassMethods |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
58 |
GetClassFields |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
59 |
GetImplementedInterfaces |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
60 |
IsInterface |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
61 |
IsArrayClass |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
62 |
GetClassLoader |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
63 |
GetSourceDebugExtension |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
64 |
RedefineClasses |
|
|
|
|
|
|
|
|
|
Object |
|
|
|
|
|
|
|
|
65 |
GetObjectSize |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
66 |
GetObjectHashCode |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
67 |
GetObjectMonitorUsage |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Field |
|
|
|
|
|
|
|
|
68 |
GetFieldName |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
69 |
GetFieldDeclaringClass |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
70 |
GetFieldModifiers |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
71 |
IsFieldSynthetic |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Method |
|
|
|
|
|
|
|
|
72 |
GetMethodName |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
73 |
GetMethodDeclaringClass |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
74 |
GetMethodModifiers |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
75 |
GetMaxLocals |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
76 |
GetArgumentsSize |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
77 |
GetLineNumberTable |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
78 |
GetMethodLocation |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
79 |
GetLocalVariableTable |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
80 |
GetBytecodes |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
81 |
IsMethodNative |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
82 |
IsMethodSynthetic |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
83 |
IsMethodObsolete |
+ |
+ |
|
+ |
|
|
+ |
|
|
Raw Monitor |
|
|
|
|
|
|
|
|
84 |
CreateRawMonitor |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
85 |
DestroyRawMonitor |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
86 |
RawMonitorEnter |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
87 |
RawMonitorExit |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
88 |
RawMonitorWait |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
89 |
RawMonitorNotify |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
90 |
RawMonitorNotifyAll |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
JNI Function Interception |
|
|
|
|
|
|
|
|
91 |
SetJNIFunctionTable |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
92 |
GetJNIFunctionTable |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Event Management |
|
|
|
|
|
|
|
|
93 |
SetEventCallbacks |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
94 |
SetEventNotificationMode |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
95 |
GenerateEvents |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Extension Mechanism |
|
|
|
|
|
|
|
|
96 |
GetExtensionFunctions |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
97 |
GetExtensionEvents |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
98 |
SetExtensionEventCallback |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Capabilities |
|
|
|
|
|
|
|
|
99 |
GetPotentialCapabilities |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
100 |
AddCapabilities |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
101 |
RelinquishCapabilities |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
102 |
GetCapabilities |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Timer |
|
|
|
|
|
|
|
|
103 |
GetCurrentThreadCpuTimerInfo |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
104 |
GetCurrentThreadCpuTime |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
105 |
GetThreadCpuTimerInfo |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
106 |
GetThreadCpuTime |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
107 |
GetTimerInfo |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
108 |
GetTime |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
109 |
GetAvailableProcessors |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
System Properties |
|
|
|
|
|
|
|
|
110 |
AddToBootstrapClassLoaderSearch |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
111 |
GetSystemProperties |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
112 |
GetSystemProperty |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
113 |
SetSystemProperty |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
General |
|
|
|
|
|
|
|
|
114 |
GetPhase |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
115 |
DisposeEnvironment |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
116 |
SetEnvironmentLocalStorage |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
117 |
GetEnvironmentLocalStorage |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
118 |
GetVersionNumber |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
119 |
GetErrorName |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
120 |
SetVerboseFlag |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
121 |
GetJLocationFormat |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |