Ignore:
Timestamp:
Aug 26, 2021, 3:43:32 PM (4 years ago)
Author:
[email protected]
Message:

r281485 was not sufficient in where it called disablePeepholeOptimization
https://bugs.webkit.org/show_bug.cgi?id=229582
<rdar://82346980>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/for-in-disable-bytecode-generator-peephole-optimizations-after-rewrite-2.js: Added.

(foo):

Source/JavaScriptCore:

r281485 accidentally deleted a place where we called disablePeepholeOptimization
that was necessary. Basically, after we seek where the current instruction
in BytecodeGenerator is, we need to disablePeepholeOptimization.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::ForInContext::finalize):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp

    r281485 r281665  
    53875387
    53885388        generator.m_writer.seek(branchInstIndex);
     5389        generator.disablePeepholeOptimization();
    53895390
    53905391        OpJmp::emit(&generator, BoundLabel(static_cast<int>(newBranchTarget) - static_cast<int>(branchInstIndex)));
     
    53945395    }
    53955396
     5397    generator.m_writer.seek(generator.m_writer.size());
    53965398    generator.disablePeepholeOptimization(); // We might've just changed the last bytecode that was emitted.
    5397 
    5398     generator.m_writer.seek(generator.m_writer.size());
    53995399}
    54005400
Note: See TracChangeset for help on using the changeset viewer.