< 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 >