Commit af6ac58d authored by Clemens Backes's avatar Clemens Backes Committed by Commit Bot

[disassembler] Fix unimplemented instruction

After appending 'unimplemented instruction' we need to increase the data
pointer to avoid an endless loop and to fulfill a later DCHECK.

R=jkummerow@chromium.org

Bug: chromium:1201114
Change-Id: I707809f81a4d9a6b3653b94b4836482c006b76ad
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2843819Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74108}
parent daed75d0
......@@ -368,7 +368,7 @@ class DisassemblerIA32 {
Disassembler::kAbortOnUnimplementedOpcode) {
FATAL("Unimplemented instruction in disassembler");
} else {
AppendToBuffer("'Unimplemented Instruction'");
AppendToBuffer("'Unimplemented instruction'");
}
}
};
......@@ -2076,6 +2076,7 @@ int DisassemblerIA32::InstructionDecode(v8::internal::Vector<char> out_buffer,
data += 3;
} else {
UnimplementedInstruction();
data += 1;
}
} break;
......
// Copyright 2021 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.
// Flags: --turboprop --allow-natives-syntax --print-code
var a = {b: 1};
function nop() { return false; }
function __f_4(a) { return a; }
function __f_5(__v_2) {
__f_4(__v_2.a);
nop(__f_5)&a.b;
}
%PrepareFunctionForOptimization(__f_5);
__f_5(true);
%OptimizeFunctionOnNextCall(__f_5);
try {
__f_5();
} catch {}
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