17 * 2 along with this work; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 *
24 */
25
26 #include "utilities/decoder.hpp"
27 #include "porting_aix.hpp"
28
29 // Provide simple AIXDecoder which enables decoding of C frames in VM.
30 class AIXDecoder: public AbstractDecoder {
31 public:
32 AIXDecoder() {
33 _decoder_status = no_error;
34 }
35 virtual ~AIXDecoder() {}
36
37 virtual bool can_decode_C_frame_in_vm() const { return true; }
38
39 virtual bool demangle(const char* symbol, char* buf, int buflen) { return false; } // use AixSymbols::get_function_name to demangle
40
41 virtual bool decode(address addr, char* buf, int buflen, int* offset, const char* modulepath, bool demangle) {
42 return AixSymbols::get_function_name(addr, buf, buflen, offset, 0, demangle);
43 }
44 virtual bool decode(address addr, char *buf, int buflen, int* offset, const void *base) {
45 ShouldNotReachHere();
46 return false;
47 }
48
49 };
50
|
17 * 2 along with this work; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 *
24 */
25
26 #include "utilities/decoder.hpp"
27 #include "porting_aix.hpp"
28
29 // Provide simple AIXDecoder which enables decoding of C frames in VM.
30 class AIXDecoder: public AbstractDecoder {
31 public:
32 AIXDecoder() {
33 _decoder_status = no_error;
34 }
35 virtual ~AIXDecoder() {}
36
37 virtual bool demangle(const char* symbol, char* buf, int buflen) { return false; } // use AixSymbols::get_function_name to demangle
38
39 virtual bool decode(address addr, char* buf, int buflen, int* offset, const char* modulepath, bool demangle) {
40 return AixSymbols::get_function_name(addr, buf, buflen, offset, 0, demangle);
41 }
42 virtual bool decode(address addr, char *buf, int buflen, int* offset, const void *base) {
43 ShouldNotReachHere();
44 return false;
45 }
46
47 };
48
|