V8 Project
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
 
class  v8::internal::InstructionSequence
 

Namespaces

 v8
 Debugger support for the V8 JavaScript engine.
 
 v8::internal
 

Macros

#define DEFINE_FLOAT(name, value)   extern const float name
 
#define DEFINE_DOUBLE(name, value)   extern const double name
 
#define DEFINE_GETTER(Name, HighBit, LowBit, Func)    int64_t Name() const { return Func(HighBit, LowBit); }
 

Enumerations

enum  v8::internal::LSDataSize { v8::internal::LSByte = 0 , v8::internal::LSHalfword = 1 , v8::internal::LSWord = 2 , v8::internal::LSDoubleWord = 3 }
 
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 {
  v8::internal::Offset = (8|4|0) << 21 , v8::internal::PreIndex = (8|4|1) << 21 , v8::internal::PostIndex = (0|4|0) << 21 , v8::internal::NegOffset = (8|0|0) << 21 ,
  v8::internal::NegPreIndex = (8|0|1) << 21 , v8::internal::NegPostIndex = (0|0|0) << 21 , v8::internal::Offset = (8|4|0) << 21 , v8::internal::PreIndex = (8|4|1) << 21 ,
  v8::internal::PostIndex = (0|4|0) << 21
}
 
enum  v8::internal::FPRounding {
  v8::internal::FPTieEven = 0x0 , v8::internal::FPPositiveInfinity = 0x1 , v8::internal::FPNegativeInfinity = 0x2 , v8::internal::FPZero = 0x3 ,
  v8::internal::FPTieAway
}
 
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_FP_REGS = 1 << 3 , v8::internal::LOG_SYS_REGS = 1 << 4 , v8::internal::LOG_WRITE = 1 << 5 , v8::internal::LOG_STATE = LOG_REGS | LOG_FP_REGS | 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
}
 

Functions

 v8::internal::DEFINE_FLOAT (kFP32PositiveInfinity, 0x7f800000)
 
 v8::internal::DEFINE_FLOAT (kFP32NegativeInfinity, 0xff800000)
 
 v8::internal::DEFINE_DOUBLE (kFP64PositiveInfinity, 0x7ff0000000000000UL)
 
 v8::internal::DEFINE_DOUBLE (kFP64NegativeInfinity, 0xfff0000000000000UL)
 
 v8::internal::DEFINE_DOUBLE (kFP64SignallingNaN, 0x7ff000007f800001)
 
 v8::internal::DEFINE_FLOAT (kFP32SignallingNaN, 0x7f800001)
 
 v8::internal::DEFINE_DOUBLE (kFP64QuietNaN, 0x7ff800007fc00001)
 
 v8::internal::DEFINE_FLOAT (kFP32QuietNaN, 0x7fc00001)
 
 v8::internal::DEFINE_DOUBLE (kFP64DefaultNaN, 0x7ff8000000000000UL)
 
 v8::internal::DEFINE_FLOAT (kFP32DefaultNaN, 0x7fc00000)
 
LSDataSize v8::internal::CalcLSPairDataSize (LoadStorePairOp op)
 

Variables

const Instr v8::internal::kImmExceptionIsRedirectedCall = 0xca11
 
const Instr v8::internal::kImmExceptionIsUnreachable = 0xdebf
 
const Instr v8::internal::kImmExceptionIsPrintf = 0xdeb1
 
const unsigned v8::internal::kPrintfArgCountOffset = 1 * kInstructionSize
 
const unsigned v8::internal::kPrintfArgPatternListOffset = 2 * kInstructionSize
 
const unsigned v8::internal::kPrintfLength = 3 * kInstructionSize
 
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 * kInstructionSize
 
const unsigned v8::internal::kDebugParamsOffset = 2 * kInstructionSize
 
const unsigned v8::internal::kDebugMessageOffset = 3 * kInstructionSize
 
const unsigned v8::internal::kDebuggerTracingDirectivesMask = 3 << 6
 

Macro Definition Documentation

◆ DEFINE_DOUBLE

#define DEFINE_DOUBLE (   name,
  value 
)    extern const double name

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

◆ DEFINE_FLOAT

#define DEFINE_FLOAT (   name,
  value 
)    extern const float name

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

◆ DEFINE_GETTER

#define DEFINE_GETTER (   Name,
  HighBit,
  LowBit,
  Func 
)     int64_t Name() const { return Func(HighBit, LowBit); }

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