summaryrefslogtreecommitdiff
path: root/runtime/arch/instruction_set_features.h
diff options
context:
space:
mode:
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