summaryrefslogtreecommitdiff
path: root/erts/emulator/asmjit/core/target.h
diff options
context:
space:
mode:
Diffstat (limited to 'erts/emulator/asmjit/core/target.h')
-rw-r--r--erts/emulator/asmjit/core/target.h138
1 files changed, 8 insertions, 130 deletions
diff --git a/erts/emulator/asmjit/core/target.h b/erts/emulator/asmjit/core/target.h
index f2045c0a8c..23b0c6294c 100644
--- a/erts/emulator/asmjit/core/target.h
+++ b/erts/emulator/asmjit/core/target.h
@@ -1,25 +1,7 @@
-// AsmJit - Machine code generation for C++
+// This file is part of AsmJit project <https://asmjit.com>
//
-// * Official AsmJit Home Page: https://asmjit.com
-// * Official Github Repository: https://github.com/asmjit/asmjit
-//
-// Copyright (c) 2008-2020 The AsmJit Authors
-//
-// This software is provided 'as-is', without any express or implied
-// warranty. In no event will the authors be held liable for any damages
-// arising from the use of this software.
-//
-// Permission is granted to anyone to use this software for any purpose,
-// including commercial applications, and to alter it and redistribute it
-// freely, subject to the following restrictions:
-//
-// 1. The origin of this software must not be misrepresented; you must not
-// claim that you wrote the original software. If you use this software
-// in a product, an acknowledgment in the product documentation would be
-// appreciated but is not required.
-// 2. Altered source versions must be plainly marked as such, and must not be
-// misrepresented as being the original software.
-// 3. This notice may not be removed or altered from any source distribution.
+// See asmjit.h or LICENSE.md for license and copyright information
+// SPDX-License-Identifier: Zlib
#ifndef ASMJIT_CORE_TARGET_H_INCLUDED
#define ASMJIT_CORE_TARGET_H_INCLUDED
@@ -32,98 +14,6 @@ ASMJIT_BEGIN_NAMESPACE
//! \addtogroup asmjit_core
//! \{
-// ============================================================================
-// [asmjit::CodeInfo]
-// ============================================================================
-
-#ifndef ASMJIT_NO_DEPRECATED
-//! Basic information about a code (or target). It describes its architecture,
-//! code generation mode (or optimization level), and base address.
-class ASMJIT_DEPRECATED_STRUCT("Use Environment instead of CodeInfo") CodeInfo {
-public:
- //!< Environment information.
- Environment _environment;
- //! Base address.
- uint64_t _baseAddress;
-
- //! \name Construction & Destruction
- //! \{
-
- inline CodeInfo() noexcept
- : _environment(),
- _baseAddress(Globals::kNoBaseAddress) {}
-
- inline explicit CodeInfo(uint32_t arch, uint32_t subArch = 0, uint64_t baseAddress = Globals::kNoBaseAddress) noexcept
- : _environment(arch, subArch),
- _baseAddress(baseAddress) {}
-
- inline explicit CodeInfo(const Environment& environment, uint64_t baseAddress = Globals::kNoBaseAddress) noexcept
- : _environment(environment),
- _baseAddress(baseAddress) {}
-
-
- inline CodeInfo(const CodeInfo& other) noexcept { init(other); }
-
- inline bool isInitialized() const noexcept {
- return _environment.arch() != Environment::kArchUnknown;
- }
-
- inline void init(const CodeInfo& other) noexcept {
- *this = other;
- }
-
- inline void init(uint32_t arch, uint32_t subArch = 0, uint64_t baseAddress = Globals::kNoBaseAddress) noexcept {
- _environment.init(arch, subArch);
- _baseAddress = baseAddress;
- }
-
- inline void reset() noexcept {
- _environment.reset();
- _baseAddress = Globals::kNoBaseAddress;
- }
-
- //! \}
-
- //! \name Overloaded Operators
- //! \{
-
- inline CodeInfo& operator=(const CodeInfo& other) noexcept = default;
-
- inline bool operator==(const CodeInfo& other) const noexcept { return ::memcmp(this, &other, sizeof(*this)) == 0; }
- inline bool operator!=(const CodeInfo& other) const noexcept { return ::memcmp(this, &other, sizeof(*this)) != 0; }
-
- //! \}
-
- //! \name Accessors
- //! \{
-
- //! Returns the target environment information, see \ref Environment.
- inline const Environment& environment() const noexcept { return _environment; }
-
- //! Returns the target architecture, see \ref Environment::Arch.
- inline uint32_t arch() const noexcept { return _environment.arch(); }
- //! Returns the target sub-architecture, see \ref Environment::SubArch.
- inline uint32_t subArch() const noexcept { return _environment.subArch(); }
- //! Returns the native size of the target's architecture GP register.
- inline uint32_t gpSize() const noexcept { return _environment.registerSize(); }
-
- //! Tests whether this CodeInfo has a base address set.
- inline bool hasBaseAddress() const noexcept { return _baseAddress != Globals::kNoBaseAddress; }
- //! Returns the base address or \ref Globals::kNoBaseAddress if it's not set.
- inline uint64_t baseAddress() const noexcept { return _baseAddress; }
- //! Sets base address to `p`.
- inline void setBaseAddress(uint64_t p) noexcept { _baseAddress = p; }
- //! Resets base address (implicitly sets it to \ref Globals::kNoBaseAddress).
- inline void resetBaseAddress() noexcept { _baseAddress = Globals::kNoBaseAddress; }
-
- //! \}
-};
-#endif // !ASMJIT_NO_DEPRECATED
-
-// ============================================================================
-// [asmjit::Target]
-// ============================================================================
-
//! Target is an abstract class that describes a machine code target.
class ASMJIT_VIRTAPI Target {
public:
@@ -146,24 +36,12 @@ public:
//! \name Accessors
//! \{
- //! Returns CodeInfo of this target.
- //!
- //! CodeInfo can be used to setup a CodeHolder in case you plan to generate a
- //! code compatible and executable by this Runtime.
+ //! Returns target's environment.
inline const Environment& environment() const noexcept { return _environment; }
-
- //! Returns the target architecture, see \ref Environment::Arch.
- inline uint32_t arch() const noexcept { return _environment.arch(); }
- //! Returns the target sub-architecture, see \ref Environment::SubArch.
- inline uint32_t subArch() const noexcept { return _environment.subArch(); }
-
-#ifndef ASMJIT_NO_DEPRECATED
- ASMJIT_DEPRECATED("Use environment() instead")
- inline CodeInfo codeInfo() const noexcept { return CodeInfo(_environment); }
-
- ASMJIT_DEPRECATED("Use environment().format() instead")
- inline uint32_t targetType() const noexcept { return _environment.format(); }
-#endif // !ASMJIT_NO_DEPRECATED
+ //! Returns the target architecture.
+ inline Arch arch() const noexcept { return _environment.arch(); }
+ //! Returns the target sub-architecture.
+ inline SubArch subArch() const noexcept { return _environment.subArch(); }
//! \}
};