v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
instructions-arm64.h File Reference
Include dependency graph for instructions-arm64.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  v8::internal::Instruction
 
struct  v8::internal::NEONFormatMap
 
class  v8::internal::NEONFormatDecoder
 

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define DEFINE_GETTER(Name, HighBit, LowBit, Func)
 

Enumerations

enum  v8::internal::ImmBranchType {
  v8::internal::UnknownBranchType = 0 , v8::internal::CondBranchType = 1 , v8::internal::UncondBranchType = 2 , v8::internal::CompareBranchType = 3 ,
  v8::internal::TestBranchType = 4
}
 
enum  v8::internal::AddrMode
 
enum  v8::internal::FPRounding {
  v8::internal::FPTieEven = 0x0 , v8::internal::FPPositiveInfinity = 0x1 , v8::internal::FPNegativeInfinity = 0x2 , v8::internal::FPZero = 0x3 ,
  v8::internal::FPTieAway , v8::internal::FPRoundOdd
}
 
enum  v8::internal::Reg31Mode { v8::internal::Reg31IsStackPointer , v8::internal::Reg31IsZeroRegister }
 
enum  v8::internal::PrintfArgPattern { v8::internal::kPrintfArgW = 1 , v8::internal::kPrintfArgX = 2 , v8::internal::kPrintfArgD = 3 }
 
enum  v8::internal::DebugParameters {
  v8::internal::NO_PARAM = 0 , v8::internal::BREAK = 1 << 0 , v8::internal::LOG_DISASM = 1 << 1 , v8::internal::LOG_REGS = 1 << 2 ,
  v8::internal::LOG_VREGS = 1 << 3 , v8::internal::LOG_SYS_REGS = 1 << 4 , v8::internal::LOG_WRITE = 1 << 5 , v8::internal::LOG_NONE = 0 ,
  v8::internal::LOG_STATE = LOG_REGS | LOG_VREGS | LOG_SYS_REGS , v8::internal::LOG_ALL = LOG_DISASM | LOG_STATE | LOG_WRITE , v8::internal::TRACE_ENABLE = 1 << 6 , v8::internal::TRACE_DISABLE = 2 << 6 ,
  v8::internal::TRACE_OVERRIDE = 3 << 6 , v8::internal::NO_PARAM = 0 , v8::internal::BREAK = 1 << 0 , v8::internal::LOG_TRACE = 1 << 1 ,
  v8::internal::LOG_REGS = 1 << 2 , v8::internal::LOG_ALL = LOG_DISASM | LOG_STATE | LOG_WRITE , v8::internal::TRACE_ENABLE = 1 << 6 , v8::internal::TRACE_DISABLE = 2 << 6
}
 
enum  v8::internal::NEONFormat {
  v8::internal::NF_UNDEF = 0 , v8::internal::NF_8B = 1 , v8::internal::NF_16B = 2 , v8::internal::NF_4H = 3 ,
  v8::internal::NF_8H = 4 , v8::internal::NF_2S = 5 , v8::internal::NF_4S = 6 , v8::internal::NF_1D = 7 ,
  v8::internal::NF_2D = 8 , v8::internal::NF_B = 9 , v8::internal::NF_H = 10 , v8::internal::NF_S = 11 ,
  v8::internal::NF_D = 12
}
 

Functions

unsigned v8::internal::CalcLSDataSizeLog2 (LoadStoreOp op)
 
unsigned v8::internal::CalcLSPairDataSize (LoadStorePairOp op)
 

Variables

const Instr v8::internal::kImmExceptionIsRedirectedCall = 0xca11
 
const Instr v8::internal::kImmExceptionIsUnreachable = 0xdebf
 
const Instr v8::internal::kImmExceptionIsSwitchStackLimit = 0x5915
 
const Instr v8::internal::kImmExceptionIsPrintf = 0xdeb1
 
const unsigned v8::internal::kPrintfArgCountOffset = 1 * kInstrSize
 
const unsigned v8::internal::kPrintfArgPatternListOffset = 2 * kInstrSize
 
const unsigned v8::internal::kPrintfLength = 3 * kInstrSize
 
const unsigned v8::internal::kPrintfMaxArgCount = 4
 
static const unsigned v8::internal::kPrintfArgPatternBits = 2
 
const Instr v8::internal::kImmExceptionIsDebug = 0xdeb0
 
const unsigned v8::internal::kDebugCodeOffset = 1 * kInstrSize
 
const unsigned v8::internal::kDebugParamsOffset = 2 * kInstrSize
 
const unsigned v8::internal::kDebugMessageOffset = 3 * kInstrSize
 
const unsigned v8::internal::kDebuggerTracingDirectivesMask = 3 << 6
 
static const unsigned v8::internal::kNEONFormatMaxBits = 6
 

Macro Definition Documentation

◆ DEFINE_GETTER

#define DEFINE_GETTER ( Name,
HighBit,
LowBit,
Func )
Value:
int32_t Name() const { return Func(HighBit, LowBit); }

Definition at line 124 of file instructions-arm64.h.