v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
deoptimizer-riscv.cc
Go to the documentation of this file.
1// Copyright 2021 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
6
7namespace v8 {
8namespace internal {
9
12
14
15// static
17
19 return Float32::FromBits(
20 static_cast<uint32_t>(double_registers_[n].get_bits()));
21}
23 return Float64::FromBits(
24 static_cast<uint64_t>(double_registers_[n].get_bits()));
25}
26
27void RegisterValues::SetDoubleRegister(unsigned n, Float64 value) {
29 reinterpret_cast<Address>(double_registers_ + n), value);
30}
31
32void FrameDescription::SetCallerPc(unsigned offset, intptr_t value) {
33 SetFrameSlot(offset, value);
34}
35
36void FrameDescription::SetCallerFp(unsigned offset, intptr_t value) {
37 SetFrameSlot(offset, value);
38}
39
40void FrameDescription::SetCallerConstantPool(unsigned offset, intptr_t value) {
41 // No embedded constant pool support.
43}
44
45void FrameDescription::SetPc(intptr_t pc) { pc_ = pc; }
46
47} // namespace internal
48} // namespace v8
static void PatchToJump(Address pc, Address new_pc)
static V8_EXPORT_PRIVATE const int kEagerDeoptExitSize
static V8_EXPORT_PRIVATE const int kAdaptShadowStackOffsetToSubtract
static V8_EXPORT_PRIVATE const int kLazyDeoptExitSize
void SetCallerFp(unsigned offset, intptr_t value)
void SetCallerConstantPool(unsigned offset, intptr_t value)
void SetCallerPc(unsigned offset, intptr_t value)
void SetFrameSlot(unsigned offset, intptr_t value)
void SetDoubleRegister(unsigned n, Float64 value)
Float64 GetDoubleRegister(unsigned n) const
Float32 GetFloatRegister(unsigned n) const
int32_t offset
static void WriteUnalignedValue(Address p, V value)
Definition memory.h:41
FloatWithBits< 32 > Float32
Definition index.h:233
FloatWithBits< 64 > Float64
Definition index.h:234
constexpr uint8_t kInstrSize