[webkit-changes] [WebKit/WebKit] e71ed7: [JSC] Reduce unnecessary backtracking code in YarrJIT
Yusuke Suzuki
noreply at github.com
Mon Aug 26 09:46:28 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e71ed7766520ecd35b761622f07967a5593d83bb
https://github.com/WebKit/WebKit/commit/e71ed7766520ecd35b761622f07967a5593d83bb
Author: Yusuke Suzuki <ysuzuki at apple.com>
Date: 2024-08-26 (Mon, 26 Aug 2024)
Changed paths:
M Source/JavaScriptCore/yarr/YarrJIT.cpp
Log Message:
-----------
[JSC] Reduce unnecessary backtracking code in YarrJIT
https://bugs.webkit.org/show_bug.cgi?id=278617
rdar://134636872
Reviewed by Yijia Huang.
When the next op is also one character PatternCharacterClass, backtracking should not load index register
since the next op will override it anyway.
Before:
57:Term PatternCharacterClass checked-offset:(10) [Unicode:(0x1f0a2,0x1f0b2,0x1f0c2,0x1f0d2)]
<4472> 0x10f3a2078: ldur x1, [sp, #64]
56:Term PatternCharacterClass checked-offset:(10) [Unicode:(0x1f0a3,0x1f0b3,0x1f0c3,0x1f0d3)]
<4476> 0x10f3a207c: ldur x1, [sp, #48]
55:Term PatternCharacterClass checked-offset:(10) [Unicode:(0x1f0a4,0x1f0b4,0x1f0c4,0x1f0d4)]
<4480> 0x10f3a2080: ldur x1, [sp, #32]
54:Term PatternCharacterClass checked-offset:(10) [Unicode:(0x1f0a5,0x1f0b5,0x1f0c5,0x1f0d5)]
<4484> 0x10f3a2084: ldur x1, [sp, #16]
53:Term PatternCharacterClass checked-offset:(10) [Unicode:(0x1f0a6,0x1f0b6,0x1f0c6,0x1f0d6)]
<4488> 0x10f3a2088: ldur x1, [sp]
52:BodyAlternativeNext minimum-size:(10),checked-offset:(10)
<4492> 0x10f3a208c: b 0x10f3a1e78 -> <3960>
After:
57:Term PatternCharacterClass checked-offset:(10) [Unicode:(0x1f0a2,0x1f0b2,0x1f0c2,0x1f0d2)]
56:Term PatternCharacterClass checked-offset:(10) [Unicode:(0x1f0a3,0x1f0b3,0x1f0c3,0x1f0d3)]
55:Term PatternCharacterClass checked-offset:(10) [Unicode:(0x1f0a4,0x1f0b4,0x1f0c4,0x1f0d4)]
54:Term PatternCharacterClass checked-offset:(10) [Unicode:(0x1f0a5,0x1f0b5,0x1f0c5,0x1f0d5)]
53:Term PatternCharacterClass checked-offset:(10) [Unicode:(0x1f0a6,0x1f0b6,0x1f0c6,0x1f0d6)]
<3656> 0x11e840e48: ldur x1, [sp]
52:BodyAlternativeNext minimum-size:(10),checked-offset:(10)
<3660> 0x11e840e4c: b 0x11e840ca8 -> <3240>
* Source/JavaScriptCore/yarr/YarrJIT.cpp:
Canonical link: https://commits.webkit.org/282746@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list