mirror of
https://github.com/asmjit/asmjit
synced 2026-06-08 13:13:30 +00:00
3fcd65cf80
- Compiler no longer works on its own, it requires Assembler. - Labels created by Assembler and Compiler now share their IDs, so they can be used nearly interchangeably without weird side-effects and hacks. - Renamed getError() and setError() to getLastError() and setLastError(). - Renamed compiler nodes to "HL" nodes (preparation for HLStream). - Renamed FuncConv to CallConv. - Function calling convention is now part of FuncPrototype. - Added a possibility to align by inserting zeros (kAlignZero) - Fixed assertion in X86Compiler that didn't like unhandled function argument(s). - Added Compiler::embedConstPool() helper, which can be handy if you use your own ConstPool. - Code refactorization and other minor changes. - CpuTicks::now() renamed to Utils::getTickCount(). - error.h merged with globals.h - Documentation updates related to recent API changes.
52 lines
1.0 KiB
C++
52 lines
1.0 KiB
C++
// [AsmJit]
|
|
// Complete x86/x64 JIT and Remote Assembler for C++.
|
|
//
|
|
// [License]
|
|
// Zlib - See LICENSE.md file in the package.
|
|
|
|
// [Export]
|
|
#define ASMJIT_EXPORTS
|
|
|
|
// [Dependencies - AsmJit]
|
|
#include "../base/globals.h"
|
|
|
|
// [Api-Begin]
|
|
#include "../apibegin.h"
|
|
|
|
namespace asmjit {
|
|
|
|
// ============================================================================
|
|
// [asmjit::Operand]
|
|
// ============================================================================
|
|
|
|
// Prevent static initialization.
|
|
struct Operand {
|
|
struct BaseOp {
|
|
uint8_t op;
|
|
uint8_t size;
|
|
uint8_t reserved_2_1;
|
|
uint8_t reserved_3_1;
|
|
|
|
uint32_t id;
|
|
|
|
uint32_t reserved_8_4;
|
|
uint32_t reserved_12_4;
|
|
};
|
|
|
|
// Kept in union to prevent LTO warnings.
|
|
union {
|
|
BaseOp _base;
|
|
|
|
// Required to properly align this _fake_ `Operand`, not used.
|
|
uint64_t _data[2];
|
|
};
|
|
};
|
|
|
|
ASMJIT_VARAPI const Operand noOperand;
|
|
const Operand noOperand = {{ 0, 0, 0, 0, kInvalidValue, 0, 0 }};
|
|
|
|
} // asmjit namespace
|
|
|
|
// [Api-End]
|
|
#include "../apiend.h"
|