< prev index next >

src/share/vm/utilities/decoder.hpp

Print this page
rev 13549 : 8185712: [windows] Improve native symbol decoder
Reviewed-by: goetz, zgu

*** 1,7 **** /* ! * Copyright (c) 1997, 2015, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 56,67 **** const char* modulepath = NULL, bool demangle = true) = 0; virtual bool decode(address pc, char* buf, int buflen, int* offset, const void* base) = 0; // demangle a C++ symbol virtual bool demangle(const char* symbol, char* buf, int buflen) = 0; - // if the decoder can decode symbols in vm - virtual bool can_decode_C_frame_in_vm() const = 0; virtual decoder_status status() const { return _decoder_status; } --- 56,65 ----
*** 97,109 **** virtual bool demangle(const char* symbol, char* buf, int buflen) { return false; } - virtual bool can_decode_C_frame_in_vm() const { - return false; - } }; class Decoder : AllStatic { public: --- 95,104 ----
*** 111,124 **** static bool decode(address pc, char* buf, int buflen, int* offset, bool demangle) { return decode(pc, buf, buflen, offset, (const char*) NULL, demangle); } static bool decode(address pc, char* buf, int buflen, int* offset, const void* base); static bool demangle(const char* symbol, char* buf, int buflen); - static bool can_decode_C_frame_in_vm(); ! // shutdown shared instance ! static void shutdown(); static void print_state_on(outputStream* st); protected: // shared decoder instance, _shared_instance_lock is needed --- 106,120 ---- static bool decode(address pc, char* buf, int buflen, int* offset, bool demangle) { return decode(pc, buf, buflen, offset, (const char*) NULL, demangle); } static bool decode(address pc, char* buf, int buflen, int* offset, const void* base); static bool demangle(const char* symbol, char* buf, int buflen); ! // Attempts to retrieve source file name and line number associated with a pc. ! // If buf != NULL, points to a buffer of size buflen which will receive the ! // file name. File name will be silently truncated if output buffer is too small. ! static bool get_source_info(address pc, char* buf, size_t buflen, int* line); static void print_state_on(outputStream* st); protected: // shared decoder instance, _shared_instance_lock is needed
< prev index next >