Skip to content
  • ggaren@apple.com's avatar
    ARMv7 should support spinlocks · 3627271f
    ggaren@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=88957
    
    Reviewed by Darin Adler.
    
    More info @ http://infocenter.arm.com/help/topic/
    com.arm.doc.genc007826/Barrier_Litmus_Tests_and_Cookbook_A08.pdf
    
    * wtf/Atomics.h:
    (WTF::memoryBarrierAfterLock):
    (WTF::memoryBarrierBeforeUnlock): Added memory barrier primitives since
    ARMv7 has a weakly ordered memory model.
    
    * wtf/Platform.h: Enabled compare-and-swap on Windows so our spinlock
    implementation would continue working on Windows.
    
    * wtf/TCSpinLock.h:
    (TCMalloc_SpinLock::Lock):
    (TCMalloc_SpinLock::Unlock):
    (TCMalloc_SpinLock): Use our compare-and-swap helper function to avoid
    rewriting it in assembly here.
    
    Added memory barriers since ARMv7 needs them.
    
    Removed PPC support because our helper function doesn't support PPC.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120356 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    3627271f