Commit 506e893b authored by Jakob Gruber's avatar Jakob Gruber Committed by Commit Bot

[deoptimizer] Stricter checks during deoptimization

.. to verify that the trampoline_pc has been set.

Bug: chromium:1161357
Change-Id: If7e1a13cff9919e2e8a65c095d80dfcef2dc05cb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2606333
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Auto-Submit: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71896}
parent 9327fbdd
......@@ -267,6 +267,7 @@ class ActivationsFinder : public ThreadVisitor {
SafepointEntry safepoint = code.GetSafepointEntry(it.frame()->pc());
int trampoline_pc = safepoint.trampoline_pc();
DCHECK_IMPLIES(code == topmost_, safe_to_deopt_);
CHECK_GE(trampoline_pc, 0);
// Replace the current pc on the stack with the trampoline.
// TODO(v8:10026): avoid replacing a signed pointer.
Address* pc_addr = it.frame()->pc_address();
......
......@@ -73,6 +73,10 @@
# https://crbug.com/1129854
'tools/log': ['arch == arm or arch == arm64', SKIP],
# crbug.com/1161357
# TODO(solanes): Remove this entry once the underlying issue is fixed.
'regress/regress-1161357': [PASS, FAIL],
##############################################################################
# Tests where variants make no sense.
'd8/enable-tracing': [PASS, NO_VARIANTS],
......
// Copyright 2020 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
for (let i = 0; i < 3; i++) {
for (let j = 0; j < 32767; j++) {
Number;
}
for (let j = 0; j < 2335; j++) {
Number;
}
var arr = [, ...(new Int16Array(0xffff)), 4294967296];
arr.concat(Number, arr)
}
eval(``);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment