[maglev] Fix regexp-tier-up-multiple flakes

This test breaks when interrupts occur with unfortunate timing. Maglev
increases flakiness of this test since finished Maglev compiles all
raise a new interrupt (and interrupts abort-and-retry regexp
execution).

Disable concurrent recompilation for this test, and drive-by fix the
--trace-regexp-tier-up flag.

Bug: v8:7700
Change-Id: I170c911fe2308b0b5ad9941e695f11f8925455f3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3904604
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Jakob Linke <jgruber@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#83359}
This commit is contained in:
Jakob Linke 2022-09-19 15:22:18 +02:00 committed by V8 LUCI CQ
parent 843a3ce324
commit e414442717
2 changed files with 7 additions and 3 deletions

View File

@ -99,7 +99,7 @@ class RegExpImpl final : public AllStatic {
static void SetIrregexpMaxRegisterCount(FixedArray re, int value);
static int IrregexpNumberOfCaptures(FixedArray re);
static ByteArray IrregexpByteCode(FixedArray re, bool is_one_byte);
static Code IrregexpNativeCode(FixedArray re, bool is_one_byte);
static CodeT IrregexpNativeCode(FixedArray re, bool is_one_byte);
};
// static
@ -629,8 +629,8 @@ ByteArray RegExpImpl::IrregexpByteCode(FixedArray re, bool is_one_byte) {
return ByteArray::cast(re.get(JSRegExp::bytecode_index(is_one_byte)));
}
Code RegExpImpl::IrregexpNativeCode(FixedArray re, bool is_one_byte) {
return Code::cast(re.get(JSRegExp::code_index(is_one_byte)));
CodeT RegExpImpl::IrregexpNativeCode(FixedArray re, bool is_one_byte) {
return CodeT::cast(re.get(JSRegExp::code_index(is_one_byte)));
}
void RegExpImpl::IrregexpInitialize(Isolate* isolate, Handle<JSRegExp> re,

View File

@ -7,6 +7,10 @@
// Flags: --regexp-tier-up --regexp-tier-up-ticks=5
// Flags: --allow-natives-syntax --no-force-slow-path --no-regexp-interpret-all
// Flags: --no-enable-experimental-regexp-engine
//
// Concurrent compiles can trigger interrupts which would cause regexp
// re-execution and thus mess with test expectations below.
// Flags: --no-concurrent-recompilation
const kLatin1 = true;
const kUnicode = false;