Commit e4144427 authored by Jakob Linke's avatar Jakob Linke Committed by V8 LUCI CQ

[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/+/3904604Reviewed-by: 's avatarLeszek 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}
parent 843a3ce3
...@@ -99,7 +99,7 @@ class RegExpImpl final : public AllStatic { ...@@ -99,7 +99,7 @@ class RegExpImpl final : public AllStatic {
static void SetIrregexpMaxRegisterCount(FixedArray re, int value); static void SetIrregexpMaxRegisterCount(FixedArray re, int value);
static int IrregexpNumberOfCaptures(FixedArray re); static int IrregexpNumberOfCaptures(FixedArray re);
static ByteArray IrregexpByteCode(FixedArray re, bool is_one_byte); 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 // static
...@@ -629,8 +629,8 @@ ByteArray RegExpImpl::IrregexpByteCode(FixedArray re, bool is_one_byte) { ...@@ -629,8 +629,8 @@ ByteArray RegExpImpl::IrregexpByteCode(FixedArray re, bool is_one_byte) {
return ByteArray::cast(re.get(JSRegExp::bytecode_index(is_one_byte))); return ByteArray::cast(re.get(JSRegExp::bytecode_index(is_one_byte)));
} }
Code RegExpImpl::IrregexpNativeCode(FixedArray re, bool is_one_byte) { CodeT RegExpImpl::IrregexpNativeCode(FixedArray re, bool is_one_byte) {
return Code::cast(re.get(JSRegExp::code_index(is_one_byte))); return CodeT::cast(re.get(JSRegExp::code_index(is_one_byte)));
} }
void RegExpImpl::IrregexpInitialize(Isolate* isolate, Handle<JSRegExp> re, void RegExpImpl::IrregexpInitialize(Isolate* isolate, Handle<JSRegExp> re,
......
...@@ -7,6 +7,10 @@ ...@@ -7,6 +7,10 @@
// Flags: --regexp-tier-up --regexp-tier-up-ticks=5 // Flags: --regexp-tier-up --regexp-tier-up-ticks=5
// Flags: --allow-natives-syntax --no-force-slow-path --no-regexp-interpret-all // Flags: --allow-natives-syntax --no-force-slow-path --no-regexp-interpret-all
// Flags: --no-enable-experimental-regexp-engine // 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 kLatin1 = true;
const kUnicode = false; const kUnicode = false;
......
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