Changeset 224217 in webkit


Ignore:
Timestamp:
Oct 30, 2017 6:15:08 PM (6 years ago)
Author:
sbarati@apple.com
Message:

We need a storeStoreFence before storing to the instruction stream's live variable catch data
https://bugs.webkit.org/show_bug.cgi?id=178649

Reviewed by Keith Miller.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeOffsetSlow):

Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r224192 r224217  
     12017-10-30  Saam Barati  <sbarati@apple.com>
     2
     3        We need a storeStoreFence before storing to the instruction stream's live variable catch data
     4        https://bugs.webkit.org/show_bug.cgi?id=178649
     5
     6        Reviewed by Keith Miller.
     7
     8        * bytecode/CodeBlock.cpp:
     9        (JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeOffsetSlow):
     10
    1112017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
    212
  • trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp

    r224138 r224217  
    17431743    for (unsigned i = 0; i < profiles->m_size; ++i)
    17441744        profiles->m_buffer.get()[i].m_operand = liveOperands[i].offset();
     1745
     1746    // The compiler thread will read this pointer value and then proceed to dereference it
     1747    // if it is not null. We need to make sure all above stores happen before this store so
     1748    // the compiler thread reads fully initialized data.
     1749    WTF::storeStoreFence();
     1750
    17451751    m_instructions[bytecodeOffset + 3].u.pointer = profiles.get();
    17461752
Note: See TracChangeset for help on using the changeset viewer.