v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
base-constants-riscv.h File Reference
#include "src/base/logging.h"
#include "src/base/macros.h"
#include "src/common/globals.h"
#include "src/flags/flags.h"
#include <inttypes.h>
Include dependency graph for base-constants-riscv.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  v8::internal::Registers
 
struct  v8::internal::Registers::RegisterAlias
 
class  v8::internal::FPURegisters
 
struct  v8::internal::FPURegisters::RegisterAlias
 
class  v8::internal::VRegisters
 
struct  v8::internal::VRegisters::RegisterAlias
 
class  v8::internal::InstructionBase
 
class  v8::internal::InstructionGetters< T >
 
class  v8::internal::Instruction
 

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define UNIMPLEMENTED_RISCV()
 
#define UNSUPPORTED_RISCV()
 
#define __STDC_FORMAT_MACROS
 
#define RVV_LMUL(V)
 
#define DEFINE_FLAG(name)
 
#define RVV_SEW(V)
 
#define DEFINE_FLAG(name)
 
#define CAST_VSEW(name)
 
#define CAST_VLMUL(name)
 
#define sext(x, len)
 
#define zext(x, len)
 

Typedefs

using v8::internal::ShortInstr = int16_t
 

Enumerations

enum  Endianness { kLittle , kBig }
 
enum  v8::internal::Vlmul { v8::internal::kVlInvalid }
 
enum  v8::internal::VSew { v8::internal::kVsInvalid }
 
enum  v8::internal::SoftwareInterruptCodes { v8::internal::call_rt_redirected = 0x7fff , v8::internal::call_rt_redirected = 0x7fff , v8::internal::call_rt_redirected = 0x7fff }
 
enum  v8::internal::DebugParameters : uint32_t {
  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::Condition : int {
  v8::internal::kNoCondition = -1 , v8::internal::eq = 0 << 28 , v8::internal::ne = 1 << 28 , v8::internal::cs = 2 << 28 ,
  v8::internal::cc = 3 << 28 , v8::internal::mi = 4 << 28 , v8::internal::pl = 5 << 28 , v8::internal::vs = 6 << 28 ,
  v8::internal::vc = 7 << 28 , v8::internal::hi = 8 << 28 , v8::internal::ls = 9 << 28 , v8::internal::ge = 10 << 28 ,
  v8::internal::lt = 11 << 28 , v8::internal::gt = 12 << 28 , v8::internal::le = 13 << 28 , v8::internal::al = 14 << 28 ,
  v8::internal::kSpecialCondition = 15 << 28 , v8::internal::kNumberOfConditions = 16 , v8::internal::hs = cs , v8::internal::lo = cc ,
  v8::internal::kEqual = eq , v8::internal::kNotEqual = ne , v8::internal::kLessThan = lt , v8::internal::kGreaterThan = gt ,
  v8::internal::kLessThanEqual = le , v8::internal::kGreaterThanEqual = ge , v8::internal::kUnsignedLessThan = lo , v8::internal::kUnsignedGreaterThan = hi ,
  v8::internal::kUnsignedLessThanEqual = ls , v8::internal::kUnsignedGreaterThanEqual = hs , v8::internal::kOverflow = vs , v8::internal::kNoOverflow = vc ,
  v8::internal::kZero = eq , v8::internal::kNotZero = ne , v8::internal::eq = 0 << 28 , v8::internal::ne = 1 << 28 ,
  v8::internal::hs = cs , v8::internal::cs = 2 << 28 , v8::internal::lo = cc , v8::internal::cc = 3 << 28 ,
  v8::internal::mi = 4 << 28 , v8::internal::pl = 5 << 28 , v8::internal::vs = 6 << 28 , v8::internal::vc = 7 << 28 ,
  v8::internal::hi = 8 << 28 , v8::internal::ls = 9 << 28 , v8::internal::ge = 10 << 28 , v8::internal::lt = 11 << 28 ,
  v8::internal::gt = 12 << 28 , v8::internal::le = 13 << 28 , v8::internal::al = 14 << 28 , v8::internal::nv = 15 ,
  v8::internal::kEqual = eq , v8::internal::kNotEqual = ne , v8::internal::kLessThan = lt , v8::internal::kGreaterThan = gt ,
  v8::internal::kLessThanEqual = le , v8::internal::kGreaterThanEqual = ge , v8::internal::kUnsignedLessThan = lo , v8::internal::kUnsignedGreaterThan = hi ,
  v8::internal::kUnsignedLessThanEqual = ls , v8::internal::kUnsignedGreaterThanEqual = hs , v8::internal::kOverflow = vs , v8::internal::kNoOverflow = vc ,
  v8::internal::kZero = eq , v8::internal::kNotZero = ne , v8::internal::overflow = 0 , v8::internal::no_overflow = 1 ,
  v8::internal::below = 2 , v8::internal::above_equal = 3 , v8::internal::equal = 4 , v8::internal::not_equal = 5 ,
  v8::internal::below_equal = 6 , v8::internal::above = 7 , v8::internal::negative = 8 , v8::internal::positive = 9 ,
  v8::internal::parity_even = 10 , v8::internal::parity_odd = 11 , v8::internal::less = 12 , v8::internal::greater_equal = 13 ,
  v8::internal::less_equal = 14 , v8::internal::greater = 15 , v8::internal::carry = below , v8::internal::not_carry = above_equal ,
  v8::internal::zero = equal , v8::internal::not_zero = not_equal , v8::internal::sign = negative , v8::internal::not_sign = positive ,
  v8::internal::kEqual = eq , v8::internal::kNotEqual = ne , v8::internal::kLessThan = lt , v8::internal::kGreaterThan = gt ,
  v8::internal::kLessThanEqual = le , v8::internal::kGreaterThanEqual = ge , v8::internal::kUnsignedLessThan = lo , v8::internal::kUnsignedGreaterThan = hi ,
  v8::internal::kUnsignedLessThanEqual = ls , v8::internal::kUnsignedGreaterThanEqual = hs , v8::internal::kOverflow = vs , v8::internal::kNoOverflow = vc ,
  v8::internal::kZero = eq , v8::internal::kNotZero = ne , v8::internal::overflow = 0 , v8::internal::no_overflow = 1 ,
  v8::internal::Uless = 2 , v8::internal::Ugreater_equal = 3 , v8::internal::Uless_equal = 4 , v8::internal::Ugreater = 5 ,
  v8::internal::equal = 4 , v8::internal::not_equal = 5 , v8::internal::negative = 8 , v8::internal::positive = 9 ,
  v8::internal::parity_even = 10 , v8::internal::parity_odd = 11 , v8::internal::less = 12 , v8::internal::greater_equal = 13 ,
  v8::internal::less_equal = 14 , v8::internal::greater = 15 , v8::internal::ueq = 16 , v8::internal::ogl = 17 ,
  v8::internal::cc_always = 18 , v8::internal::carry = below , v8::internal::not_carry = above_equal , v8::internal::zero = equal ,
  v8::internal::eq = 0 << 28 , v8::internal::not_zero = not_equal , v8::internal::ne = 1 << 28 , v8::internal::nz = not_equal ,
  v8::internal::sign = negative , v8::internal::not_sign = positive , v8::internal::mi = 4 << 28 , v8::internal::pl = 5 << 28 ,
  v8::internal::hi = 8 << 28 , v8::internal::ls = 9 << 28 , v8::internal::ge = 10 << 28 , v8::internal::lt = 11 << 28 ,
  v8::internal::gt = 12 << 28 , v8::internal::le = 13 << 28 , v8::internal::hs = cs , v8::internal::lo = cc ,
  v8::internal::al = 14 << 28 , v8::internal::ult = Uless , v8::internal::uge = Ugreater_equal , v8::internal::ule = Uless_equal ,
  v8::internal::ugt = Ugreater , v8::internal::kEqual = eq , v8::internal::kNotEqual = ne , v8::internal::kLessThan = lt ,
  v8::internal::kGreaterThan = gt , v8::internal::kLessThanEqual = le , v8::internal::kGreaterThanEqual = ge , v8::internal::kUnsignedLessThan = lo ,
  v8::internal::kUnsignedGreaterThan = hi , v8::internal::kUnsignedLessThanEqual = ls , v8::internal::kUnsignedGreaterThanEqual = hs , v8::internal::kOverflow = vs ,
  v8::internal::kNoOverflow = vc , v8::internal::kZero = eq , v8::internal::kNotZero = ne , v8::internal::overflow = 0 ,
  v8::internal::no_overflow = 1 , v8::internal::Uless = 2 , v8::internal::Ugreater_equal = 3 , v8::internal::Uless_equal = 4 ,
  v8::internal::Ugreater = 5 , v8::internal::equal = 4 , v8::internal::not_equal = 5 , v8::internal::negative = 8 ,
  v8::internal::positive = 9 , v8::internal::parity_even = 10 , v8::internal::parity_odd = 11 , v8::internal::less = 12 ,
  v8::internal::greater_equal = 13 , v8::internal::less_equal = 14 , v8::internal::greater = 15 , v8::internal::ueq = 16 ,
  v8::internal::ogl = 17 , v8::internal::cc_always = 18 , v8::internal::carry = below , v8::internal::not_carry = above_equal ,
  v8::internal::zero = equal , v8::internal::eq = 0 << 28 , v8::internal::not_zero = not_equal , v8::internal::ne = 1 << 28 ,
  v8::internal::nz = not_equal , v8::internal::sign = negative , v8::internal::not_sign = positive , v8::internal::mi = 4 << 28 ,
  v8::internal::pl = 5 << 28 , v8::internal::hi = 8 << 28 , v8::internal::ls = 9 << 28 , v8::internal::ge = 10 << 28 ,
  v8::internal::lt = 11 << 28 , v8::internal::gt = 12 << 28 , v8::internal::le = 13 << 28 , v8::internal::hs = cs ,
  v8::internal::lo = cc , v8::internal::al = 14 << 28 , v8::internal::ult = Uless , v8::internal::uge = Ugreater_equal ,
  v8::internal::ule = Uless_equal , v8::internal::ugt = Ugreater , v8::internal::kEqual = eq , v8::internal::kNotEqual = ne ,
  v8::internal::kLessThan = lt , v8::internal::kGreaterThan = gt , v8::internal::kLessThanEqual = le , v8::internal::kGreaterThanEqual = ge ,
  v8::internal::kUnsignedLessThan = lo , v8::internal::kUnsignedGreaterThan = hi , v8::internal::kUnsignedLessThanEqual = ls , v8::internal::kUnsignedGreaterThanEqual = hs ,
  v8::internal::kOverflow = vs , v8::internal::kNoOverflow = vc , v8::internal::kZero = eq , v8::internal::kNotZero = ne ,
  v8::internal::kNoCondition = -1 , v8::internal::eq = 0 << 28 , v8::internal::ne = 1 << 28 , v8::internal::ge = 10 << 28 ,
  v8::internal::lt = 11 << 28 , v8::internal::gt = 12 << 28 , v8::internal::le = 13 << 28 , v8::internal::unordered = 6 ,
  v8::internal::ordered = 7 , v8::internal::overflow = 0 , v8::internal::nooverflow = 9 , v8::internal::al = 14 << 28 ,
  v8::internal::kEqual = eq , v8::internal::kNotEqual = ne , v8::internal::kLessThan = lt , v8::internal::kGreaterThan = gt ,
  v8::internal::kLessThanEqual = le , v8::internal::kGreaterThanEqual = ge , v8::internal::kUnsignedLessThan = lo , v8::internal::kUnsignedGreaterThan = hi ,
  v8::internal::kUnsignedLessThanEqual = ls , v8::internal::kUnsignedGreaterThanEqual = hs , v8::internal::kOverflow = vs , v8::internal::kNoOverflow = vc ,
  v8::internal::kZero = eq , v8::internal::kNotZero = ne , v8::internal::overflow = 0 , v8::internal::no_overflow = 1 ,
  v8::internal::Uless = 2 , v8::internal::Ugreater_equal = 3 , v8::internal::Uless_equal = 4 , v8::internal::Ugreater = 5 ,
  v8::internal::equal = 4 , v8::internal::not_equal = 5 , v8::internal::less = 12 , v8::internal::greater_equal = 13 ,
  v8::internal::less_equal = 14 , v8::internal::greater = 15 , v8::internal::cc_always = 18 , v8::internal::eq = 0 << 28 ,
  v8::internal::ne = 1 << 28 , v8::internal::ge = 10 << 28 , v8::internal::lt = 11 << 28 , v8::internal::gt = 12 << 28 ,
  v8::internal::le = 13 << 28 , v8::internal::al = 14 << 28 , v8::internal::ult = Uless , v8::internal::uge = Ugreater_equal ,
  v8::internal::ule = Uless_equal , v8::internal::ugt = Ugreater , v8::internal::kEqual = eq , v8::internal::kNotEqual = ne ,
  v8::internal::kLessThan = lt , v8::internal::kGreaterThan = gt , v8::internal::kLessThanEqual = le , v8::internal::kGreaterThanEqual = ge ,
  v8::internal::kUnsignedLessThan = lo , v8::internal::kUnsignedGreaterThan = hi , v8::internal::kUnsignedLessThanEqual = ls , v8::internal::kUnsignedGreaterThanEqual = hs ,
  v8::internal::kOverflow = vs , v8::internal::kNoOverflow = vc , v8::internal::kZero = eq , v8::internal::kNotZero = ne ,
  v8::internal::kNoCondition = -1 , v8::internal::eq = 0 << 28 , v8::internal::ne = 1 << 28 , v8::internal::ge = 10 << 28 ,
  v8::internal::lt = 11 << 28 , v8::internal::gt = 12 << 28 , v8::internal::le = 13 << 28 , v8::internal::al = 14 << 28 ,
  v8::internal::CC_NOP = 0x0 , v8::internal::CC_EQ = 0x08 , v8::internal::CC_LT = 0x04 , v8::internal::CC_LE = CC_EQ | CC_LT ,
  v8::internal::CC_GT = 0x02 , v8::internal::CC_GE = CC_EQ | CC_GT , v8::internal::CC_OF = 0x01 , v8::internal::CC_NOF = 0x0E ,
  v8::internal::CC_ALWAYS = 0x0F , v8::internal::unordered = 6 , v8::internal::ordered = 7 , v8::internal::overflow = 0 ,
  v8::internal::nooverflow = 9 , v8::internal::mask0x0 = 0 , v8::internal::mask0x1 = 1 , v8::internal::mask0x2 = 2 ,
  v8::internal::mask0x3 = 3 , v8::internal::mask0x4 = 4 , v8::internal::mask0x5 = 5 , v8::internal::mask0x6 = 6 ,
  v8::internal::mask0x7 = 7 , v8::internal::mask0x8 = 8 , v8::internal::mask0x9 = 9 , v8::internal::mask0xA = 10 ,
  v8::internal::mask0xB = 11 , v8::internal::mask0xC = 12 , v8::internal::mask0xD = 13 , v8::internal::mask0xE = 14 ,
  v8::internal::mask0xF = 15 , v8::internal::kEqual = eq , v8::internal::kNotEqual = ne , v8::internal::kLessThan = lt ,
  v8::internal::kGreaterThan = gt , v8::internal::kLessThanEqual = le , v8::internal::kGreaterThanEqual = ge , v8::internal::kUnsignedLessThan = lo ,
  v8::internal::kUnsignedGreaterThan = hi , v8::internal::kUnsignedLessThanEqual = ls , v8::internal::kUnsignedGreaterThanEqual = hs , v8::internal::kOverflow = vs ,
  v8::internal::kNoOverflow = vc , v8::internal::kZero = eq , v8::internal::kNotZero = ne , v8::internal::overflow = 0 ,
  v8::internal::no_overflow = 1 , v8::internal::below = 2 , v8::internal::above_equal = 3 , v8::internal::equal = 4 ,
  v8::internal::not_equal = 5 , v8::internal::below_equal = 6 , v8::internal::above = 7 , v8::internal::negative = 8 ,
  v8::internal::positive = 9 , v8::internal::parity_even = 10 , v8::internal::parity_odd = 11 , v8::internal::less = 12 ,
  v8::internal::greater_equal = 13 , v8::internal::less_equal = 14 , v8::internal::greater = 15 , v8::internal::carry = below ,
  v8::internal::not_carry = above_equal , v8::internal::zero = equal , v8::internal::not_zero = not_equal , v8::internal::sign = negative ,
  v8::internal::not_sign = positive , v8::internal::kEqual = eq , v8::internal::kNotEqual = ne , v8::internal::kLessThan = lt ,
  v8::internal::kGreaterThan = gt , v8::internal::kLessThanEqual = le , v8::internal::kGreaterThanEqual = ge , v8::internal::kUnsignedLessThan = lo ,
  v8::internal::kUnsignedGreaterThan = hi , v8::internal::kUnsignedLessThanEqual = ls , v8::internal::kUnsignedGreaterThanEqual = hs , v8::internal::kOverflow = vs ,
  v8::internal::kNoOverflow = vc , v8::internal::kZero = eq , v8::internal::kNotZero = ne
}
 
enum  v8::internal::FPUCondition {
  v8::internal::kNoFPUCondition = -1 , v8::internal::CAF = 0x00 , v8::internal::SAF = 0x01 , v8::internal::CLT = 0x02 ,
  v8::internal::CEQ = 0x04 , v8::internal::SEQ = 0x05 , v8::internal::CLE = 0x06 , v8::internal::SLE = 0x07 ,
  v8::internal::CUN = 0x08 , v8::internal::SUN = 0x09 , v8::internal::CULT = 0x0a , v8::internal::SULT = 0x0b ,
  v8::internal::CUEQ = 0x0c , v8::internal::SUEQ = 0x0d , v8::internal::CULE = 0x0e , v8::internal::SULE = 0x0f ,
  v8::internal::CNE = 0x10 , v8::internal::SNE = 0x11 , v8::internal::COR = 0x14 , v8::internal::SOR = 0x15 ,
  v8::internal::CUNE = 0x18 , v8::internal::SUNE = 0x19 , v8::internal::kNoFPUCondition = -1 , v8::internal::F = 0x00 ,
  v8::internal::UN = 0x01 , v8::internal::EQ = 0x02 , v8::internal::UEQ = 0x03 , v8::internal::OLT = 0x04 ,
  v8::internal::LT = 0x04 , v8::internal::ULT = 0x05 , v8::internal::OLE = 0x06 , v8::internal::LE = 0x06 ,
  v8::internal::ULE = 0x07 , v8::internal::ORD = 0x11 , v8::internal::UNE = 0x12 , v8::internal::NE = 0x13 ,
  v8::internal::kNoFPUCondition = -1 , v8::internal::EQ = 0x02 , v8::internal::NE = 0x13 , v8::internal::LT = 0x04 ,
  v8::internal::GE = 0x05 , v8::internal::LE = 0x06 , v8::internal::GT = 0x07
}
 
enum  v8::internal::CheckForInexactConversion {
  v8::internal::kCheckForInexactConversion , v8::internal::kDontCheckForInexactConversion , v8::internal::kCheckForInexactConversion , v8::internal::kDontCheckForInexactConversion ,
  v8::internal::kCheckForInexactConversion , v8::internal::kDontCheckForInexactConversion , v8::internal::kCheckForInexactConversion , v8::internal::kDontCheckForInexactConversion ,
  v8::internal::kCheckForInexactConversion , v8::internal::kDontCheckForInexactConversion , v8::internal::kCheckForInexactConversion , v8::internal::kDontCheckForInexactConversion
}
 
enum class  v8::internal::MaxMinKind : int {
  v8::internal::kMin = 0 , v8::internal::kMax = 1 , v8::internal::kMin = 0 , v8::internal::kMax = 1 ,
  v8::internal::kMin = 0 , v8::internal::kMax = 1
}
 
enum  v8::internal::ControlStatusReg {
  v8::internal::csr_fflags = 0x001 , v8::internal::csr_frm = 0x002 , v8::internal::csr_fcsr = 0x003 , v8::internal::csr_cycle = 0xc00 ,
  v8::internal::csr_time = 0xc01 , v8::internal::csr_instret = 0xc02 , v8::internal::csr_cycleh = 0xc80 , v8::internal::csr_timeh = 0xc81 ,
  v8::internal::csr_instreth = 0xc82
}
 
enum  v8::internal::FFlagsMask {
  v8::internal::kInvalidOperation = 0b10000 , v8::internal::kDivideByZero = 0b1000 , v8::internal::kFPUOverflow = 0b100 , v8::internal::kUnderflow = 0b10 ,
  v8::internal::kInexact = 0b1
}
 
enum  v8::internal::FPURoundingMode {
  v8::internal::mode_round = RN , v8::internal::mode_ceil = RP , v8::internal::mode_floor = RM , v8::internal::mode_trunc = RZ ,
  v8::internal::mode_round = RN , v8::internal::mode_ceil = RP , v8::internal::mode_floor = RM , v8::internal::mode_trunc = RZ ,
  v8::internal::RNE = 0b000 , v8::internal::RTZ = 0b001 , v8::internal::RDN = 0b010 , v8::internal::RUP = 0b011 ,
  v8::internal::RMM = 0b100 , v8::internal::DYN = 0b111
}
 
enum  v8::internal::MemoryOdering {
  v8::internal::PSI = 0b1000 , v8::internal::PSO = 0b0100 , v8::internal::PSR = 0b0010 , v8::internal::PSW = 0b0001 ,
  v8::internal::PSIORW = PSI | PSO | PSR | PSW
}
 
enum  v8::internal::FClassFlag {
  v8::internal::kNegativeInfinity = 1 , v8::internal::kNegativeNormalNumber = 1 << 1 , v8::internal::kNegativeSubnormalNumber = 1 << 2 , v8::internal::kNegativeZero = 1 << 3 ,
  v8::internal::kPositiveZero = 1 << 4 , v8::internal::kPositiveSubnormalNumber = 1 << 5 , v8::internal::kPositiveNormalNumber = 1 << 6 , v8::internal::kPositiveInfinity = 1 << 7 ,
  v8::internal::kSignalingNaN = 1 << 8 , v8::internal::kQuietNaN = 1 << 9
}
 
enum  v8::internal::TailAgnosticType { v8::internal::ta = 0x1 , v8::internal::tu = 0x0 }
 
enum  v8::internal::MaskAgnosticType { v8::internal::ma = 0x1 , v8::internal::mu = 0x0 }
 
enum  v8::internal::MaskType { v8::internal::Mask = 0x0 , v8::internal::NoMask = 0x1 }
 
enum  v8::internal::Hint { v8::internal::no_hint = 0 , v8::internal::no_hint = 0 , v8::internal::no_hint = 0 , v8::internal::no_hint = 0 }
 
enum  v8::internal::BaseOpcode : uint32_t {
  v8::internal::LOAD = 0b0000011 , v8::internal::LOAD_FP = 0b0000111 , v8::internal::MISC_MEM = 0b0001111 , v8::internal::OP_IMM = 0b0010011 ,
  v8::internal::AUIPC = ((3U << 3) + 6) , v8::internal::OP_IMM_32 = 0b0011011 , v8::internal::STORE = 0b0100011 , v8::internal::STORE_FP = 0b0100111 ,
  v8::internal::AMO = 0b0101111 , v8::internal::OP = 0b0110011 , v8::internal::OP_32 = 0b0111011 , v8::internal::NMSUB = 0b1001011 ,
  v8::internal::NMADD = 0b1001111 , v8::internal::OP_FP = 0b1010011 , v8::internal::BRANCH = 0b1100011 , v8::internal::JALR = ((1U << 3) + 1) ,
  v8::internal::SYSTEM = 0b1110011 , v8::internal::OP_V = 0b1010111 , v8::internal::C0 = 0b00 , v8::internal::C1 = 0b01 ,
  v8::internal::C2 = 0b10 , v8::internal::FUNCT2_0 = 0b00 , v8::internal::FUNCT2_1 = 0b01 , v8::internal::FUNCT2_2 = 0b10 ,
  v8::internal::FUNCT2_3 = 0b11
}
 

Functions

Condition v8::internal::NegateCondition (Condition cond)
 
Condition v8::internal::NegateFpuCondition (Condition cc)
 
Hint v8::internal::NegateHint (Hint ignored)
 

Variables

const int v8::internal::kNumVRegisters = 32
 
const int v8::internal::kInvalidVRegister = -1
 
const uint32_t v8::internal::kMaxTracepointCode = 63
 
const uint32_t v8::internal::kExceptionIsSwitchStackLimit = 128
 
const int v8::internal::kBaseOpcodeShift = 0
 
const int v8::internal::kBaseOpcodeBits = 7
 
const int v8::internal::kFunct6Shift = 26
 
const int v8::internal::kFunct6Bits = 6
 
const int v8::internal::kFunct7Shift = 25
 
const int v8::internal::kFunct7Bits = 7
 
const int v8::internal::kFunct5Shift = 27
 
const int v8::internal::kFunct5Bits = 5
 
const int v8::internal::kFunct3Shift = 12
 
const int v8::internal::kFunct3Bits = 3
 
const int v8::internal::kFunct2Shift = 25
 
const int v8::internal::kFunct2Bits = 2
 
const int v8::internal::kRs1Shift = 15
 
const int v8::internal::kRs1Bits = 5
 
const int v8::internal::kVs1Shift = 15
 
const int v8::internal::kVs1Bits = 5
 
const int v8::internal::kVs2Shift = 20
 
const int v8::internal::kVs2Bits = 5
 
const int v8::internal::kVdShift = 7
 
const int v8::internal::kVdBits = 5
 
const int v8::internal::kRs2Shift = 20
 
const int v8::internal::kRs2Bits = 5
 
const int v8::internal::kRs3Shift = 27
 
const int v8::internal::kRs3Bits = 5
 
const int v8::internal::kRlShift = 25
 
const int v8::internal::kAqShift = 26
 
const int v8::internal::kImm11Shift = 2
 
const int v8::internal::kImm11Bits = 11
 
const int v8::internal::kShamtShift = 20
 
const int v8::internal::kShamtBits = 5
 
const uint32_t v8::internal::kShamtMask = (((1 << kShamtBits) - 1) << kShamtShift)
 
const int v8::internal::kShamtWShift = 20
 
const int v8::internal::kShamtWBits = 6
 
const int v8::internal::kArithShiftShift = 30
 
const int v8::internal::kImm20Shift = 12
 
const int v8::internal::kImm20Bits = 20
 
const int v8::internal::kCsrShift = 20
 
const int v8::internal::kCsrBits = 12
 
const int v8::internal::kMemOrderBits = 4
 
const int v8::internal::kPredOrderShift = 24
 
const int v8::internal::kSuccOrderShift = 20
 
const int v8::internal::kRvcFunct4Shift = 12
 
const int v8::internal::kRvcFunct4Bits = 4
 
const int v8::internal::kRvcFunct3Shift = 13
 
const int v8::internal::kRvcFunct3Bits = 3
 
const int v8::internal::kRvcRs1Shift = 7
 
const int v8::internal::kRvcRs1Bits = 5
 
const int v8::internal::kRvcRs2Shift = 2
 
const int v8::internal::kRvcRs2Bits = 5
 
const int v8::internal::kRvcRdShift = 7
 
const int v8::internal::kRvcRdBits = 5
 
const int v8::internal::kRvcRs1sShift = 7
 
const int v8::internal::kRvcRs1sBits = 3
 
const int v8::internal::kRvcRs2sShift = 2
 
const int v8::internal::kRvcRs2sBits = 3
 
const int v8::internal::kRvcFunct2Shift = 5
 
const int v8::internal::kRvcFunct2BShift = 10
 
const int v8::internal::kRvcFunct2Bits = 2
 
const int v8::internal::kRvcFunct6Shift = 10
 
const int v8::internal::kRvcFunct6Bits = 6
 
const uint32_t v8::internal::kRvcOpcodeMask
 
const uint32_t v8::internal::kRvcFunct3Mask
 
const uint32_t v8::internal::kRvcFunct4Mask
 
const uint32_t v8::internal::kRvcFunct6Mask
 
const uint32_t v8::internal::kRvcFunct2Mask
 
const uint32_t v8::internal::kRvcFunct2BMask
 
const uint32_t v8::internal::kCRTypeMask = kRvcOpcodeMask | kRvcFunct4Mask
 
const uint32_t v8::internal::kCSTypeMask = kRvcOpcodeMask | kRvcFunct6Mask
 
const uint32_t v8::internal::kCATypeMask = kRvcOpcodeMask | kRvcFunct6Mask | kRvcFunct2Mask
 
const uint32_t v8::internal::kRvcBImm8Mask = (((1 << 5) - 1) << 2) | (((1 << 3) - 1) << 10)
 
constexpr int v8::internal::kRvvELEN = 64
 
constexpr int v8::internal::kRvvVLEN = 128
 
constexpr int v8::internal::kRvvSLEN = kRvvVLEN
 
const int v8::internal::kRvvFunct6Shift = 26
 
const int v8::internal::kRvvFunct6Bits = 6
 
const uint32_t v8::internal::kRvvFunct6Mask
 
const int v8::internal::kRvvVmBits = 1
 
const int v8::internal::kRvvVmShift = 25
 
const uint32_t v8::internal::kRvvVmMask = (((1 << kRvvVmBits) - 1) << kRvvVmShift)
 
const int v8::internal::kRvvVs2Bits = 5
 
const int v8::internal::kRvvVs2Shift = 20
 
const uint32_t v8::internal::kRvvVs2Mask = (((1 << kRvvVs2Bits) - 1) << kRvvVs2Shift)
 
const int v8::internal::kRvvVs1Bits = 5
 
const int v8::internal::kRvvVs1Shift = 15
 
const uint32_t v8::internal::kRvvVs1Mask = (((1 << kRvvVs1Bits) - 1) << kRvvVs1Shift)
 
const int v8::internal::kRvvRs1Bits = kRvvVs1Bits
 
const int v8::internal::kRvvRs1Shift = kRvvVs1Shift
 
const uint32_t v8::internal::kRvvRs1Mask = (((1 << kRvvRs1Bits) - 1) << kRvvRs1Shift)
 
const int v8::internal::kRvvRs2Bits = 5
 
const int v8::internal::kRvvRs2Shift = 20
 
const uint32_t v8::internal::kRvvRs2Mask = (((1 << kRvvRs2Bits) - 1) << kRvvRs2Shift)
 
const int v8::internal::kRvvImm5Bits = kRvvVs1Bits
 
const int v8::internal::kRvvImm5Shift = kRvvVs1Shift
 
const uint32_t v8::internal::kRvvImm5Mask = (((1 << kRvvImm5Bits) - 1) << kRvvImm5Shift)
 
const int v8::internal::kRvvVdBits = 5
 
const int v8::internal::kRvvVdShift = 7
 
const uint32_t v8::internal::kRvvVdMask = (((1 << kRvvVdBits) - 1) << kRvvVdShift)
 
const int v8::internal::kRvvRdBits = kRvvVdBits
 
const int v8::internal::kRvvRdShift = kRvvVdShift
 
const uint32_t v8::internal::kRvvRdMask = (((1 << kRvvRdBits) - 1) << kRvvRdShift)
 
const int v8::internal::kRvvZimmBits = 11
 
const int v8::internal::kRvvZimmShift = 20
 
const uint32_t v8::internal::kRvvZimmMask = (((1 << kRvvZimmBits) - 1) << kRvvZimmShift)
 
const int v8::internal::kRvvUimmShift = kRvvRs1Shift
 
const int v8::internal::kRvvUimmBits = kRvvRs1Bits
 
const uint32_t v8::internal::kRvvUimmMask = (((1 << kRvvUimmBits) - 1) << kRvvUimmShift)
 
const int v8::internal::kRvvWidthBits = 3
 
const int v8::internal::kRvvWidthShift = 12
 
const uint32_t v8::internal::kRvvWidthMask = (((1 << kRvvWidthBits) - 1) << kRvvWidthShift)
 
const int v8::internal::kRvvMopBits = 2
 
const int v8::internal::kRvvMopShift = 26
 
const uint32_t v8::internal::kRvvMopMask = (((1 << kRvvMopBits) - 1) << kRvvMopShift)
 
const int v8::internal::kRvvMewBits = 1
 
const int v8::internal::kRvvMewShift = 28
 
const uint32_t v8::internal::kRvvMewMask = (((1 << kRvvMewBits) - 1) << kRvvMewShift)
 
const int v8::internal::kRvvNfBits = 3
 
const int v8::internal::kRvvNfShift = 29
 
const uint32_t v8::internal::kRvvNfMask = (((1 << kRvvNfBits) - 1) << kRvvNfShift)
 
const uint32_t v8::internal::kBaseOpcodeMask
 
const uint32_t v8::internal::kFunct3Mask = ((1 << kFunct3Bits) - 1) << kFunct3Shift
 
const uint32_t v8::internal::kFunct5Mask = ((1 << kFunct5Bits) - 1) << kFunct5Shift
 
const uint32_t v8::internal::kFunct6Mask = ((1 << kFunct6Bits) - 1) << kFunct6Shift
 
const uint32_t v8::internal::kFunct7Mask = ((1 << kFunct7Bits) - 1) << kFunct7Shift
 
const uint32_t v8::internal::kFunct2Mask = 0b11 << kFunct7Shift
 
const uint32_t v8::internal::kRTypeMask = kBaseOpcodeMask | kFunct3Mask | kFunct7Mask
 
const uint32_t v8::internal::kRATypeMask = kBaseOpcodeMask | kFunct3Mask | kFunct5Mask
 
const uint32_t v8::internal::kRFPTypeMask = kBaseOpcodeMask | kFunct7Mask
 
const uint32_t v8::internal::kR4TypeMask = kBaseOpcodeMask | kFunct3Mask | kFunct2Mask
 
const uint32_t v8::internal::kITypeMask = kBaseOpcodeMask | kFunct3Mask
 
const uint32_t v8::internal::kSTypeMask = kBaseOpcodeMask | kFunct3Mask
 
const uint32_t v8::internal::kBTypeMask = kBaseOpcodeMask | kFunct3Mask
 
const uint32_t v8::internal::kUTypeMask = kBaseOpcodeMask
 
const uint32_t v8::internal::kJTypeMask = kBaseOpcodeMask
 
const uint32_t v8::internal::kVTypeMask = kRvvFunct6Mask | kFunct3Mask | kBaseOpcodeMask
 
const uint32_t v8::internal::kRs1FieldMask = ((1 << kRs1Bits) - 1) << kRs1Shift
 
const uint32_t v8::internal::kRs2FieldMask = ((1 << kRs2Bits) - 1) << kRs2Shift
 
const uint32_t v8::internal::kRs3FieldMask = ((1 << kRs3Bits) - 1) << kRs3Shift
 
const uint32_t v8::internal::kBImm12Mask = kFunct7Mask | kRdFieldMask
 
const uint32_t v8::internal::kImm20Mask = ((1 << kImm20Bits) - 1) << kImm20Shift
 
const uint32_t v8::internal::kImm11Mask = ((1 << kImm11Bits) - 1) << kImm11Shift
 
const uint32_t v8::internal::kImm31_12Mask = ((1 << 20) - 1) << 12
 
const uint32_t v8::internal::kImm19_0Mask = ((1 << 20) - 1)
 
const int v8::internal::kNopByte = 0x00000013
 
const int v8::internal::kFloat32ExponentBias = 127
 
const int v8::internal::kFloat32MantissaBits = 23
 
const int v8::internal::kFloat32ExponentBits = 8
 
const int v8::internal::kFloat64ExponentBias = 1023
 
const int v8::internal::kFloat64MantissaBits = 52
 
const int v8::internal::kFloat64ExponentBits = 11
 
const Instr v8::internal::kIllegalInstr = 0
 
const Instr v8::internal::kBreakInstr = SYSTEM | 1 << kImm12Shift
 
constexpr uint8_t v8::internal::kShortInstrSize = 2
 
static const int v8::internal::kNegOffset = 0x00008000
 

Macro Definition Documentation

◆ __STDC_FORMAT_MACROS

#define __STDC_FORMAT_MACROS

Definition at line 46 of file base-constants-riscv.h.

◆ CAST_VLMUL

#define CAST_VLMUL ( name)
Value:
case name: \
return #name;
const char * name
Definition builtins.cc:39

◆ CAST_VSEW

#define CAST_VSEW ( name)
Value:
case name: \
return #name;

◆ DEFINE_FLAG [1/2]

#define DEFINE_FLAG ( name)
Value:

Definition at line 75 of file base-constants-riscv.h.

◆ DEFINE_FLAG [2/2]

#define DEFINE_FLAG ( name)
Value:

Definition at line 75 of file base-constants-riscv.h.

◆ RVV_LMUL

#define RVV_LMUL ( V)
Value:
V(m1) \
V(m2) \
V(m4) \
V(m8) \
V(RESERVERD) \
V(mf8) \
V(mf4) \
V(mf2)
#define V(Name)

Definition at line 64 of file base-constants-riscv.h.

◆ RVV_SEW

#define RVV_SEW ( V)
Value:
V(E8) \
V(E16) \
V(E32) \
V(E64)

Definition at line 81 of file base-constants-riscv.h.

◆ sext

#define sext ( x,
len )
Value:
(((int32_t)(x) << (32 - len)) >> (32 - len))
int x

Definition at line 1231 of file base-constants-riscv.h.

◆ UNIMPLEMENTED_RISCV

#define UNIMPLEMENTED_RISCV ( )

Definition at line 18 of file base-constants-riscv.h.

◆ UNSUPPORTED_RISCV

#define UNSUPPORTED_RISCV ( )
Value:
v8::internal::PrintF("Unsupported instruction %d.\n", __LINE__); \
UNIMPLEMENTED();
void PrintF(const char *format,...)
Definition utils.cc:39

Definition at line 21 of file base-constants-riscv.h.

◆ zext

#define zext ( x,
len )
Value:
(((uint32_t)(x) << (32 - len)) >> (32 - len))

Definition at line 1232 of file base-constants-riscv.h.

Enumeration Type Documentation

◆ Endianness

enum Endianness
Enumerator
kLittle 
kBig 

Definition at line 25 of file base-constants-riscv.h.