Ignore:
Timestamp:
Apr 30, 2018, 5:04:44 PM (7 years ago)
Author:
[email protected]
Message:

LICM shouldn't hoist nodes if hoisted nodes exited in that code block
https://bugs.webkit.org/show_bug.cgi?id=185126

Reviewed by Saam Barati.

JSTests:

I found this bug by accident when I was writing this test for something else.

This change also speeds up other benchmarks of this case that we already had. They are all called
the licm-dragons tests.

  • microbenchmarks/licm-dragons-two-structures.js: Added.

(foo):

Source/JavaScriptCore:

This change is just restoring functionality that we've already had for a while. It had been
accidentally broken due to an unrelated CodeBlock refactoring.

  • dfg/DFGLICMPhase.cpp:

(JSC::DFG::LICMPhase::attemptHoist):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/dfg/DFGLICMPhase.cpp

    r228565 r231185  
    282282       
    283283        if (addsBlindSpeculation
    284             && m_graph.hasExitSite(originalOrigin.semantic, HoistingFailed)) {
     284            && m_graph.hasGlobalExitSite(originalOrigin.semantic, HoistingFailed)) {
    285285            if (verbose) {
    286286                dataLog(
Note: See TracChangeset for help on using the changeset viewer.