summaryrefslogtreecommitdiff
path: root/deps/v8/src/deoptimizer
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/deoptimizer')
-rw-r--r--deps/v8/src/deoptimizer/arm/deoptimizer-arm.cc4
-rw-r--r--deps/v8/src/deoptimizer/arm64/deoptimizer-arm64.cc3
-rw-r--r--deps/v8/src/deoptimizer/deoptimizer.cc106
-rw-r--r--deps/v8/src/deoptimizer/deoptimizer.h30
-rw-r--r--deps/v8/src/deoptimizer/ia32/deoptimizer-ia32.cc3
-rw-r--r--deps/v8/src/deoptimizer/loong64/deoptimizer-loong64.cc3
-rw-r--r--deps/v8/src/deoptimizer/mips/deoptimizer-mips.cc3
-rw-r--r--deps/v8/src/deoptimizer/mips64/deoptimizer-mips64.cc3
-rw-r--r--deps/v8/src/deoptimizer/ppc/deoptimizer-ppc.cc4
-rw-r--r--deps/v8/src/deoptimizer/riscv64/deoptimizer-riscv64.cc3
-rw-r--r--deps/v8/src/deoptimizer/s390/deoptimizer-s390.cc4
-rw-r--r--deps/v8/src/deoptimizer/x64/deoptimizer-x64.cc4
12 files changed, 63 insertions, 107 deletions
diff --git a/deps/v8/src/deoptimizer/arm/deoptimizer-arm.cc b/deps/v8/src/deoptimizer/arm/deoptimizer-arm.cc
index 0337d2d291..de83ef1275 100644
--- a/deps/v8/src/deoptimizer/arm/deoptimizer-arm.cc
+++ b/deps/v8/src/deoptimizer/arm/deoptimizer-arm.cc
@@ -16,11 +16,9 @@ namespace internal {
0x1000)
ASSERT_OFFSET(Builtin::kDeoptimizationEntry_Eager);
ASSERT_OFFSET(Builtin::kDeoptimizationEntry_Lazy);
-ASSERT_OFFSET(Builtin::kDeoptimizationEntry_Soft);
#undef ASSERT_OFFSET
-const bool Deoptimizer::kSupportsFixedDeoptExitSizes = true;
-const int Deoptimizer::kNonLazyDeoptExitSize = 2 * kInstrSize;
+const int Deoptimizer::kEagerDeoptExitSize = 2 * kInstrSize;
const int Deoptimizer::kLazyDeoptExitSize = 2 * kInstrSize;
Float32 RegisterValues::GetFloatRegister(unsigned n) const {
diff --git a/deps/v8/src/deoptimizer/arm64/deoptimizer-arm64.cc b/deps/v8/src/deoptimizer/arm64/deoptimizer-arm64.cc
index c695347a0b..06d5f035e6 100644
--- a/deps/v8/src/deoptimizer/arm64/deoptimizer-arm64.cc
+++ b/deps/v8/src/deoptimizer/arm64/deoptimizer-arm64.cc
@@ -9,8 +9,7 @@
namespace v8 {
namespace internal {
-const bool Deoptimizer::kSupportsFixedDeoptExitSizes = true;
-const int Deoptimizer::kNonLazyDeoptExitSize = kInstrSize;
+const int Deoptimizer::kEagerDeoptExitSize = kInstrSize;
#ifdef V8_ENABLE_CONTROL_FLOW_INTEGRITY
const int Deoptimizer::kLazyDeoptExitSize = 2 * kInstrSize;
#else
diff --git a/deps/v8/src/deoptimizer/deoptimizer.cc b/deps/v8/src/deoptimizer/deoptimizer.cc
index e30df04a64..ed78a06b35 100644
--- a/deps/v8/src/deoptimizer/deoptimizer.cc
+++ b/deps/v8/src/deoptimizer/deoptimizer.cc
@@ -95,7 +95,7 @@ class FrameWriter {
const char* debug_hint = "") {
Object obj = iterator->GetRawValue();
PushRawObject(obj, debug_hint);
- if (trace_scope_) {
+ if (trace_scope_ != nullptr) {
PrintF(trace_scope_->file(), " (input #%d)\n", iterator.input_index());
}
deoptimizer_->QueueValueForMaterialization(output_address(top_offset_), obj,
@@ -178,7 +178,7 @@ Code Deoptimizer::FindDeoptimizingCode(Address addr) {
if (function_.IsHeapObject()) {
// Search all deoptimizing code in the native context of the function.
Isolate* isolate = isolate_;
- NativeContext native_context = function_.context().native_context();
+ NativeContext native_context = function_.native_context();
Object element = native_context.DeoptimizedCodeListHead();
while (!element.IsUndefined(isolate)) {
Code code = FromCodeT(CodeT::cast(element));
@@ -193,11 +193,11 @@ Code Deoptimizer::FindDeoptimizingCode(Address addr) {
// We rely on this function not causing a GC. It is called from generated code
// without having a real stack frame in place.
Deoptimizer* Deoptimizer::New(Address raw_function, DeoptimizeKind kind,
- unsigned deopt_exit_index, Address from,
- int fp_to_sp_delta, Isolate* isolate) {
+ Address from, int fp_to_sp_delta,
+ Isolate* isolate) {
JSFunction function = JSFunction::cast(Object(raw_function));
- Deoptimizer* deoptimizer = new Deoptimizer(
- isolate, function, kind, deopt_exit_index, from, fp_to_sp_delta);
+ Deoptimizer* deoptimizer =
+ new Deoptimizer(isolate, function, kind, from, fp_to_sp_delta);
isolate->set_current_deoptimizer(deoptimizer);
return deoptimizer;
}
@@ -377,8 +377,7 @@ void Deoptimizer::DeoptimizeMarkedCodeForContext(NativeContext native_context) {
isolate->heap()->InvalidateCodeDeoptimizationData(code);
}
- native_context.GetOSROptimizedCodeCache().EvictMarkedCode(
- native_context.GetIsolate());
+ native_context.osr_code_cache().EvictDeoptimizedCode(isolate);
}
void Deoptimizer::DeoptimizeAll(Isolate* isolate) {
@@ -393,7 +392,7 @@ void Deoptimizer::DeoptimizeAll(Isolate* isolate) {
while (!context.IsUndefined(isolate)) {
NativeContext native_context = NativeContext::cast(context);
MarkAllCodeForContext(native_context);
- OSROptimizedCodeCache::Clear(native_context);
+ OSROptimizedCodeCache::Clear(isolate, native_context);
DeoptimizeMarkedCodeForContext(native_context);
context = native_context.next_context_link();
}
@@ -442,17 +441,14 @@ void Deoptimizer::DeoptimizeFunction(JSFunction function, Code code) {
// be different from the code on the function - evict it if necessary.
function.feedback_vector().EvictOptimizedCodeMarkedForDeoptimization(
function.shared(), "unlinking code marked for deopt");
- if (!code.deopt_already_counted()) {
- code.set_deopt_already_counted(true);
- }
- DeoptimizeMarkedCodeForContext(function.context().native_context());
+ DeoptimizeMarkedCodeForContext(function.native_context());
// TODO(mythria): Ideally EvictMarkCode should compact the cache without
// having to explicitly call this. We don't do this currently because
// compacting causes GC and DeoptimizeMarkedCodeForContext uses raw
// pointers. Update DeoptimizeMarkedCodeForContext to use handles and remove
// this call from here.
OSROptimizedCodeCache::Compact(
- Handle<NativeContext>(function.context().native_context(), isolate));
+ isolate, Handle<NativeContext>(function.native_context(), isolate));
}
}
@@ -464,19 +460,16 @@ const char* Deoptimizer::MessageFor(DeoptimizeKind kind) {
switch (kind) {
case DeoptimizeKind::kEager:
return "deopt-eager";
- case DeoptimizeKind::kSoft:
- return "deopt-soft";
case DeoptimizeKind::kLazy:
return "deopt-lazy";
}
}
Deoptimizer::Deoptimizer(Isolate* isolate, JSFunction function,
- DeoptimizeKind kind, unsigned deopt_exit_index,
- Address from, int fp_to_sp_delta)
+ DeoptimizeKind kind, Address from, int fp_to_sp_delta)
: isolate_(isolate),
function_(function),
- deopt_exit_index_(deopt_exit_index),
+ deopt_exit_index_(kFixedExitSizeMarker),
deopt_kind_(kind),
from_(from),
fp_to_sp_delta_(fp_to_sp_delta),
@@ -500,9 +493,6 @@ Deoptimizer::Deoptimizer(Isolate* isolate, JSFunction function,
deoptimizing_throw_ = true;
}
- DCHECK(deopt_exit_index_ == kFixedExitSizeMarker ||
- deopt_exit_index_ < kMaxNumberOfEntries);
-
DCHECK_NE(from, kNullAddress);
compiled_code_ = FindOptimizedCode();
DCHECK(!compiled_code_.is_null());
@@ -513,11 +503,6 @@ Deoptimizer::Deoptimizer(Isolate* isolate, JSFunction function,
disallow_garbage_collection_ = new DisallowGarbageCollection();
#endif // DEBUG
CHECK(CodeKindCanDeoptimize(compiled_code_.kind()));
- if (!compiled_code_.deopt_already_counted() &&
- deopt_kind_ == DeoptimizeKind::kSoft) {
- isolate->counters()->soft_deopts_executed()->Increment();
- }
- compiled_code_.set_deopt_already_counted(true);
{
HandleScope scope(isolate_);
PROFILE(isolate_, CodeDeoptEvent(handle(compiled_code_, isolate_), kind,
@@ -528,38 +513,35 @@ Deoptimizer::Deoptimizer(Isolate* isolate, JSFunction function,
function.shared().internal_formal_parameter_count_with_receiver();
input_ = new (size) FrameDescription(size, parameter_count);
- if (kSupportsFixedDeoptExitSizes) {
- DCHECK_EQ(deopt_exit_index_, kFixedExitSizeMarker);
- // Calculate the deopt exit index from return address.
- DCHECK_GT(kNonLazyDeoptExitSize, 0);
- DCHECK_GT(kLazyDeoptExitSize, 0);
- DeoptimizationData deopt_data =
- DeoptimizationData::cast(compiled_code_.deoptimization_data());
- Address deopt_start = compiled_code_.raw_instruction_start() +
- deopt_data.DeoptExitStart().value();
- int non_lazy_deopt_count = deopt_data.NonLazyDeoptCount().value();
- Address lazy_deopt_start =
- deopt_start + non_lazy_deopt_count * kNonLazyDeoptExitSize;
- // The deoptimization exits are sorted so that lazy deopt exits appear after
- // eager deopts.
- static_assert(static_cast<int>(DeoptimizeKind::kLazy) ==
- static_cast<int>(kLastDeoptimizeKind),
- "lazy deopts are expected to be emitted last");
- // from_ is the value of the link register after the call to the
- // deoptimizer, so for the last lazy deopt, from_ points to the first
- // non-lazy deopt, so we use <=, similarly for the last non-lazy deopt and
- // the first deopt with resume entry.
- if (from_ <= lazy_deopt_start) {
- int offset =
- static_cast<int>(from_ - kNonLazyDeoptExitSize - deopt_start);
- DCHECK_EQ(0, offset % kNonLazyDeoptExitSize);
- deopt_exit_index_ = offset / kNonLazyDeoptExitSize;
- } else {
- int offset =
- static_cast<int>(from_ - kLazyDeoptExitSize - lazy_deopt_start);
- DCHECK_EQ(0, offset % kLazyDeoptExitSize);
- deopt_exit_index_ = non_lazy_deopt_count + (offset / kLazyDeoptExitSize);
- }
+ DCHECK_EQ(deopt_exit_index_, kFixedExitSizeMarker);
+ // Calculate the deopt exit index from return address.
+ DCHECK_GT(kEagerDeoptExitSize, 0);
+ DCHECK_GT(kLazyDeoptExitSize, 0);
+ DeoptimizationData deopt_data =
+ DeoptimizationData::cast(compiled_code_.deoptimization_data());
+ Address deopt_start = compiled_code_.raw_instruction_start() +
+ deopt_data.DeoptExitStart().value();
+ int eager_deopt_count = deopt_data.EagerDeoptCount().value();
+ Address lazy_deopt_start =
+ deopt_start + eager_deopt_count * kEagerDeoptExitSize;
+ // The deoptimization exits are sorted so that lazy deopt exits appear after
+ // eager deopts.
+ static_assert(static_cast<int>(DeoptimizeKind::kLazy) ==
+ static_cast<int>(kLastDeoptimizeKind),
+ "lazy deopts are expected to be emitted last");
+ // from_ is the value of the link register after the call to the
+ // deoptimizer, so for the last lazy deopt, from_ points to the first
+ // non-lazy deopt, so we use <=, similarly for the last non-lazy deopt and
+ // the first deopt with resume entry.
+ if (from_ <= lazy_deopt_start) {
+ int offset = static_cast<int>(from_ - kEagerDeoptExitSize - deopt_start);
+ DCHECK_EQ(0, offset % kEagerDeoptExitSize);
+ deopt_exit_index_ = offset / kEagerDeoptExitSize;
+ } else {
+ int offset =
+ static_cast<int>(from_ - kLazyDeoptExitSize - lazy_deopt_start);
+ DCHECK_EQ(0, offset % kLazyDeoptExitSize);
+ deopt_exit_index_ = eager_deopt_count + (offset / kLazyDeoptExitSize);
}
}
@@ -580,6 +562,7 @@ Handle<Code> Deoptimizer::compiled_code() const {
Deoptimizer::~Deoptimizer() {
DCHECK(input_ == nullptr && output_ == nullptr);
DCHECK_NULL(disallow_garbage_collection_);
+ delete trace_scope_;
}
void Deoptimizer::DeleteFrameDescriptions() {
@@ -602,8 +585,6 @@ Builtin Deoptimizer::GetDeoptimizationEntry(DeoptimizeKind kind) {
switch (kind) {
case DeoptimizeKind::kEager:
return Builtin::kDeoptimizationEntry_Eager;
- case DeoptimizeKind::kSoft:
- return Builtin::kDeoptimizationEntry_Soft;
case DeoptimizeKind::kLazy:
return Builtin::kDeoptimizationEntry_Lazy;
}
@@ -618,9 +599,6 @@ bool Deoptimizer::IsDeoptimizationEntry(Isolate* isolate, Address addr,
case Builtin::kDeoptimizationEntry_Eager:
*type_out = DeoptimizeKind::kEager;
return true;
- case Builtin::kDeoptimizationEntry_Soft:
- *type_out = DeoptimizeKind::kSoft;
- return true;
case Builtin::kDeoptimizationEntry_Lazy:
*type_out = DeoptimizeKind::kLazy;
return true;
diff --git a/deps/v8/src/deoptimizer/deoptimizer.h b/deps/v8/src/deoptimizer/deoptimizer.h
index 36e85480be..47c05b491e 100644
--- a/deps/v8/src/deoptimizer/deoptimizer.h
+++ b/deps/v8/src/deoptimizer/deoptimizer.h
@@ -56,8 +56,7 @@ class Deoptimizer : public Malloced {
DeoptimizeKind deopt_kind() const { return deopt_kind_; }
static Deoptimizer* New(Address raw_function, DeoptimizeKind kind,
- unsigned deopt_exit_index, Address from,
- int fp_to_sp_delta, Isolate* isolate);
+ Address from, int fp_to_sp_delta, Isolate* isolate);
static Deoptimizer* Grab(Isolate* isolate);
// The returned object with information on the optimized frame needs to be
@@ -118,21 +117,12 @@ class Deoptimizer : public Malloced {
static constexpr int kMaxNumberOfEntries = 16384;
// This marker is passed to Deoptimizer::New as {deopt_exit_index} on
- // platforms that have fixed deopt sizes (see also
- // kSupportsFixedDeoptExitSizes). The actual deoptimization id is then
+ // platforms that have fixed deopt sizes. The actual deoptimization id is then
// calculated from the return address.
static constexpr unsigned kFixedExitSizeMarker = kMaxUInt32;
- // Set to true when the architecture supports deoptimization exit sequences
- // of a fixed size, that can be sorted so that the deoptimization index is
- // deduced from the address of the deoptimization exit.
- // TODO(jgruber): Remove this, and support for variable deopt exit sizes,
- // once all architectures use fixed exit sizes.
- V8_EXPORT_PRIVATE static const bool kSupportsFixedDeoptExitSizes;
-
- // Size of deoptimization exit sequence. This is only meaningful when
- // kSupportsFixedDeoptExitSizes is true.
- V8_EXPORT_PRIVATE static const int kNonLazyDeoptExitSize;
+ // Size of deoptimization exit sequence.
+ V8_EXPORT_PRIVATE static const int kEagerDeoptExitSize;
V8_EXPORT_PRIVATE static const int kLazyDeoptExitSize;
// Tracing.
@@ -145,7 +135,7 @@ class Deoptimizer : public Malloced {
const TranslatedFrame::iterator& iterator);
Deoptimizer(Isolate* isolate, JSFunction function, DeoptimizeKind kind,
- unsigned deopt_exit_index, Address from, int fp_to_sp_delta);
+ Address from, int fp_to_sp_delta);
Code FindOptimizedCode();
void DeleteFrameDescriptions();
@@ -182,11 +172,11 @@ class Deoptimizer : public Malloced {
Code FindDeoptimizingCode(Address addr);
// Tracing.
- bool tracing_enabled() const { return static_cast<bool>(trace_scope_); }
+ bool tracing_enabled() const { return trace_scope_ != nullptr; }
bool verbose_tracing_enabled() const {
- return FLAG_trace_deopt_verbose && trace_scope_;
+ return FLAG_trace_deopt_verbose && tracing_enabled();
}
- CodeTracer::Scope* trace_scope() const { return trace_scope_.get(); }
+ CodeTracer::Scope* trace_scope() const { return trace_scope_; }
CodeTracer::Scope* verbose_trace_scope() const {
return FLAG_trace_deopt_verbose ? trace_scope() : nullptr;
}
@@ -239,7 +229,9 @@ class Deoptimizer : public Malloced {
DisallowGarbageCollection* disallow_garbage_collection_;
#endif // DEBUG
- std::unique_ptr<CodeTracer::Scope> trace_scope_;
+ // Note: This is intentionally not a unique_ptr s.t. the Deoptimizer
+ // satisfies is_standard_layout, needed for offsetof().
+ CodeTracer::Scope* const trace_scope_;
friend class DeoptimizedFrameInfo;
friend class FrameDescription;
diff --git a/deps/v8/src/deoptimizer/ia32/deoptimizer-ia32.cc b/deps/v8/src/deoptimizer/ia32/deoptimizer-ia32.cc
index 4fcb22c209..7507ba279f 100644
--- a/deps/v8/src/deoptimizer/ia32/deoptimizer-ia32.cc
+++ b/deps/v8/src/deoptimizer/ia32/deoptimizer-ia32.cc
@@ -9,8 +9,7 @@
namespace v8 {
namespace internal {
-const bool Deoptimizer::kSupportsFixedDeoptExitSizes = true;
-const int Deoptimizer::kNonLazyDeoptExitSize = 5;
+const int Deoptimizer::kEagerDeoptExitSize = 5;
const int Deoptimizer::kLazyDeoptExitSize = 5;
Float32 RegisterValues::GetFloatRegister(unsigned n) const {
diff --git a/deps/v8/src/deoptimizer/loong64/deoptimizer-loong64.cc b/deps/v8/src/deoptimizer/loong64/deoptimizer-loong64.cc
index 73d71036ed..f513e3fbab 100644
--- a/deps/v8/src/deoptimizer/loong64/deoptimizer-loong64.cc
+++ b/deps/v8/src/deoptimizer/loong64/deoptimizer-loong64.cc
@@ -7,8 +7,7 @@
namespace v8 {
namespace internal {
-const bool Deoptimizer::kSupportsFixedDeoptExitSizes = true;
-const int Deoptimizer::kNonLazyDeoptExitSize = 2 * kInstrSize;
+const int Deoptimizer::kEagerDeoptExitSize = 2 * kInstrSize;
const int Deoptimizer::kLazyDeoptExitSize = 2 * kInstrSize;
Float32 RegisterValues::GetFloatRegister(unsigned n) const {
diff --git a/deps/v8/src/deoptimizer/mips/deoptimizer-mips.cc b/deps/v8/src/deoptimizer/mips/deoptimizer-mips.cc
index c20b5c5ecf..62a7f45788 100644
--- a/deps/v8/src/deoptimizer/mips/deoptimizer-mips.cc
+++ b/deps/v8/src/deoptimizer/mips/deoptimizer-mips.cc
@@ -7,8 +7,7 @@
namespace v8 {
namespace internal {
-const bool Deoptimizer::kSupportsFixedDeoptExitSizes = true;
-const int Deoptimizer::kNonLazyDeoptExitSize = 3 * kInstrSize;
+const int Deoptimizer::kEagerDeoptExitSize = 3 * kInstrSize;
const int Deoptimizer::kLazyDeoptExitSize = 3 * kInstrSize;
Float32 RegisterValues::GetFloatRegister(unsigned n) const {
diff --git a/deps/v8/src/deoptimizer/mips64/deoptimizer-mips64.cc b/deps/v8/src/deoptimizer/mips64/deoptimizer-mips64.cc
index c20b5c5ecf..62a7f45788 100644
--- a/deps/v8/src/deoptimizer/mips64/deoptimizer-mips64.cc
+++ b/deps/v8/src/deoptimizer/mips64/deoptimizer-mips64.cc
@@ -7,8 +7,7 @@
namespace v8 {
namespace internal {
-const bool Deoptimizer::kSupportsFixedDeoptExitSizes = true;
-const int Deoptimizer::kNonLazyDeoptExitSize = 3 * kInstrSize;
+const int Deoptimizer::kEagerDeoptExitSize = 3 * kInstrSize;
const int Deoptimizer::kLazyDeoptExitSize = 3 * kInstrSize;
Float32 RegisterValues::GetFloatRegister(unsigned n) const {
diff --git a/deps/v8/src/deoptimizer/ppc/deoptimizer-ppc.cc b/deps/v8/src/deoptimizer/ppc/deoptimizer-ppc.cc
index c315743111..5a2557c24d 100644
--- a/deps/v8/src/deoptimizer/ppc/deoptimizer-ppc.cc
+++ b/deps/v8/src/deoptimizer/ppc/deoptimizer-ppc.cc
@@ -16,11 +16,9 @@ namespace internal {
0x1000)
ASSERT_OFFSET(Builtin::kDeoptimizationEntry_Eager);
ASSERT_OFFSET(Builtin::kDeoptimizationEntry_Lazy);
-ASSERT_OFFSET(Builtin::kDeoptimizationEntry_Soft);
#undef ASSERT_OFFSET
-const bool Deoptimizer::kSupportsFixedDeoptExitSizes = true;
-const int Deoptimizer::kNonLazyDeoptExitSize = 3 * kInstrSize;
+const int Deoptimizer::kEagerDeoptExitSize = 3 * kInstrSize;
const int Deoptimizer::kLazyDeoptExitSize = 3 * kInstrSize;
Float32 RegisterValues::GetFloatRegister(unsigned n) const {
diff --git a/deps/v8/src/deoptimizer/riscv64/deoptimizer-riscv64.cc b/deps/v8/src/deoptimizer/riscv64/deoptimizer-riscv64.cc
index 73d71036ed..f513e3fbab 100644
--- a/deps/v8/src/deoptimizer/riscv64/deoptimizer-riscv64.cc
+++ b/deps/v8/src/deoptimizer/riscv64/deoptimizer-riscv64.cc
@@ -7,8 +7,7 @@
namespace v8 {
namespace internal {
-const bool Deoptimizer::kSupportsFixedDeoptExitSizes = true;
-const int Deoptimizer::kNonLazyDeoptExitSize = 2 * kInstrSize;
+const int Deoptimizer::kEagerDeoptExitSize = 2 * kInstrSize;
const int Deoptimizer::kLazyDeoptExitSize = 2 * kInstrSize;
Float32 RegisterValues::GetFloatRegister(unsigned n) const {
diff --git a/deps/v8/src/deoptimizer/s390/deoptimizer-s390.cc b/deps/v8/src/deoptimizer/s390/deoptimizer-s390.cc
index 9db7bf722f..95028c0e65 100644
--- a/deps/v8/src/deoptimizer/s390/deoptimizer-s390.cc
+++ b/deps/v8/src/deoptimizer/s390/deoptimizer-s390.cc
@@ -16,11 +16,9 @@ namespace internal {
0x1000)
ASSERT_OFFSET(Builtin::kDeoptimizationEntry_Eager);
ASSERT_OFFSET(Builtin::kDeoptimizationEntry_Lazy);
-ASSERT_OFFSET(Builtin::kDeoptimizationEntry_Soft);
#undef ASSERT_OFFSET
-const bool Deoptimizer::kSupportsFixedDeoptExitSizes = true;
-const int Deoptimizer::kNonLazyDeoptExitSize = 6 + 2;
+const int Deoptimizer::kEagerDeoptExitSize = 6 + 2;
const int Deoptimizer::kLazyDeoptExitSize = 6 + 2;
Float32 RegisterValues::GetFloatRegister(unsigned n) const {
diff --git a/deps/v8/src/deoptimizer/x64/deoptimizer-x64.cc b/deps/v8/src/deoptimizer/x64/deoptimizer-x64.cc
index 1fba0c6e2d..29c56e61ac 100644
--- a/deps/v8/src/deoptimizer/x64/deoptimizer-x64.cc
+++ b/deps/v8/src/deoptimizer/x64/deoptimizer-x64.cc
@@ -18,11 +18,9 @@ namespace internal {
0x7F)
ASSERT_OFFSET(Builtin::kDeoptimizationEntry_Eager);
ASSERT_OFFSET(Builtin::kDeoptimizationEntry_Lazy);
-ASSERT_OFFSET(Builtin::kDeoptimizationEntry_Soft);
#undef ASSERT_OFFSET
-const bool Deoptimizer::kSupportsFixedDeoptExitSizes = true;
-const int Deoptimizer::kNonLazyDeoptExitSize = 4;
+const int Deoptimizer::kEagerDeoptExitSize = 4;
const int Deoptimizer::kLazyDeoptExitSize = 4;
Float32 RegisterValues::GetFloatRegister(unsigned n) const {