24 |
24 |
25 #include "precompiled.hpp" |
25 #include "precompiled.hpp" |
26 #include "jvm.h" |
26 #include "jvm.h" |
27 #include "code/codeCache.hpp" |
27 #include "code/codeCache.hpp" |
28 #include "code/compiledIC.hpp" |
28 #include "code/compiledIC.hpp" |
|
29 #include "code/compiledMethod.inline.hpp" |
29 #include "code/dependencies.hpp" |
30 #include "code/dependencies.hpp" |
30 #include "code/nativeInst.hpp" |
31 #include "code/nativeInst.hpp" |
31 #include "code/nmethod.hpp" |
32 #include "code/nmethod.hpp" |
32 #include "code/scopeDesc.hpp" |
33 #include "code/scopeDesc.hpp" |
33 #include "compiler/abstractCompiler.hpp" |
34 #include "compiler/abstractCompiler.hpp" |
38 #include "compiler/disassembler.hpp" |
39 #include "compiler/disassembler.hpp" |
39 #include "gc/shared/gcLocker.hpp" |
40 #include "gc/shared/gcLocker.hpp" |
40 #include "interpreter/bytecode.hpp" |
41 #include "interpreter/bytecode.hpp" |
41 #include "logging/log.hpp" |
42 #include "logging/log.hpp" |
42 #include "logging/logStream.hpp" |
43 #include "logging/logStream.hpp" |
|
44 #include "memory/allocation.inline.hpp" |
43 #include "memory/resourceArea.hpp" |
45 #include "memory/resourceArea.hpp" |
44 #include "oops/method.inline.hpp" |
46 #include "oops/method.inline.hpp" |
45 #include "oops/methodData.hpp" |
47 #include "oops/methodData.hpp" |
46 #include "oops/oop.inline.hpp" |
48 #include "oops/oop.inline.hpp" |
47 #include "prims/jvmtiImpl.hpp" |
49 #include "prims/jvmtiImpl.hpp" |
48 #include "runtime/atomic.hpp" |
50 #include "runtime/atomic.hpp" |
|
51 #include "runtime/frame.inline.hpp" |
|
52 #include "runtime/handles.inline.hpp" |
49 #include "runtime/jniHandles.inline.hpp" |
53 #include "runtime/jniHandles.inline.hpp" |
50 #include "runtime/orderAccess.inline.hpp" |
54 #include "runtime/orderAccess.inline.hpp" |
51 #include "runtime/os.hpp" |
55 #include "runtime/os.hpp" |
52 #include "runtime/sharedRuntime.hpp" |
56 #include "runtime/sharedRuntime.hpp" |
53 #include "runtime/sweeper.hpp" |
57 #include "runtime/sweeper.hpp" |
|
58 #include "runtime/vmThread.hpp" |
54 #include "utilities/align.hpp" |
59 #include "utilities/align.hpp" |
55 #include "utilities/dtrace.hpp" |
60 #include "utilities/dtrace.hpp" |
56 #include "utilities/events.hpp" |
61 #include "utilities/events.hpp" |
57 #include "utilities/resourceHash.hpp" |
62 #include "utilities/resourceHash.hpp" |
58 #include "utilities/xmlstream.hpp" |
63 #include "utilities/xmlstream.hpp" |
377 stub_size() + |
382 stub_size() + |
378 scopes_data_size() + |
383 scopes_data_size() + |
379 scopes_pcs_size() + |
384 scopes_pcs_size() + |
380 handler_table_size() + |
385 handler_table_size() + |
381 nul_chk_table_size(); |
386 nul_chk_table_size(); |
|
387 } |
|
388 |
|
389 address* nmethod::orig_pc_addr(const frame* fr) { |
|
390 return (address*) ((address)fr->unextended_sp() + _orig_pc_offset); |
382 } |
391 } |
383 |
392 |
384 const char* nmethod::compile_kind() const { |
393 const char* nmethod::compile_kind() const { |
385 if (is_osr_method()) return "osr"; |
394 if (is_osr_method()) return "osr"; |
386 if (method() != NULL && is_native_method()) return "c2n"; |
395 if (method() != NULL && is_native_method()) return "c2n"; |