diff options
author | Myles Borins <mylesborins@google.com> | 2019-09-24 11:56:38 -0400 |
---|---|---|
committer | Myles Borins <myles.borins@gmail.com> | 2019-10-07 03:19:23 -0400 |
commit | f7f6c928c1c9c136b7926f892b8a2fda11d8b4b2 (patch) | |
tree | f5edbccb3ffda2573d70a6e291e7157f290e0ae0 /deps/v8/src/deoptimizer/ppc | |
parent | ffd22e81983056d09c064c59343a0e488236272d (diff) | |
download | android-node-v8-f7f6c928c1c9c136b7926f892b8a2fda11d8b4b2.tar.gz android-node-v8-f7f6c928c1c9c136b7926f892b8a2fda11d8b4b2.tar.bz2 android-node-v8-f7f6c928c1c9c136b7926f892b8a2fda11d8b4b2.zip |
deps: update V8 to 7.8.279.9
PR-URL: https://github.com/nodejs/node/pull/29694
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Diffstat (limited to 'deps/v8/src/deoptimizer/ppc')
-rw-r--r-- | deps/v8/src/deoptimizer/ppc/deoptimizer-ppc.cc | 32 |
1 files changed, 9 insertions, 23 deletions
diff --git a/deps/v8/src/deoptimizer/ppc/deoptimizer-ppc.cc b/deps/v8/src/deoptimizer/ppc/deoptimizer-ppc.cc index 41616a5af2..864e9dbe36 100644 --- a/deps/v8/src/deoptimizer/ppc/deoptimizer-ppc.cc +++ b/deps/v8/src/deoptimizer/ppc/deoptimizer-ppc.cc @@ -11,6 +11,9 @@ namespace v8 { namespace internal { +const bool Deoptimizer::kSupportsFixedDeoptExitSize = false; +const int Deoptimizer::kDeoptExitSize = 0; + #define __ masm-> // This code tries to be close to ia32 code so that any changes can be @@ -28,7 +31,6 @@ void Deoptimizer::GenerateDeoptimizationEntries(MacroAssembler* masm, RegList saved_regs = restored_regs | sp.bit(); const int kDoubleRegsSize = kDoubleSize * DoubleRegister::kNumRegisters; - const int kFloatRegsSize = kFloatSize * FloatRegister::kNumRegisters; // Save all double registers before messing with them. __ subi(sp, sp, Operand(kDoubleRegsSize)); @@ -39,14 +41,6 @@ void Deoptimizer::GenerateDeoptimizationEntries(MacroAssembler* masm, int offset = code * kDoubleSize; __ stfd(dreg, MemOperand(sp, offset)); } - // Save all float registers before messing with them. - __ subi(sp, sp, Operand(kFloatRegsSize)); - for (int i = 0; i < config->num_allocatable_float_registers(); ++i) { - int code = config->GetAllocatableFloatCode(i); - const FloatRegister freg = FloatRegister::from_code(code); - int offset = code * kFloatSize; - __ stfs(freg, MemOperand(sp, offset)); - } // Push saved_regs (needed to populate FrameDescription::registers_). // Leave gaps for other registers. @@ -64,7 +58,7 @@ void Deoptimizer::GenerateDeoptimizationEntries(MacroAssembler* masm, __ StoreP(fp, MemOperand(scratch)); } const int kSavedRegistersAreaSize = - (kNumberOfRegisters * kPointerSize) + kDoubleRegsSize + kFloatRegsSize; + (kNumberOfRegisters * kPointerSize) + kDoubleRegsSize; // Get the bailout id is passed as r29 by the caller. __ mr(r5, r29); @@ -114,21 +108,10 @@ void Deoptimizer::GenerateDeoptimizationEntries(MacroAssembler* masm, for (int i = 0; i < config->num_allocatable_double_registers(); ++i) { int code = config->GetAllocatableDoubleCode(i); int dst_offset = code * kDoubleSize + double_regs_offset; - int src_offset = - code * kDoubleSize + kNumberOfRegisters * kPointerSize + kFloatRegsSize; + int src_offset = code * kDoubleSize + kNumberOfRegisters * kPointerSize; __ lfd(d0, MemOperand(sp, src_offset)); __ stfd(d0, MemOperand(r4, dst_offset)); } - int float_regs_offset = FrameDescription::float_registers_offset(); - // Copy float registers to - // float_registers_[FloatRegister::kNumRegisters] - for (int i = 0; i < config->num_allocatable_float_registers(); ++i) { - int code = config->GetAllocatableFloatCode(i); - int dst_offset = code * kFloatSize + float_regs_offset; - int src_offset = code * kFloatSize + kNumberOfRegisters * kPointerSize; - __ lfs(d0, MemOperand(sp, src_offset)); - __ stfs(d0, MemOperand(r4, dst_offset)); - } // Remove the saved registers from the stack. __ addi(sp, sp, Operand(kSavedRegistersAreaSize)); @@ -236,7 +219,10 @@ void Deoptimizer::GenerateDeoptimizationEntries(MacroAssembler* masm, __ stop(); } -bool Deoptimizer::PadTopOfStackRegister() { return false; } +Float32 RegisterValues::GetFloatRegister(unsigned n) const { + float float_val = static_cast<float>(double_registers_[n].get_scalar()); + return Float32::FromBits(bit_cast<uint32_t>(float_val)); +} void FrameDescription::SetCallerPc(unsigned offset, intptr_t value) { SetFrameSlot(offset, value); |