![]() |
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.