v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <lithium-codegen-arm.h>
Public Member Functions | |
LCodeGen (LChunk *chunk, MacroAssembler *assembler, CompilationInfo *info) | |
int | LookupDestination (int block_id) const |
bool | IsNextEmittedBlock (int block_id) const |
bool | NeedsEagerFrame () const |
bool | NeedsDeferredFrame () const |
LinkRegisterStatus | GetLinkRegisterState () const |
Register | ToRegister (LOperand *op) const |
Register | EmitLoadRegister (LOperand *op, Register scratch) |
DwVfpRegister | ToDoubleRegister (LOperand *op) const |
DwVfpRegister | EmitLoadDoubleRegister (LOperand *op, SwVfpRegister flt_scratch, DwVfpRegister dbl_scratch) |
int32_t | ToRepresentation (LConstantOperand *op, const Representation &r) const |
int32_t | ToInteger32 (LConstantOperand *op) const |
Smi * | ToSmi (LConstantOperand *op) const |
double | ToDouble (LConstantOperand *op) const |
Operand | ToOperand (LOperand *op) |
MemOperand | ToMemOperand (LOperand *op) const |
MemOperand | ToHighMemOperand (LOperand *op) const |
bool | IsInteger32 (LConstantOperand *op) const |
bool | IsSmi (LConstantOperand *op) const |
Handle< Object > | ToHandle (LConstantOperand *op) const |
bool | GenerateCode () |
void | FinishCode (Handle< Code > code) |
void | DoDeferredNumberTagD (LNumberTagD *instr) |
void | DoDeferredNumberTagIU (LInstruction *instr, LOperand *value, LOperand *temp1, LOperand *temp2, IntegerSignedness signedness) |
void | DoDeferredTaggedToI (LTaggedToI *instr) |
void | DoDeferredMathAbsTaggedHeapNumber (LMathAbs *instr) |
void | DoDeferredStackCheck (LStackCheck *instr) |
void | DoDeferredStringCharCodeAt (LStringCharCodeAt *instr) |
void | DoDeferredStringCharFromCode (LStringCharFromCode *instr) |
void | DoDeferredAllocate (LAllocate *instr) |
void | DoDeferredInstanceOfKnownGlobal (LInstanceOfKnownGlobal *instr, Label *map_check) |
void | DoDeferredInstanceMigration (LCheckMaps *instr, Register object) |
void | DoParallelMove (LParallelMove *move) |
void | DoGap (LGap *instr) |
MemOperand | PrepareKeyedOperand (Register key, Register base, bool key_is_constant, int constant_key, int element_size, int shift_size, int additional_index, int additional_offset) |
void | WriteTranslation (LEnvironment *environment, Translation *translation) |
LCodeGen (LChunk *chunk, MacroAssembler *assembler, CompilationInfo *info) | |
Scope * | scope () const |
int | LookupDestination (int block_id) const |
bool | IsNextEmittedBlock (int block_id) const |
bool | NeedsEagerFrame () const |
bool | NeedsDeferredFrame () const |
LinkRegisterStatus | GetLinkRegisterState () const |
bool | GenerateCode () |
void | FinishCode (Handle< Code > code) |
Register | ToRegister (LOperand *op) const |
Register | ToRegister32 (LOperand *op) const |
Operand | ToOperand (LOperand *op) |
Operand | ToOperand32I (LOperand *op) |
Operand | ToOperand32U (LOperand *op) |
MemOperand | ToMemOperand (LOperand *op) const |
Handle< Object > | ToHandle (LConstantOperand *op) const |
bool | IsInteger32Constant (LConstantOperand *op) const |
bool | IsSmi (LConstantOperand *op) const |
int32_t | ToInteger32 (LConstantOperand *op) const |
Smi * | ToSmi (LConstantOperand *op) const |
double | ToDouble (LConstantOperand *op) const |
DoubleRegister | ToDoubleRegister (LOperand *op) const |
LCodeGen (LChunk *chunk, MacroAssembler *assembler, CompilationInfo *info) | |
int | LookupDestination (int block_id) const |
bool | IsNextEmittedBlock (int block_id) const |
bool | NeedsEagerFrame () const |
bool | NeedsDeferredFrame () const |
Operand | ToOperand (LOperand *op) const |
Register | ToRegister (LOperand *op) const |
XMMRegister | ToDoubleRegister (LOperand *op) const |
X87Register | ToX87Register (LOperand *op) const |
bool | IsInteger32 (LConstantOperand *op) const |
bool | IsSmi (LConstantOperand *op) const |
Immediate | ToImmediate (LOperand *op, const Representation &r) const |
double | ToDouble (LConstantOperand *op) const |
void | X87Mov (X87Register reg, Operand src, X87OperandType operand=kX87DoubleOperand) |
void | X87Mov (Operand src, X87Register reg, X87OperandType operand=kX87DoubleOperand) |
void | X87PrepareBinaryOp (X87Register left, X87Register right, X87Register result) |
void | X87LoadForUsage (X87Register reg) |
void | X87LoadForUsage (X87Register reg1, X87Register reg2) |
void | X87PrepareToWrite (X87Register reg) |
void | X87CommitWrite (X87Register reg) |
void | X87Fxch (X87Register reg, int other_slot=0) |
void | X87Free (X87Register reg) |
bool | X87StackEmpty () |
Handle< Object > | ToHandle (LConstantOperand *op) const |
Operand | HighOperand (LOperand *op) |
bool | GenerateCode () |
void | FinishCode (Handle< Code > code) |
void | DoDeferredNumberTagD (LNumberTagD *instr) |
void | DoDeferredNumberTagIU (LInstruction *instr, LOperand *value, LOperand *temp1, LOperand *temp2, IntegerSignedness signedness) |
void | DoDeferredTaggedToI (LTaggedToI *instr, Label *done) |
void | DoDeferredMathAbsTaggedHeapNumber (LMathAbs *instr) |
void | DoDeferredStackCheck (LStackCheck *instr) |
void | DoDeferredStringCharCodeAt (LStringCharCodeAt *instr) |
void | DoDeferredStringCharFromCode (LStringCharFromCode *instr) |
void | DoDeferredAllocate (LAllocate *instr) |
void | DoDeferredInstanceOfKnownGlobal (LInstanceOfKnownGlobal *instr, Label *map_check) |
void | DoDeferredInstanceMigration (LCheckMaps *instr, Register object) |
void | DoParallelMove (LParallelMove *move) |
void | DoGap (LGap *instr) |
void | WriteTranslation (LEnvironment *environment, Translation *translation) |
void | EnsureRelocSpaceForDeoptimization () |
LCodeGen (LChunk *chunk, MacroAssembler *assembler, CompilationInfo *info) | |
int | LookupDestination (int block_id) const |
bool | IsNextEmittedBlock (int block_id) const |
bool | NeedsEagerFrame () const |
bool | NeedsDeferredFrame () const |
RAStatus | GetRAState () const |
Register | ToRegister (LOperand *op) const |
Register | EmitLoadRegister (LOperand *op, Register scratch) |
DoubleRegister | ToDoubleRegister (LOperand *op) const |
DoubleRegister | EmitLoadDoubleRegister (LOperand *op, FloatRegister flt_scratch, DoubleRegister dbl_scratch) |
int32_t | ToRepresentation (LConstantOperand *op, const Representation &r) const |
int32_t | ToInteger32 (LConstantOperand *op) const |
Smi * | ToSmi (LConstantOperand *op) const |
double | ToDouble (LConstantOperand *op) const |
Operand | ToOperand (LOperand *op) |
MemOperand | ToMemOperand (LOperand *op) const |
MemOperand | ToHighMemOperand (LOperand *op) const |
bool | IsInteger32 (LConstantOperand *op) const |
bool | IsSmi (LConstantOperand *op) const |
Handle< Object > | ToHandle (LConstantOperand *op) const |
bool | GenerateCode () |
void | FinishCode (Handle< Code > code) |
void | DoDeferredNumberTagD (LNumberTagD *instr) |
void | DoDeferredNumberTagIU (LInstruction *instr, LOperand *value, LOperand *temp1, LOperand *temp2, IntegerSignedness signedness) |
void | DoDeferredTaggedToI (LTaggedToI *instr) |
void | DoDeferredMathAbsTaggedHeapNumber (LMathAbs *instr) |
void | DoDeferredStackCheck (LStackCheck *instr) |
void | DoDeferredStringCharCodeAt (LStringCharCodeAt *instr) |
void | DoDeferredStringCharFromCode (LStringCharFromCode *instr) |
void | DoDeferredAllocate (LAllocate *instr) |
void | DoDeferredInstanceOfKnownGlobal (LInstanceOfKnownGlobal *instr, Label *map_check) |
void | DoDeferredInstanceMigration (LCheckMaps *instr, Register object) |
void | DoParallelMove (LParallelMove *move) |
void | DoGap (LGap *instr) |
MemOperand | PrepareKeyedOperand (Register key, Register base, bool key_is_constant, int constant_key, int element_size, int shift_size, int additional_index, int additional_offset) |
void | WriteTranslation (LEnvironment *environment, Translation *translation) |
LCodeGen (LChunk *chunk, MacroAssembler *assembler, CompilationInfo *info) | |
int | LookupDestination (int block_id) const |
bool | IsNextEmittedBlock (int block_id) const |
bool | NeedsEagerFrame () const |
bool | NeedsDeferredFrame () const |
Register | ToRegister (LOperand *op) const |
XMMRegister | ToDoubleRegister (LOperand *op) const |
bool | IsInteger32Constant (LConstantOperand *op) const |
bool | IsDehoistedKeyConstant (LConstantOperand *op) const |
bool | IsSmiConstant (LConstantOperand *op) const |
int32_t | ToInteger32 (LConstantOperand *op) const |
Smi * | ToSmi (LConstantOperand *op) const |
double | ToDouble (LConstantOperand *op) const |
ExternalReference | ToExternalReference (LConstantOperand *op) const |
Handle< Object > | ToHandle (LConstantOperand *op) const |
Operand | ToOperand (LOperand *op) const |
bool | GenerateCode () |
void | FinishCode (Handle< Code > code) |
void | DoDeferredNumberTagD (LNumberTagD *instr) |
void | DoDeferredNumberTagU (LNumberTagU *instr) |
void | DoDeferredTaggedToI (LTaggedToI *instr, Label *done) |
void | DoDeferredMathAbsTaggedHeapNumber (LMathAbs *instr) |
void | DoDeferredStackCheck (LStackCheck *instr) |
void | DoDeferredStringCharCodeAt (LStringCharCodeAt *instr) |
void | DoDeferredStringCharFromCode (LStringCharFromCode *instr) |
void | DoDeferredAllocate (LAllocate *instr) |
void | DoDeferredInstanceOfKnownGlobal (LInstanceOfKnownGlobal *instr, Label *map_check) |
void | DoDeferredInstanceMigration (LCheckMaps *instr, Register object) |
void | DoParallelMove (LParallelMove *move) |
void | DoGap (LGap *instr) |
void | WriteTranslation (LEnvironment *environment, Translation *translation) |
Friends | |
class | LDeferredCode |
class | LEnvironment |
class | SafepointGenerator |
class | LGapResolver |
Definition at line 47 of file lithium-codegen-arm.h.
enum IntegerSignedness |
Enumerator | |
---|---|
SIGNED_INT32 | |
UNSIGNED_INT32 | |
SIGNED_INT32 | |
UNSIGNED_INT32 | |
SIGNED_INT32 | |
UNSIGNED_INT32 | |
SIGNED_INT32 | |
UNSIGNED_INT32 |
Definition at line 126 of file lithium-codegen-mips.h.
enum IntegerSignedness |
Enumerator | |
---|---|
SIGNED_INT32 | |
UNSIGNED_INT32 | |
SIGNED_INT32 | |
UNSIGNED_INT32 | |
SIGNED_INT32 | |
UNSIGNED_INT32 | |
SIGNED_INT32 | |
UNSIGNED_INT32 |
Definition at line 128 of file lithium-codegen-arm.h.
enum IntegerSignedness |
Enumerator | |
---|---|
SIGNED_INT32 | |
UNSIGNED_INT32 | |
SIGNED_INT32 | |
UNSIGNED_INT32 | |
SIGNED_INT32 | |
UNSIGNED_INT32 | |
SIGNED_INT32 | |
UNSIGNED_INT32 |
Definition at line 150 of file lithium-codegen-ia32.h.
enum X87OperandType |
Enumerator | |
---|---|
kX87DoubleOperand | |
kX87FloatOperand | |
kX87IntOperand |
Definition at line 105 of file lithium-codegen-ia32.h.
|
inline |
Definition at line 49 of file lithium-codegen-arm.h.
|
inline |
Definition at line 50 of file lithium-codegen-arm64.h.
|
inline |
Definition at line 51 of file lithium-codegen-ia32.h.
|
inline |
Definition at line 48 of file lithium-codegen-mips.h.
|
inline |
Definition at line 50 of file lithium-codegen-x64.h.
void DoDeferredAllocate | ( | LAllocate * | instr | ) |
void DoDeferredAllocate | ( | LAllocate * | instr | ) |
void DoDeferredAllocate | ( | LAllocate * | instr | ) |
Definition at line 5288 of file lithium-codegen-arm.cc.
References __, ASSERT, BitFieldBase< bool, shift, size, uint32_t >::encode(), Smi::FromInt(), Register::is(), v8::internal::NEW_SPACE, v8::internal::OLD_DATA_SPACE, v8::internal::OLD_POINTER_SPACE, v8::internal::r0, LCodeGen::ToInteger32(), LCodeGen::ToRegister(), and BitFieldBase< AllocationSpace, shift, size, uint32_t >::update().
void DoDeferredAllocate | ( | LAllocate * | instr | ) |
void DoDeferredInstanceMigration | ( | LCheckMaps * | instr, |
Register | object | ||
) |
void DoDeferredInstanceMigration | ( | LCheckMaps * | instr, |
Register | object | ||
) |
void DoDeferredInstanceMigration | ( | LCheckMaps * | instr, |
Register | object | ||
) |
Definition at line 5076 of file lithium-codegen-arm.cc.
References __, v8::internal::cp, v8::internal::eq, v8::internal::kSmiTagMask, and v8::internal::r0.
void DoDeferredInstanceMigration | ( | LCheckMaps * | instr, |
Register | object | ||
) |
void DoDeferredInstanceOfKnownGlobal | ( | LInstanceOfKnownGlobal * | instr, |
Label * | map_check | ||
) |
void DoDeferredInstanceOfKnownGlobal | ( | LInstanceOfKnownGlobal * | instr, |
Label * | map_check | ||
) |
void DoDeferredInstanceOfKnownGlobal | ( | LInstanceOfKnownGlobal * | instr, |
Label * | map_check | ||
) |
Definition at line 2777 of file lithium-codegen-arm.cc.
References __, ASSERT_EQ, v8::internal::flags, InstanceofStub::kArgsInRegisters, InstanceofStub::kCallSiteInlineCheck, Assembler::kInstrSize, InstanceofStub::kNoFlags, v8::internal::kPointerSize, InstanceofStub::kReturnTrueFalseObject, LCodeGen::LEnvironment, v8::internal::r0, v8::internal::r5, InstanceofStub::right(), and LCodeGen::ToRegister().
void DoDeferredInstanceOfKnownGlobal | ( | LInstanceOfKnownGlobal * | instr, |
Label * | map_check | ||
) |
void DoDeferredMathAbsTaggedHeapNumber | ( | LMathAbs * | instr | ) |
void DoDeferredMathAbsTaggedHeapNumber | ( | LMathAbs * | instr | ) |
void DoDeferredMathAbsTaggedHeapNumber | ( | LMathAbs * | instr | ) |
Definition at line 3587 of file lithium-codegen-arm.cc.
References __, ASSERT, v8::internal::cp, v8::internal::eq, v8::internal::FieldMemOperand(), v8::internal::ip, Register::is(), HeapNumber::kExponentOffset, HeapNumber::kMantissaOffset, HeapObject::kMapOffset, HeapNumber::kSignMask, v8::internal::ne, v8::internal::no_reg, v8::internal::NULL, v8::internal::r0, v8::internal::r1, v8::internal::r2, v8::internal::r3, v8::internal::r4, and LCodeGen::ToRegister().
void DoDeferredMathAbsTaggedHeapNumber | ( | LMathAbs * | instr | ) |
void DoDeferredNumberTagD | ( | LNumberTagD * | instr | ) |
void DoDeferredNumberTagD | ( | LNumberTagD * | instr | ) |
void DoDeferredNumberTagD | ( | LNumberTagD * | instr | ) |
Definition at line 4707 of file lithium-codegen-arm.cc.
References __, v8::internal::cp, v8::internal::fp, StandardFrameConstants::kContextOffset, v8::internal::kHeapObjectTag, v8::internal::r0, and LCodeGen::ToRegister().
void DoDeferredNumberTagD | ( | LNumberTagD * | instr | ) |
void DoDeferredNumberTagIU | ( | LInstruction * | instr, |
LOperand * | value, | ||
LOperand * | temp1, | ||
LOperand * | temp2, | ||
IntegerSignedness | signedness | ||
) |
void DoDeferredNumberTagIU | ( | LInstruction * | instr, |
LOperand * | value, | ||
LOperand * | temp1, | ||
LOperand * | temp2, | ||
IntegerSignedness | signedness | ||
) |
Definition at line 4606 of file lithium-codegen-arm.cc.
References __, v8::internal::cp, v8::internal::DONT_TAG_RESULT, v8::internal::fp, Register::is(), StandardFrameConstants::kContextOffset, v8::internal::kHeapObjectTag, HeapNumber::kValueOffset, LowDwVfpRegister::low(), LInstruction::pointer_map(), v8::internal::r0, LInstruction::result(), LCodeGen::SIGNED_INT32, and LCodeGen::ToRegister().
void DoDeferredNumberTagIU | ( | LInstruction * | instr, |
LOperand * | value, | ||
LOperand * | temp1, | ||
LOperand * | temp2, | ||
IntegerSignedness | signedness | ||
) |
void DoDeferredNumberTagU | ( | LNumberTagU * | instr | ) |
void DoDeferredStackCheck | ( | LStackCheck * | instr | ) |
void DoDeferredStackCheck | ( | LStackCheck * | instr | ) |
void DoDeferredStackCheck | ( | LStackCheck * | instr | ) |
Definition at line 5575 of file lithium-codegen-arm.cc.
References __, ASSERT, and LCodeGen::LEnvironment.
void DoDeferredStackCheck | ( | LStackCheck * | instr | ) |
void DoDeferredStringCharCodeAt | ( | LStringCharCodeAt * | instr | ) |
void DoDeferredStringCharCodeAt | ( | LStringCharCodeAt * | instr | ) |
void DoDeferredStringCharCodeAt | ( | LStringCharCodeAt * | instr | ) |
Definition at line 4443 of file lithium-codegen-arm.cc.
References __, Smi::FromInt(), v8::internal::r0, LCodeGen::ToInteger32(), and LCodeGen::ToRegister().
void DoDeferredStringCharCodeAt | ( | LStringCharCodeAt * | instr | ) |
void DoDeferredStringCharFromCode | ( | LStringCharFromCode * | instr | ) |
void DoDeferredStringCharFromCode | ( | LStringCharFromCode * | instr | ) |
void DoDeferredStringCharFromCode | ( | LStringCharFromCode * | instr | ) |
Definition at line 4507 of file lithium-codegen-arm.cc.
References __, v8::internal::r0, and LCodeGen::ToRegister().
void DoDeferredStringCharFromCode | ( | LStringCharFromCode * | instr | ) |
void DoDeferredTaggedToI | ( | LTaggedToI * | instr, |
Label * | done | ||
) |
void DoDeferredTaggedToI | ( | LTaggedToI * | instr | ) |
void DoDeferredTaggedToI | ( | LTaggedToI * | instr | ) |
Definition at line 4818 of file lithium-codegen-arm.cc.
References __, ASSERT, v8::internal::FieldMemOperand(), v8::internal::ip, Register::is(), HValue::kBailoutOnMinusZero, v8::internal::kHeapObjectTag, HeapObject::kMapOffset, HeapNumber::kSignMask, HeapNumber::kValueOffset, v8::internal::ne, v8::internal::STATIC_ASSERT(), LCodeGen::ToDoubleRegister(), and LCodeGen::ToRegister().
void DoDeferredTaggedToI | ( | LTaggedToI * | instr, |
Label * | done | ||
) |
void DoGap | ( | LGap * | instr | ) |
void DoGap | ( | LGap * | instr | ) |
void DoGap | ( | LGap * | instr | ) |
Definition at line 1072 of file lithium-codegen-arm.cc.
References LCodeGen::DoParallelMove(), LGap::FIRST_INNER_POSITION, LGap::GetParallelMove(), LGap::LAST_INNER_POSITION, and v8::internal::NULL.
void DoGap | ( | LGap * | instr | ) |
void DoParallelMove | ( | LParallelMove * | move | ) |
void DoParallelMove | ( | LParallelMove * | move | ) |
void DoParallelMove | ( | LParallelMove * | move | ) |
Definition at line 1067 of file lithium-codegen-arm.cc.
Referenced by LCodeGen::DoGap().
void DoParallelMove | ( | LParallelMove * | move | ) |
DoubleRegister EmitLoadDoubleRegister | ( | LOperand * | op, |
FloatRegister | flt_scratch, | ||
DoubleRegister | dbl_scratch | ||
) |
Definition at line 429 of file lithium-codegen-mips.cc.
References __, ASSERT, LOperand::index(), Representation::IsDouble(), Representation::IsInteger32(), Value::IsNumber(), Representation::IsTagged(), LCodeGen::ToDoubleRegister(), LCodeGen::ToMemOperand(), and UNREACHABLE.
DwVfpRegister EmitLoadDoubleRegister | ( | LOperand * | op, |
SwVfpRegister | flt_scratch, | ||
DwVfpRegister | dbl_scratch | ||
) |
Definition at line 454 of file lithium-codegen-arm.cc.
References __, ASSERT, LOperand::index(), v8::internal::ip, Representation::IsDouble(), Representation::IsInteger32(), Value::IsNumber(), Representation::IsTagged(), MemOperand::offset(), LCodeGen::ToDoubleRegister(), LCodeGen::ToMemOperand(), and UNREACHABLE.
Definition at line 421 of file lithium-codegen-arm.cc.
References __, ASSERT, LOperand::index(), Representation::IsDouble(), Representation::IsInteger32(), Value::IsNumber(), Representation::IsSmiOrTagged(), LCodeGen::ToMemOperand(), LCodeGen::ToRegister(), and UNREACHABLE.
void EnsureRelocSpaceForDeoptimization | ( | ) |
Definition at line 83 of file lithium-codegen-arm.cc.
References ASSERT, and v8::internal::info.
Referenced by LChunk::Codegen().
bool GenerateCode | ( | ) |
bool GenerateCode | ( | ) |
bool GenerateCode | ( | ) |
bool GenerateCode | ( | ) |
Definition at line 65 of file lithium-codegen-arm.cc.
Referenced by LChunk::Codegen().
bool GenerateCode | ( | ) |
|
inline |
Definition at line 85 of file lithium-codegen-arm.h.
References v8::internal::kLRHasBeenSaved, and v8::internal::kLRHasNotBeenSaved.
|
inline |
Definition at line 88 of file lithium-codegen-arm64.h.
References v8::internal::kLRHasBeenSaved, and v8::internal::kLRHasNotBeenSaved.
|
inline |
Definition at line 84 of file lithium-codegen-mips.h.
References v8::internal::kRAHasBeenSaved, and v8::internal::kRAHasNotBeenSaved.
bool IsDehoistedKeyConstant | ( | LConstantOperand * | op | ) | const |
bool IsInteger32 | ( | LConstantOperand * | op | ) | const |
bool IsInteger32 | ( | LConstantOperand * | op | ) | const |
bool IsInteger32 | ( | LConstantOperand * | op | ) | const |
Definition at line 494 of file lithium-codegen-arm.cc.
bool IsInteger32Constant | ( | LConstantOperand * | op | ) | const |
bool IsInteger32Constant | ( | LConstantOperand * | op | ) | const |
Definition at line 1283 of file lithium-codegen-arm64.cc.
|
inline |
Definition at line 70 of file lithium-codegen-mips.h.
References LCodeGen::LookupDestination().
|
inline |
Definition at line 71 of file lithium-codegen-arm.h.
References LCodeGen::LookupDestination().
|
inline |
Definition at line 71 of file lithium-codegen-x64.h.
References LCodeGen::LookupDestination().
|
inline |
Definition at line 74 of file lithium-codegen-arm64.h.
References LCodeGen::LookupDestination().
|
inline |
Definition at line 75 of file lithium-codegen-ia32.h.
References LCodeGen::LookupDestination().
bool IsSmi | ( | LConstantOperand * | op | ) | const |
bool IsSmi | ( | LConstantOperand * | op | ) | const |
bool IsSmi | ( | LConstantOperand * | op | ) | const |
Definition at line 499 of file lithium-codegen-arm.cc.
bool IsSmi | ( | LConstantOperand * | op | ) | const |
bool IsSmiConstant | ( | LConstantOperand * | op | ) | const |
|
inline |
Definition at line 66 of file lithium-codegen-mips.h.
|
inline |
Definition at line 67 of file lithium-codegen-arm.h.
Referenced by LCodeGen::IsNextEmittedBlock().
|
inline |
Definition at line 67 of file lithium-codegen-x64.h.
|
inline |
Definition at line 70 of file lithium-codegen-arm64.h.
|
inline |
Definition at line 71 of file lithium-codegen-ia32.h.
|
inline |
Definition at line 80 of file lithium-codegen-mips.h.
References v8::internal::info, and LCodeGen::NeedsEagerFrame().
|
inline |
Definition at line 81 of file lithium-codegen-x64.h.
References v8::internal::info, and LCodeGen::NeedsEagerFrame().
|
inline |
Definition at line 81 of file lithium-codegen-arm.h.
References v8::internal::info, and LCodeGen::NeedsEagerFrame().
Referenced by LDeferredCode::done().
|
inline |
Definition at line 84 of file lithium-codegen-arm64.h.
References v8::internal::info, and LCodeGen::NeedsEagerFrame().
|
inline |
Definition at line 85 of file lithium-codegen-ia32.h.
References v8::internal::info, and LCodeGen::NeedsEagerFrame().
|
inline |
Definition at line 74 of file lithium-codegen-mips.h.
References v8::internal::info.
|
inline |
Definition at line 75 of file lithium-codegen-x64.h.
References v8::internal::info.
|
inline |
Definition at line 75 of file lithium-codegen-arm.h.
References v8::internal::info.
Referenced by LCodeGen::NeedsDeferredFrame(), LCodeGen::ToHighMemOperand(), and LCodeGen::ToMemOperand().
|
inline |
Definition at line 78 of file lithium-codegen-arm64.h.
References v8::internal::info.
|
inline |
Definition at line 79 of file lithium-codegen-ia32.h.
References v8::internal::info.
MemOperand PrepareKeyedOperand | ( | Register | key, |
Register | base, | ||
bool | key_is_constant, | ||
int | constant_key, | ||
int | element_size, | ||
int | shift_size, | ||
int | additional_index, | ||
int | additional_offset | ||
) |
MemOperand PrepareKeyedOperand | ( | Register | key, |
Register | base, | ||
bool | key_is_constant, | ||
int | constant_key, | ||
int | element_size, | ||
int | shift_size, | ||
int | additional_index, | ||
int | additional_offset | ||
) |
Definition at line 3292 of file lithium-codegen-arm.cc.
References __, ASSERT_EQ, v8::internal::LSL, and v8::internal::LSR.
|
inline |
Definition at line 68 of file lithium-codegen-arm64.h.
double ToDouble | ( | LConstantOperand * | op | ) | const |
double ToDouble | ( | LConstantOperand * | op | ) | const |
double ToDouble | ( | LConstantOperand * | op | ) | const |
double ToDouble | ( | LConstantOperand * | op | ) | const |
Definition at line 525 of file lithium-codegen-arm.cc.
References ASSERT.
double ToDouble | ( | LConstantOperand * | op | ) | const |
XMMRegister ToDoubleRegister | ( | LOperand * | op | ) | const |
XMMRegister ToDoubleRegister | ( | LOperand * | op | ) | const |
DoubleRegister ToDoubleRegister | ( | LOperand * | op | ) | const |
DoubleRegister ToDoubleRegister | ( | LOperand * | op | ) | const |
Definition at line 448 of file lithium-codegen-arm.cc.
References ASSERT, and LOperand::index().
Referenced by LCodeGen::DoDeferredTaggedToI(), and LCodeGen::EmitLoadDoubleRegister().
DoubleRegister ToDoubleRegister | ( | LOperand * | op | ) | const |
ExternalReference ToExternalReference | ( | LConstantOperand * | op | ) | const |
Definition at line 487 of file lithium-codegen-arm.cc.
References ASSERT.
MemOperand ToHighMemOperand | ( | LOperand * | op | ) | const |
MemOperand ToHighMemOperand | ( | LOperand * | op | ) | const |
Definition at line 580 of file lithium-codegen-arm.cc.
References ASSERT, v8::internal::fp, LOperand::index(), v8::internal::kPointerSize, LCodeGen::NeedsEagerFrame(), v8::internal::sp, and v8::internal::StackSlotOffset().
|
inline |
Definition at line 97 of file lithium-codegen-ia32.h.
References LCodeGen::ToRepresentation().
int32_t ToInteger32 | ( | LConstantOperand * | op | ) | const |
int32_t ToInteger32 | ( | LConstantOperand * | op | ) | const |
int32_t ToInteger32 | ( | LConstantOperand * | op | ) | const |
Definition at line 504 of file lithium-codegen-arm.cc.
References Representation::Integer32(), and LCodeGen::ToRepresentation().
Referenced by LCodeGen::DoDeferredAllocate(), LCodeGen::DoDeferredStringCharCodeAt(), and LCodeGen::ToRegister32().
int32_t ToInteger32 | ( | LConstantOperand * | op | ) | const |
MemOperand ToMemOperand | ( | LOperand * | op | ) | const |
MemOperand ToMemOperand | ( | LOperand * | op | ) | const |
MemOperand ToMemOperand | ( | LOperand * | op | ) | const |
Definition at line 566 of file lithium-codegen-arm.cc.
References ASSERT, v8::internal::fp, LOperand::index(), LCodeGen::NeedsEagerFrame(), v8::internal::sp, and v8::internal::StackSlotOffset().
Referenced by LCodeGen::EmitLoadDoubleRegister(), and LCodeGen::EmitLoadRegister().
Definition at line 532 of file lithium-codegen-arm.cc.
References ASSERT, Smi::FromInt(), Representation::IsDouble(), Representation::IsInteger32(), Representation::IsSmi(), Representation::IsTagged(), LCodeGen::ToRegister(), and UNREACHABLE.
Definition at line 1215 of file lithium-codegen-arm64.cc.
References LCodeGen::SIGNED_INT32.
Definition at line 1220 of file lithium-codegen-arm64.cc.
References LCodeGen::UNSIGNED_INT32.
Definition at line 415 of file lithium-codegen-arm.cc.
References ASSERT, and LOperand::index().
Referenced by LCodeGen::DoDeferredAllocate(), LCodeGen::DoDeferredInstanceOfKnownGlobal(), LCodeGen::DoDeferredMathAbsTaggedHeapNumber(), LCodeGen::DoDeferredNumberTagD(), LCodeGen::DoDeferredNumberTagIU(), LCodeGen::DoDeferredStringCharCodeAt(), LCodeGen::DoDeferredStringCharFromCode(), LCodeGen::DoDeferredTaggedToI(), LCodeGen::EmitLoadRegister(), LCodeGen::ToOperand(), and LCodeGen::ToRegister32().
Definition at line 1162 of file lithium-codegen-arm64.cc.
References ASSERT, v8::internal::NULL, LCodeGen::ToInteger32(), LCodeGen::ToRegister(), and CPURegister::W().
int32_t ToRepresentation | ( | LConstantOperand * | op, |
const Representation & | r | ||
) | const |
int32_t ToRepresentation | ( | LConstantOperand * | op, |
const Representation & | r | ||
) | const |
Definition at line 509 of file lithium-codegen-arm.cc.
References ASSERT, Smi::FromInt(), Representation::IsInteger32(), and Representation::IsSmiOrTagged().
Referenced by LCodeGen::ToImmediate(), and LCodeGen::ToInteger32().
Smi* ToSmi | ( | LConstantOperand * | op | ) | const |
Smi* ToSmi | ( | LConstantOperand * | op | ) | const |
Smi * ToSmi | ( | LConstantOperand * | op | ) | const |
Definition at line 519 of file lithium-codegen-arm.cc.
References Smi::FromInt().
Smi* ToSmi | ( | LConstantOperand * | op | ) | const |
X87Register ToX87Register | ( | LOperand * | op | ) | const |
void WriteTranslation | ( | LEnvironment * | environment, |
Translation * | translation | ||
) |
void WriteTranslation | ( | LEnvironment * | environment, |
Translation * | translation | ||
) |
void WriteTranslation | ( | LEnvironment * | environment, |
Translation * | translation | ||
) |
Definition at line 593 of file lithium-codegen-arm.cc.
References v8::internal::ARGUMENTS_ADAPTOR, ASSERT, v8::internal::info, v8::internal::JS_CONSTRUCT, v8::internal::JS_FUNCTION, v8::internal::JS_GETTER, v8::internal::JS_SETTER, v8::internal::NULL, and v8::internal::STUB.
void WriteTranslation | ( | LEnvironment * | environment, |
Translation * | translation | ||
) |
|
inline |
Definition at line 118 of file lithium-codegen-ia32.h.
|
inline |
Definition at line 123 of file lithium-codegen-ia32.h.
|
inline |
Definition at line 120 of file lithium-codegen-ia32.h.
void X87LoadForUsage | ( | X87Register | reg | ) |
void X87LoadForUsage | ( | X87Register | reg1, |
X87Register | reg2 | ||
) |
void X87Mov | ( | X87Register | reg, |
Operand | src, | ||
X87OperandType | operand = kX87DoubleOperand |
||
) |
void X87Mov | ( | Operand | src, |
X87Register | reg, | ||
X87OperandType | operand = kX87DoubleOperand |
||
) |
void X87PrepareBinaryOp | ( | X87Register | left, |
X87Register | right, | ||
X87Register | result | ||
) |
|
inline |
Definition at line 117 of file lithium-codegen-ia32.h.
|
inline |
Definition at line 128 of file lithium-codegen-ia32.h.
|
friend |
Definition at line 419 of file lithium-codegen-arm.h.
|
friend |
Definition at line 420 of file lithium-codegen-arm.h.
Referenced by LCodeGen::DoDeferredInstanceOfKnownGlobal(), and LCodeGen::DoDeferredStackCheck().
|
friend |
Definition at line 401 of file lithium-codegen-ia32.h.
|
friend |
Definition at line 421 of file lithium-codegen-arm.h.