⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 259558 in webkit


Ignore:
Timestamp:
Apr 5, 2020, 4:25:16 PM (6 years ago)
Author:
ysuzuki@apple.com
Message:

Putting "memory" back to ensureStillAliveHere
https://bugs.webkit.org/show_bug.cgi?id=210028

Reviewed by Keith Miller.

We put "memory" back to make ensureStillAliveHere compiler-barrier.

  • runtime/EnsureStillAliveHere.h:

(JSC::ensureStillAliveHere):

  • runtime/JSCJSValue.h:

(JSC::ensureStillAliveHere):

Location:
trunk/Source/JavaScriptCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r259556 r259558  
     12020-04-05  Yusuke Suzuki  <ysuzuki@apple.com>
     2
     3        Putting "memory" back to ensureStillAliveHere
     4        https://bugs.webkit.org/show_bug.cgi?id=210028
     5
     6        Reviewed by Keith Miller.
     7
     8        We put "memory" back to make ensureStillAliveHere compiler-barrier.
     9
     10        * runtime/EnsureStillAliveHere.h:
     11        (JSC::ensureStillAliveHere):
     12        * runtime/JSCJSValue.h:
     13        (JSC::ensureStillAliveHere):
     14
    1152020-04-05  Mark Lam  <mark.lam@apple.com>
    216
  • trunk/Source/JavaScriptCore/runtime/EnsureStillAliveHere.h

    r259554 r259558  
    3232ALWAYS_INLINE void ensureStillAliveHere(uint64_t value)
    3333{
    34     asm volatile ("" : : "g"(value) : );
     34    asm volatile ("" : : "g"(value) : "memory");
    3535}
    3636
    3737ALWAYS_INLINE void ensureStillAliveHere(const void* pointer)
    3838{
    39     asm volatile ("" : : "g"(pointer) : );
     39    asm volatile ("" : : "g"(pointer) : "memory");
    4040}
    4141
  • trunk/Source/JavaScriptCore/runtime/JSCJSValue.h

    r259554 r259558  
    643643{
    644644#if USE(JSVALUE64)
    645     asm volatile ("" : : "g"(bitwise_cast<uint64_t>(value)) : );
     645    asm volatile ("" : : "g"(bitwise_cast<uint64_t>(value)) : "memory");
    646646#else
    647     asm volatile ("" : : "g"(value.payload()) : );
     647    asm volatile ("" : : "g"(value.payload()) : "memory");
    648648#endif
    649649}
Note: See TracChangeset for help on using the changeset viewer.