28 #include "compiler/disassembler.hpp" |
28 #include "compiler/disassembler.hpp" |
29 #include "gc_interface/collectedHeap.hpp" |
29 #include "gc_interface/collectedHeap.hpp" |
30 #include "memory/cardTableModRefBS.hpp" |
30 #include "memory/cardTableModRefBS.hpp" |
31 #include "runtime/fprofiler.hpp" |
31 #include "runtime/fprofiler.hpp" |
32 #include "runtime/handles.inline.hpp" |
32 #include "runtime/handles.inline.hpp" |
33 #include "runtime/hpi.hpp" |
|
34 #include "runtime/stubCodeGenerator.hpp" |
33 #include "runtime/stubCodeGenerator.hpp" |
35 #include "runtime/stubRoutines.hpp" |
34 #include "runtime/stubRoutines.hpp" |
36 #ifdef TARGET_ARCH_x86 |
35 #ifdef TARGET_ARCH_x86 |
37 # include "depChecker_x86.hpp" |
36 # include "depChecker_x86.hpp" |
38 #endif |
37 #endif |
82 } |
81 } |
83 if (jvm_offset >= 0) { |
82 if (jvm_offset >= 0) { |
84 // Find the disassembler next to libjvm.so. |
83 // Find the disassembler next to libjvm.so. |
85 strcpy(&buf[jvm_offset], hsdis_library_name); |
84 strcpy(&buf[jvm_offset], hsdis_library_name); |
86 strcat(&buf[jvm_offset], os::dll_file_extension()); |
85 strcat(&buf[jvm_offset], os::dll_file_extension()); |
87 _library = hpi::dll_load(buf, ebuf, sizeof ebuf); |
86 _library = os::dll_load(buf, ebuf, sizeof ebuf); |
88 } |
87 } |
89 if (_library == NULL) { |
88 if (_library == NULL) { |
90 // Try a free-floating lookup. |
89 // Try a free-floating lookup. |
91 strcpy(&buf[0], hsdis_library_name); |
90 strcpy(&buf[0], hsdis_library_name); |
92 strcat(&buf[0], os::dll_file_extension()); |
91 strcat(&buf[0], os::dll_file_extension()); |
93 _library = hpi::dll_load(buf, ebuf, sizeof ebuf); |
92 _library = os::dll_load(buf, ebuf, sizeof ebuf); |
94 } |
93 } |
95 if (_library != NULL) { |
94 if (_library != NULL) { |
96 _decode_instructions = CAST_TO_FN_PTR(Disassembler::decode_func, |
95 _decode_instructions = CAST_TO_FN_PTR(Disassembler::decode_func, |
97 hpi::dll_lookup(_library, decode_instructions_name)); |
96 os::dll_lookup(_library, decode_instructions_name)); |
98 } |
97 } |
99 _tried_to_load_library = true; |
98 _tried_to_load_library = true; |
100 if (_decode_instructions == NULL) { |
99 if (_decode_instructions == NULL) { |
101 tty->print_cr("Could not load %s; %s; %s", buf, |
100 tty->print_cr("Could not load %s; %s; %s", buf, |
102 ((_library != NULL) |
101 ((_library != NULL) |