V8 Project
macro-assembler-mips.h File Reference
#include "src/assembler.h"
#include "src/globals.h"
#include "src/mips/assembler-mips.h"
+ Include dependency graph for macro-assembler-mips.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  v8::internal::MacroAssembler
 
struct  v8::internal::MacroAssembler::Unresolved
 
class  v8::internal::CodePatcher
 

Namespaces

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

Macros

#define COND_TYPED_ARGS   Condition cond, Register r1, const Operand& r2
 
#define COND_ARGS   cond, r1, r2
 
#define DECLARE_NORELOC_PROTOTYPE(Name, target_type)
 
#define DECLARE_BRANCH_PROTOTYPES(Name)
 
#define COND_ARGS
 
#define DEFINE_INSTRUCTION(instr)
 
#define DEFINE_INSTRUCTION2(instr)
 
#define DEFINE_INSTRUCTION3(instr)
 
#define COND_ARGS
 
#define ACCESS_MASM(masm)   masm->
 

Enumerations

enum  v8::internal::LeaveExitFrameMode { v8::internal::EMIT_RETURN = true , v8::internal::NO_EMIT_RETURN = false , v8::internal::EMIT_RETURN = true , v8::internal::NO_EMIT_RETURN = false }
 
enum  v8::internal::TaggingMode {
  v8::internal::TAG_RESULT , v8::internal::DONT_TAG_RESULT , v8::internal::TAG_RESULT , v8::internal::DONT_TAG_RESULT ,
  v8::internal::TAG_RESULT , v8::internal::DONT_TAG_RESULT
}
 
enum  v8::internal::ObjectToDoubleFlags {
  v8::internal::NO_OBJECT_TO_DOUBLE_FLAGS = 0 , v8::internal::OBJECT_NOT_SMI = 1 << 0 , v8::internal::AVOID_NANS_AND_INFINITIES = 1 << 1 , v8::internal::NO_OBJECT_TO_DOUBLE_FLAGS = 0 ,
  v8::internal::OBJECT_NOT_SMI = 1 << 0 , v8::internal::AVOID_NANS_AND_INFINITIES = 1 << 1
}
 
enum  v8::internal::BranchDelaySlot { v8::internal::USE_DELAY_SLOT , v8::internal::PROTECT , v8::internal::USE_DELAY_SLOT , v8::internal::PROTECT }
 
enum  v8::internal::LiFlags {
  v8::internal::OPTIMIZE_SIZE = 0 , v8::internal::CONSTANT_SIZE = 1 , v8::internal::OPTIMIZE_SIZE = 0 , v8::internal::CONSTANT_SIZE = 1 ,
  v8::internal::ADDRESS_LOAD = 2
}
 
enum  v8::internal::RememberedSetAction {
  v8::internal::EMIT_REMEMBERED_SET , v8::internal::OMIT_REMEMBERED_SET , v8::internal::EMIT_REMEMBERED_SET , v8::internal::OMIT_REMEMBERED_SET ,
  v8::internal::EMIT_REMEMBERED_SET , v8::internal::OMIT_REMEMBERED_SET , v8::internal::EMIT_REMEMBERED_SET , v8::internal::OMIT_REMEMBERED_SET ,
  v8::internal::EMIT_REMEMBERED_SET , v8::internal::OMIT_REMEMBERED_SET , v8::internal::EMIT_REMEMBERED_SET , v8::internal::OMIT_REMEMBERED_SET ,
  v8::internal::EMIT_REMEMBERED_SET , v8::internal::OMIT_REMEMBERED_SET
}
 
enum  v8::internal::SmiCheck {
  v8::internal::INLINE_SMI_CHECK , v8::internal::OMIT_SMI_CHECK , v8::internal::INLINE_SMI_CHECK , v8::internal::OMIT_SMI_CHECK ,
  v8::internal::INLINE_SMI_CHECK , v8::internal::OMIT_SMI_CHECK , v8::internal::INLINE_SMI_CHECK , v8::internal::OMIT_SMI_CHECK ,
  v8::internal::INLINE_SMI_CHECK , v8::internal::OMIT_SMI_CHECK , v8::internal::INLINE_SMI_CHECK , v8::internal::OMIT_SMI_CHECK ,
  v8::internal::INLINE_SMI_CHECK , v8::internal::OMIT_SMI_CHECK
}
 
enum  v8::internal::PointersToHereCheck {
  v8::internal::kPointersToHereMaybeInteresting , v8::internal::kPointersToHereAreAlwaysInteresting , v8::internal::kPointersToHereMaybeInteresting , v8::internal::kPointersToHereAreAlwaysInteresting ,
  v8::internal::kPointersToHereMaybeInteresting , v8::internal::kPointersToHereAreAlwaysInteresting , v8::internal::kPointersToHereMaybeInteresting , v8::internal::kPointersToHereAreAlwaysInteresting ,
  v8::internal::kPointersToHereMaybeInteresting , v8::internal::kPointersToHereAreAlwaysInteresting , v8::internal::kPointersToHereMaybeInteresting , v8::internal::kPointersToHereAreAlwaysInteresting ,
  v8::internal::kPointersToHereMaybeInteresting , v8::internal::kPointersToHereAreAlwaysInteresting
}
 
enum  v8::internal::RAStatus { v8::internal::kRAHasNotBeenSaved , v8::internal::kRAHasBeenSaved , v8::internal::kRAHasNotBeenSaved , v8::internal::kRAHasBeenSaved }
 

Functions

Register v8::internal::GetRegisterThatIsNotOneOf (Register reg1, Register reg2=no_reg, Register reg3=no_reg, Register reg4=no_reg, Register reg5=no_reg, Register reg6=no_reg)
 
bool v8::internal::AreAliased (Register reg1, Register reg2, Register reg3=no_reg, Register reg4=no_reg, Register reg5=no_reg, Register reg6=no_reg, Register reg7=no_reg, Register reg8=no_reg)
 
MemOperand v8::internal::ContextOperand (Register context, int index)
 
MemOperand v8::internal::GlobalObjectOperand ()
 
MemOperand v8::internal::FieldMemOperand (Register object, int offset)
 
MemOperand v8::internal::CFunctionArgumentOperand (int index)
 

Macro Definition Documentation

◆ ACCESS_MASM

#define ACCESS_MASM (   masm)    masm->

Definition at line 1722 of file macro-assembler-mips.h.

◆ COND_ARGS [1/3]

#define COND_ARGS   cond, r1, r2

Definition at line 1192 of file macro-assembler-mips.h.

◆ COND_ARGS [2/3]

#define COND_ARGS
Value:
Condition cond = al, Register rs = zero_reg, \
const Operand& rt = Operand(zero_reg), BranchDelaySlot bd = PROTECT

Definition at line 1192 of file macro-assembler-mips.h.

◆ COND_ARGS [3/3]

#define COND_ARGS
Value:
Condition cond = al, Register rs = zero_reg, \
const Operand& rt = Operand(zero_reg), BranchDelaySlot bd = PROTECT

Definition at line 1192 of file macro-assembler-mips.h.

◆ COND_TYPED_ARGS

#define COND_TYPED_ARGS   Condition cond, Register r1, const Operand& r2

Definition at line 136 of file macro-assembler-mips.h.

◆ DECLARE_BRANCH_PROTOTYPES

#define DECLARE_BRANCH_PROTOTYPES (   Name)
Value:
DECLARE_NORELOC_PROTOTYPE(Name, Label*) \
DECLARE_NORELOC_PROTOTYPE(Name, int16_t)
#define DECLARE_NORELOC_PROTOTYPE(Name, target_type)
signed short int16_t
Definition: unicode.cc:22

Definition at line 154 of file macro-assembler-mips.h.

◆ DECLARE_NORELOC_PROTOTYPE

#define DECLARE_NORELOC_PROTOTYPE (   Name,
  target_type 
)
Value:
void Name(target_type target, BranchDelaySlot bd = PROTECT); \
inline void Name(BranchDelaySlot bd, target_type target) { \
Name(target, bd); \
} \
void Name(target_type target, \
inline void Name(BranchDelaySlot bd, \
target_type target, \
Name(target, COND_ARGS, bd); \
}
#define COND_ARGS
#define COND_TYPED_ARGS

Definition at line 140 of file macro-assembler-mips.h.

◆ DEFINE_INSTRUCTION

#define DEFINE_INSTRUCTION (   instr)
Value:
void instr(Register rd, Register rs, const Operand& rt); \
void instr(Register rd, Register rs, Register rt) { \
instr(rd, rs, Operand(rt)); \
} \
void instr(Register rs, Register rt, int32_t j) { \
instr(rs, rt, Operand(j)); \
}
int int32_t
Definition: unicode.cc:24

Definition at line 560 of file macro-assembler-mips.h.

◆ DEFINE_INSTRUCTION2

#define DEFINE_INSTRUCTION2 (   instr)
Value:
void instr(Register rs, const Operand& rt); \
void instr(Register rs, Register rt) { \
instr(rs, Operand(rt)); \
} \
void instr(Register rs, int32_t j) { \
instr(rs, Operand(j)); \
}

Definition at line 569 of file macro-assembler-mips.h.

◆ DEFINE_INSTRUCTION3

#define DEFINE_INSTRUCTION3 (   instr)
Value:
void instr(Register rd_hi, Register rd_lo, Register rs, const Operand& rt); \
void instr(Register rd_hi, Register rd_lo, Register rs, Register rt) { \
instr(rd_hi, rd_lo, rs, Operand(rt)); \
} \
void instr(Register rd_hi, Register rd_lo, Register rs, int32_t j) { \
instr(rd_hi, rd_lo, rs, Operand(j)); \
}

Definition at line 578 of file macro-assembler-mips.h.