summaryrefslogtreecommitdiff
path: root/runtime/oat/stack_map.h
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/oat/stack_map.h')
-rw-r--r--runtime/oat/stack_map.h34
1 files changed, 18 insertions, 16 deletions
diff --git a/runtime/oat/stack_map.h b/runtime/oat/stack_map.h
index be7c11dfab..07f393aa9d 100644
--- a/runtime/oat/stack_map.h
+++ b/runtime/oat/stack_map.h
@@ -26,12 +26,13 @@
#include "base/bit_utils.h"
#include "base/globals.h"
#include "base/logging.h"
+#include "base/macros.h"
#include "base/memory_region.h"
#include "dex/dex_file_types.h"
#include "dex_register_location.h"
#include "quick/quick_method_frame_info.h"
-namespace art {
+namespace art HIDDEN {
namespace linker {
class CodeInfoTableDeduper;
@@ -166,10 +167,10 @@ class StackMap : public BitTableAccessor<8> {
return native_pc;
}
- void Dump(VariableIndentationOutputStream* vios,
- const CodeInfo& code_info,
- uint32_t code_offset,
- InstructionSet instruction_set) const;
+ EXPORT void Dump(VariableIndentationOutputStream* vios,
+ const CodeInfo& code_info,
+ uint32_t code_offset,
+ InstructionSet instruction_set) const;
};
/**
@@ -287,8 +288,8 @@ class MethodInfo : public BitTableAccessor<3> {
class CodeInfo {
public:
ALWAYS_INLINE CodeInfo() {}
- ALWAYS_INLINE explicit CodeInfo(const uint8_t* data, size_t* num_read_bits = nullptr);
- ALWAYS_INLINE explicit CodeInfo(const OatQuickMethodHeader* header);
+ EXPORT ALWAYS_INLINE explicit CodeInfo(const uint8_t* data, size_t* num_read_bits = nullptr);
+ EXPORT ALWAYS_INLINE explicit CodeInfo(const OatQuickMethodHeader* header);
// The following methods decode only part of the data.
static CodeInfo DecodeGcMasksOnly(const OatQuickMethodHeader* header);
@@ -467,17 +468,18 @@ class CodeInfo {
return stack_maps_.GetInvalidRow();
}
- StackMap GetStackMapForNativePcOffset(uintptr_t pc, InstructionSet isa = kRuntimeISA) const;
+ EXPORT StackMap GetStackMapForNativePcOffset(uintptr_t pc,
+ InstructionSet isa = kRuntimeISA) const;
// Dump this CodeInfo object on `vios`.
// `code_offset` is the (absolute) native PC of the compiled method.
- void Dump(VariableIndentationOutputStream* vios,
- uint32_t code_offset,
- bool verbose,
- InstructionSet instruction_set) const;
+ EXPORT void Dump(VariableIndentationOutputStream* vios,
+ uint32_t code_offset,
+ bool verbose,
+ InstructionSet instruction_set) const;
// Accumulate code info size statistics into the given Stats tree.
- static void CollectSizeStats(const uint8_t* code_info, /*out*/ Stats& parent);
+ EXPORT static void CollectSizeStats(const uint8_t* code_info, /*out*/ Stats& parent);
template <uint32_t kFlag>
ALWAYS_INLINE static bool HasFlag(const uint8_t* code_info_data) {
@@ -519,9 +521,9 @@ class CodeInfo {
private:
// Scan backward to determine dex register locations at given stack map.
- void DecodeDexRegisterMap(uint32_t stack_map_index,
- uint32_t first_dex_register,
- /*out*/ DexRegisterMap* map) const;
+ EXPORT void DecodeDexRegisterMap(uint32_t stack_map_index,
+ uint32_t first_dex_register,
+ /*out*/ DexRegisterMap* map) const;
template<typename DecodeCallback> // (size_t index, BitTable<...>*, BitMemoryRegion).
ALWAYS_INLINE CodeInfo(const uint8_t* data, size_t* num_read_bits, DecodeCallback callback);