[liftoff] Remove simulator-only bailout

This makes sure that the code tested by fuzzers is the same as running
on native hardware.

R=ahaas@chromium.org

Bug: v8:11041
Change-Id: I1005b2de3a22d88a6bdf164338633bbb7991bc1f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2573481
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71613}
This commit is contained in:
Clemens Backes 2020-12-04 14:28:05 +01:00 committed by Commit Bot
parent 22d5ac913e
commit d25be6eb4a

View File

@ -477,16 +477,18 @@ void LiftoffAssembler::PatchPrepareStackFrame(int offset) {
// anymore.
int frame_size = GetTotalFrameSize() - kSystemPointerSize;
#ifdef USE_SIMULATOR
// When using the simulator, deal with Liftoff which allocates the stack
// before checking it.
// TODO(arm): Remove this when the stack check mechanism will be updated.
// Note: This check is only needed for simulator runs, but we run it
// unconditionally to make sure that the simulator executes the same code
// that's also executed on native hardware (see https://crbug.com/v8/11041).
if (frame_size > KB / 2) {
bailout(kOtherReason,
"Stack limited to 512 bytes to avoid a bug in StackCheck");
return;
}
#endif
PatchingAssembler patching_assembler(AssemblerOptions{},
buffer_start_ + offset,
liftoff::kPatchInstructionsRequired);