diff options
Diffstat (limited to 'runtime/oat/stack_map.h')
-rw-r--r-- | runtime/oat/stack_map.h | 34 |
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); |