diff options
Diffstat (limited to 'deps/v8/src/compiler/code-generator-impl.h')
-rw-r--r-- | deps/v8/src/compiler/code-generator-impl.h | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/deps/v8/src/compiler/code-generator-impl.h b/deps/v8/src/compiler/code-generator-impl.h index 7de32c5c91..4dccdc912c 100644 --- a/deps/v8/src/compiler/code-generator-impl.h +++ b/deps/v8/src/compiler/code-generator-impl.h @@ -31,10 +31,18 @@ class InstructionOperandConverter { return ToRegister(instr_->InputAt(index)); } + FloatRegister InputFloatRegister(size_t index) { + return ToFloatRegister(instr_->InputAt(index)); + } + DoubleRegister InputDoubleRegister(size_t index) { return ToDoubleRegister(instr_->InputAt(index)); } + Simd128Register InputSimd128Register(size_t index) { + return ToSimd128Register(instr_->InputAt(index)); + } + double InputDouble(size_t index) { return ToDouble(instr_->InputAt(index)); } float InputFloat32(size_t index) { return ToFloat32(instr_->InputAt(index)); } @@ -43,6 +51,10 @@ class InstructionOperandConverter { return ToConstant(instr_->InputAt(index)).ToInt32(); } + uint32_t InputUint32(size_t index) { + return bit_cast<uint32_t>(InputInt32(index)); + } + int64_t InputInt64(size_t index) { return ToConstant(instr_->InputAt(index)).ToInt64(); } @@ -85,10 +97,18 @@ class InstructionOperandConverter { return ToRegister(instr_->TempAt(index)); } + FloatRegister OutputFloatRegister() { + return ToFloatRegister(instr_->Output()); + } + DoubleRegister OutputDoubleRegister() { return ToDoubleRegister(instr_->Output()); } + Simd128Register OutputSimd128Register() { + return ToSimd128Register(instr_->Output()); + } + // -- Conversions for operands ----------------------------------------------- Label* ToLabel(InstructionOperand* op) { @@ -103,10 +123,18 @@ class InstructionOperandConverter { return LocationOperand::cast(op)->GetRegister(); } + FloatRegister ToFloatRegister(InstructionOperand* op) { + return LocationOperand::cast(op)->GetFloatRegister(); + } + DoubleRegister ToDoubleRegister(InstructionOperand* op) { return LocationOperand::cast(op)->GetDoubleRegister(); } + Simd128Register ToSimd128Register(InstructionOperand* op) { + return LocationOperand::cast(op)->GetSimd128Register(); + } + Constant ToConstant(InstructionOperand* op) { if (op->IsImmediate()) { return gen_->code()->GetImmediate(ImmediateOperand::cast(op)); @@ -127,7 +155,7 @@ class InstructionOperandConverter { return ToConstant(op).ToHeapObject(); } - Frame* frame() const { return gen_->frame(); } + const Frame* frame() const { return gen_->frame(); } FrameAccessState* frame_access_state() const { return gen_->frame_access_state(); } @@ -163,7 +191,7 @@ class OutOfLineCode : public ZoneObject { Label* entry() { return &entry_; } Label* exit() { return &exit_; } - Frame* frame() const { return frame_; } + const Frame* frame() const { return frame_; } Isolate* isolate() const { return masm()->isolate(); } MacroAssembler* masm() const { return masm_; } OutOfLineCode* next() const { return next_; } @@ -171,7 +199,7 @@ class OutOfLineCode : public ZoneObject { private: Label entry_; Label exit_; - Frame* const frame_; + const Frame* const frame_; MacroAssembler* const masm_; OutOfLineCode* const next_; }; @@ -182,8 +210,6 @@ class OutOfLineCode : public ZoneObject { static inline void FinishCode(MacroAssembler* masm) { #if V8_TARGET_ARCH_ARM64 || V8_TARGET_ARCH_ARM masm->CheckConstPool(true, false); -#elif V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X64 - masm->ud2(); #endif } |