diff -rupN --no-dereference qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb qtwebkit-5.212.0-alpha4-new/Source/JavaScriptCore/offlineasm/parser.rb
--- qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb 2020-03-04 18:16:37.000000000 +0100
+++ qtwebkit-5.212.0-alpha4-new/Source/JavaScriptCore/offlineasm/parser.rb 2024-01-29 23:06:54.947371369 +0100
@@ -584,9 +584,7 @@ class Parser
firstCodeOrigin = @tokens[@idx].codeOrigin
list = []
loop {
- if (@idx == @tokens.length and not final) or (final and @tokens[@idx] =~ final)
- break
- elsif @tokens[@idx].is_a? Annotation
+ if @tokens[@idx].is_a? Annotation
# This is the only place where we can encounter a global
# annotation, and hence need to be able to distinguish between
# them.
@@ -600,6 +598,8 @@ class Parser
list << Instruction.new(codeOrigin, annotationOpcode, [], @tokens[@idx].string)
@annotation = nil
@idx += 2 # Consume the newline as well.
+ elsif (@idx == @tokens.length and not final) or (final and @tokens[@idx] =~ final)
+ break
elsif @tokens[@idx] == "\n"
# ignore
@idx += 1