summaryrefslogtreecommitdiff
path: root/runtime/arch/instruction_set_features.h
diff options
context:
space:
mode:
author Dmitrii Ishcheikin <ishcheikin@google.com> 2024-01-05 14:35:17 +0000
committer Dmitrii Ishcheikin <ishcheikin@google.com> 2024-01-08 14:30:28 +0000
commitdc1794942e60f23bc3a22df33fefb7d6e7fc8bcb (patch)
tree2c6cb2d73ba4977caab97c41c86a4397ce5ec253 /runtime/arch/instruction_set_features.h
parent13694dad58c046d7e3a455f63dd0b9fba5d1fe43 (diff)
Add visibility attributes in runtime/arch
Bug: 260881207 Test: presubmit Test: abtd app_compat_drm Test: abtd app_compat_top_100 Test: abtd app_compat_banking Change-Id: Iabe9b8cb781e36f4ccf988b659f2ea67784fec70
Diffstat (limited to 'runtime/arch/instruction_set_features.h')
-rw-r--r--runtime/arch/instruction_set_features.h23
1 files changed, 11 insertions, 12 deletions
diff --git a/runtime/arch/instruction_set_features.h b/runtime/arch/instruction_set_features.h
index 1cb0fbb758..b31f30dcda 100644
--- a/runtime/arch/instruction_set_features.h
+++ b/runtime/arch/instruction_set_features.h
@@ -24,7 +24,7 @@
#include "arch/instruction_set.h"
#include "base/macros.h"
-namespace art {
+namespace art HIDDEN {
class ArmInstructionSetFeatures;
class Arm64InstructionSetFeatures;
@@ -36,22 +36,21 @@ class X86_64InstructionSetFeatures;
class InstructionSetFeatures {
public:
// Process a CPU variant string for the given ISA and create an InstructionSetFeatures.
- static std::unique_ptr<const InstructionSetFeatures> FromVariant(InstructionSet isa,
- const std::string& variant,
- std::string* error_msg);
+ EXPORT static std::unique_ptr<const InstructionSetFeatures> FromVariant(
+ InstructionSet isa, const std::string& variant, std::string* error_msg);
// Process a CPU variant string for the given ISA and make sure the features advertised
// are supported by the hardware. This is needed for Pixel3a which wrongly
// reports itself as cortex-a75.
- static std::unique_ptr<const InstructionSetFeatures> FromVariantAndHwcap(
+ EXPORT static std::unique_ptr<const InstructionSetFeatures> FromVariantAndHwcap(
InstructionSet isa, const std::string& variant, std::string* error_msg);
// Parse a bitmap for the given isa and create an InstructionSetFeatures.
- static std::unique_ptr<const InstructionSetFeatures> FromBitmap(InstructionSet isa,
- uint32_t bitmap);
+ EXPORT static std::unique_ptr<const InstructionSetFeatures> FromBitmap(InstructionSet isa,
+ uint32_t bitmap);
// Turn C pre-processor #defines into the equivalent instruction set features for kRuntimeISA.
- static std::unique_ptr<const InstructionSetFeatures> FromCppDefines();
+ EXPORT static std::unique_ptr<const InstructionSetFeatures> FromCppDefines();
// Check if run-time detection of instruction set features is supported.
//
@@ -83,7 +82,7 @@ class InstructionSetFeatures {
// Parse a string of the form "div,-atomic_ldrd_strd" adding and removing these features to
// create a new InstructionSetFeatures.
- std::unique_ptr<const InstructionSetFeatures> AddFeaturesFromString(
+ EXPORT std::unique_ptr<const InstructionSetFeatures> AddFeaturesFromString(
const std::string& feature_list, std::string* error_msg) const WARN_UNUSED;
// Are these features the same as the other given features?
@@ -120,10 +119,10 @@ class InstructionSetFeatures {
const ArmInstructionSetFeatures* AsArmInstructionSetFeatures() const;
// Down cast this Arm64InstructionFeatures.
- const Arm64InstructionSetFeatures* AsArm64InstructionSetFeatures() const;
+ EXPORT const Arm64InstructionSetFeatures* AsArm64InstructionSetFeatures() const;
// Down cast this Riscv64InstructionFeatures.
- const Riscv64InstructionSetFeatures* AsRiscv64InstructionSetFeatures() const;
+ EXPORT const Riscv64InstructionSetFeatures* AsRiscv64InstructionSetFeatures() const;
// Down cast this X86InstructionFeatures.
const X86InstructionSetFeatures* AsX86InstructionSetFeatures() const;
@@ -152,7 +151,7 @@ class InstructionSetFeatures {
private:
DISALLOW_COPY_AND_ASSIGN(InstructionSetFeatures);
};
-std::ostream& operator<<(std::ostream& os, const InstructionSetFeatures& rhs);
+EXPORT std::ostream& operator<<(std::ostream& os, const InstructionSetFeatures& rhs);
} // namespace art