aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/src/deoptimizer/ppc
diff options
context:
space:
mode:
authorMyles Borins <mylesborins@google.com>2019-09-24 11:56:38 -0400
committerMyles Borins <myles.borins@gmail.com>2019-10-07 03:19:23 -0400
commitf7f6c928c1c9c136b7926f892b8a2fda11d8b4b2 (patch)
treef5edbccb3ffda2573d70a6e291e7157f290e0ae0 /deps/v8/src/deoptimizer/ppc
parentffd22e81983056d09c064c59343a0e488236272d (diff)
downloadandroid-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.cc32
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);