Title: [163556] trunk/Source
Revision
163556
Author
[email protected]
Date
2014-02-06 12:22:43 -0800 (Thu, 06 Feb 2014)

Log Message

Unreviewed, rolling out r163542.
http://trac.webkit.org/changeset/163542
https://bugs.webkit.org/show_bug.cgi?id=128324

Caused many assertion failures (Requested by ap on #webkit).

Source/_javascript_Core:

* GNUmakefile.list.am:
* _javascript_Core.vcxproj/_javascript_Core.vcxproj:
* _javascript_Core.vcxproj/_javascript_Core.vcxproj.filters:
* _javascript_Core.xcodeproj/project.pbxproj:
* heap/CopyWriteBarrier.h:
(JSC::CopyWriteBarrier::set):
* heap/Heap.cpp:
(JSC::Heap::writeBarrier):
* heap/Heap.h:
(JSC::Heap::writeBarrier):
* jit/JITOperations.cpp:
* jit/JITWriteBarrier.h:
(JSC::JITWriteBarrierBase::set):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::llint_write_barrier_slow):
* runtime/Arguments.h:
* runtime/JSWeakMap.cpp:
* runtime/MapData.cpp:
(JSC::MapData::ensureSpaceForAppend):
* runtime/PropertyTable.cpp:
(JSC::PropertyTable::PropertyTable):
* runtime/Structure.h:
* runtime/WriteBarrier.h:
(JSC::WriteBarrierBase::set):
(JSC::WriteBarrierBase::setMayBeNull):
(JSC::WriteBarrierBase::setEarlyValue):
(JSC::WriteBarrierBase<Unknown>::set):
* runtime/WriteBarrierInlines.h: Removed.

Source/WebCore:

* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::JSEventListener):
* bindings/js/JSEventListener.h:
(WebCore::JSEventListener::jsFunction):

Modified Paths

Removed Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (163555 => 163556)


--- trunk/Source/_javascript_Core/ChangeLog	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-02-06 20:22:43 UTC (rev 163556)
@@ -1,3 +1,40 @@
+2014-02-06  Commit Queue  <[email protected]>
+
+        Unreviewed, rolling out r163542.
+        http://trac.webkit.org/changeset/163542
+        https://bugs.webkit.org/show_bug.cgi?id=128324
+
+        Caused many assertion failures (Requested by ap on #webkit).
+
+        * GNUmakefile.list.am:
+        * _javascript_Core.vcxproj/_javascript_Core.vcxproj:
+        * _javascript_Core.vcxproj/_javascript_Core.vcxproj.filters:
+        * _javascript_Core.xcodeproj/project.pbxproj:
+        * heap/CopyWriteBarrier.h:
+        (JSC::CopyWriteBarrier::set):
+        * heap/Heap.cpp:
+        (JSC::Heap::writeBarrier):
+        * heap/Heap.h:
+        (JSC::Heap::writeBarrier):
+        * jit/JITOperations.cpp:
+        * jit/JITWriteBarrier.h:
+        (JSC::JITWriteBarrierBase::set):
+        * llint/LLIntSlowPaths.cpp:
+        (JSC::LLInt::llint_write_barrier_slow):
+        * runtime/Arguments.h:
+        * runtime/JSWeakMap.cpp:
+        * runtime/MapData.cpp:
+        (JSC::MapData::ensureSpaceForAppend):
+        * runtime/PropertyTable.cpp:
+        (JSC::PropertyTable::PropertyTable):
+        * runtime/Structure.h:
+        * runtime/WriteBarrier.h:
+        (JSC::WriteBarrierBase::set):
+        (JSC::WriteBarrierBase::setMayBeNull):
+        (JSC::WriteBarrierBase::setEarlyValue):
+        (JSC::WriteBarrierBase<Unknown>::set):
+        * runtime/WriteBarrierInlines.h: Removed.
+
 2014-02-06  Oliver Hunt  <[email protected]>
 
         Make 32bit pass the correct this value to custom getters

Modified: trunk/Source/_javascript_Core/GNUmakefile.list.am (163555 => 163556)


--- trunk/Source/_javascript_Core/GNUmakefile.list.am	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/_javascript_Core/GNUmakefile.list.am	2014-02-06 20:22:43 UTC (rev 163556)
@@ -1221,7 +1221,6 @@
 	Source/_javascript_Core/runtime/WeakMapPrototype.h \
 	Source/_javascript_Core/runtime/WeakRandom.h \
 	Source/_javascript_Core/runtime/WriteBarrier.h \
-    Source/_javascript_Core/runtime/WriteBarrierInlines.h \
 	Source/_javascript_Core/tools/CodeProfile.cpp \
 	Source/_javascript_Core/tools/CodeProfile.h \
 	Source/_javascript_Core/tools/CodeProfiling.cpp \

Modified: trunk/Source/_javascript_Core/_javascript_Core.vcxproj/_javascript_Core.vcxproj (163555 => 163556)


--- trunk/Source/_javascript_Core/_javascript_Core.vcxproj/_javascript_Core.vcxproj	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/_javascript_Core/_javascript_Core.vcxproj/_javascript_Core.vcxproj	2014-02-06 20:22:43 UTC (rev 163556)
@@ -1388,7 +1388,6 @@
     <ClInclude Include="..\runtime\WeakMapPrototype.h" />
     <ClInclude Include="..\runtime\WeakRandom.h" />
     <ClInclude Include="..\runtime\WriteBarrier.h" />
-    <ClInclude Include="..\runtime\WriteBarrierInlines.h" />
     <ClInclude Include="..\tools\CodeProfile.h" />
     <ClInclude Include="..\tools\CodeProfiling.h" />
     <ClInclude Include="..\tools\ProfileTreeNode.h" />

Modified: trunk/Source/_javascript_Core/_javascript_Core.vcxproj/_javascript_Core.vcxproj.filters (163555 => 163556)


--- trunk/Source/_javascript_Core/_javascript_Core.vcxproj/_javascript_Core.vcxproj.filters	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/_javascript_Core/_javascript_Core.vcxproj/_javascript_Core.vcxproj.filters	2014-02-06 20:22:43 UTC (rev 163556)
@@ -2438,9 +2438,6 @@
     <ClInclude Include="..\runtime\WriteBarrier.h">
       <Filter>runtime</Filter>
     </ClInclude>
-    <ClInclude Include="..\runtime\WriteBarrierInlines.h">
-      <Filter>runtime</Filter>
-    </ClInclude>
     <ClInclude Include="..\tools\CodeProfile.h">
       <Filter>tools</Filter>
     </ClInclude>

Modified: trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj (163555 => 163556)


--- trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj	2014-02-06 20:22:43 UTC (rev 163556)
@@ -1333,7 +1333,6 @@
 		C2981FDD17BAFF4400A3BC98 /* DFGDesiredWriteBarriers.h in Headers */ = {isa = PBXBuildFile; fileRef = C2981FDB17BAFF4400A3BC98 /* DFGDesiredWriteBarriers.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		C29ECB031804D0ED00D2CBB4 /* CurrentThisInsideBlockGetterTest.mm in Sources */ = {isa = PBXBuildFile; fileRef = C29ECB011804D0ED00D2CBB4 /* CurrentThisInsideBlockGetterTest.mm */; };
 		C2A7F688160432D400F76B98 /* JSDestructibleObject.h in Headers */ = {isa = PBXBuildFile; fileRef = C2A7F687160432D400F76B98 /* JSDestructibleObject.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		C2B6D75318A33793004A9301 /* WriteBarrierInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = C2B6D75218A33793004A9301 /* WriteBarrierInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		C2B916C214DA014E00CBAC86 /* MarkedAllocator.h in Headers */ = {isa = PBXBuildFile; fileRef = C2B916C114DA014E00CBAC86 /* MarkedAllocator.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		C2B916C514DA040C00CBAC86 /* MarkedAllocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2B916C414DA040C00CBAC86 /* MarkedAllocator.cpp */; };
 		C2C0F7CD17BBFC5B00464FE4 /* DFGDesiredTransitions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2C0F7CB17BBFC5B00464FE4 /* DFGDesiredTransitions.cpp */; };
@@ -2766,7 +2765,6 @@
 		C29ECB011804D0ED00D2CBB4 /* CurrentThisInsideBlockGetterTest.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = CurrentThisInsideBlockGetterTest.mm; path = API/tests/CurrentThisInsideBlockGetterTest.mm; sourceTree = "<group>"; };
 		C29ECB021804D0ED00D2CBB4 /* CurrentThisInsideBlockGetterTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CurrentThisInsideBlockGetterTest.h; path = API/tests/CurrentThisInsideBlockGetterTest.h; sourceTree = "<group>"; };
 		C2A7F687160432D400F76B98 /* JSDestructibleObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDestructibleObject.h; sourceTree = "<group>"; };
-		C2B6D75218A33793004A9301 /* WriteBarrierInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WriteBarrierInlines.h; sourceTree = "<group>"; };
 		C2B916C114DA014E00CBAC86 /* MarkedAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MarkedAllocator.h; sourceTree = "<group>"; };
 		C2B916C414DA040C00CBAC86 /* MarkedAllocator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MarkedAllocator.cpp; sourceTree = "<group>"; };
 		C2C0F7CB17BBFC5B00464FE4 /* DFGDesiredTransitions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DFGDesiredTransitions.cpp; path = dfg/DFGDesiredTransitions.cpp; sourceTree = "<group>"; };
@@ -3626,7 +3624,6 @@
 		7EF6E0BB0EB7A1EC0079AFAF /* runtime */ = {
 			isa = PBXGroup;
 			children = (
-				C2B6D75218A33793004A9301 /* WriteBarrierInlines.h */,
 				BCF605110E203EF800B9A64D /* ArgList.cpp */,
 				BCF605120E203EF800B9A64D /* ArgList.h */,
 				BC257DE50E1F51C50016B6C9 /* Arguments.cpp */,
@@ -4644,7 +4641,6 @@
 				65C0285D1717966800351E35 /* ARMv7DOpcode.h in Headers */,
 				2A68295B1875F80500B6C3E2 /* CopyWriteBarrier.h in Headers */,
 				2A4EC90C1860D6C20094F782 /* WriteBarrierBuffer.h in Headers */,
-				C2B6D75318A33793004A9301 /* WriteBarrierInlines.h in Headers */,
 				FE5932A8183C5A2600A1ECCC /* VMEntryScope.h in Headers */,
 				A532439318569709002ED692 /* CodeGeneratorInspectorStrings.py in Headers */,
 				A532439218569709002ED692 /* CodeGeneratorInspector.py in Headers */,

Modified: trunk/Source/_javascript_Core/heap/CopyWriteBarrier.h (163555 => 163556)


--- trunk/Source/_javascript_Core/heap/CopyWriteBarrier.h	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/_javascript_Core/heap/CopyWriteBarrier.h	2014-02-06 20:22:43 UTC (rev 163556)
@@ -68,10 +68,10 @@
         return get();
     }
     
-    void set(VM& vm, const JSCell* owner, T* value)
+    void set(VM&, const JSCell* owner, T* value)
     {
         this->m_value = value;
-        vm.heap.writeBarrier(owner);
+        Heap::writeBarrier(owner);
     }
     
     void setWithoutWriteBarrier(T* value)

Modified: trunk/Source/_javascript_Core/heap/Heap.cpp (163555 => 163556)


--- trunk/Source/_javascript_Core/heap/Heap.cpp	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/_javascript_Core/heap/Heap.cpp	2014-02-06 20:22:43 UTC (rev 163556)
@@ -1087,7 +1087,8 @@
     ASSERT_GC_OBJECT_LOOKS_VALID(const_cast<JSCell*>(from));
     if (!from || !isMarked(from))
         return;
-    addToRememberedSet(from);
+    Heap* heap = Heap::heap(from);
+    heap->addToRememberedSet(from);
 #else
     UNUSED_PARAM(from);
 #endif

Modified: trunk/Source/_javascript_Core/heap/Heap.h (163555 => 163556)


--- trunk/Source/_javascript_Core/heap/Heap.h	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/_javascript_Core/heap/Heap.h	2014-02-06 20:22:43 UTC (rev 163556)
@@ -102,9 +102,9 @@
             return MarkedBlock::blockFor(cell)->isRemembered(cell);
         }
         static bool isWriteBarrierEnabled();
-        JS_EXPORT_PRIVATE void writeBarrier(const JSCell*);
-        void writeBarrier(const JSCell*, JSValue);
-        void writeBarrier(const JSCell*, JSCell*);
+        JS_EXPORT_PRIVATE static void writeBarrier(const JSCell*);
+        static void writeBarrier(const JSCell*, JSValue);
+        static void writeBarrier(const JSCell*, JSCell*);
 
         WriteBarrierBuffer& writeBarrierBuffer() { return m_writeBarrierBuffer; }
         void flushWriteBarrierBuffer(JSCell*);
@@ -401,7 +401,7 @@
             return;
         if (!to || isMarked(to))
             return;
-        addToRememberedSet(from);
+        Heap::heap(from)->addToRememberedSet(from);
     }
 
     inline void Heap::writeBarrier(const JSCell* from, JSValue to)

Modified: trunk/Source/_javascript_Core/jit/JITOperations.cpp (163555 => 163556)


--- trunk/Source/_javascript_Core/jit/JITOperations.cpp	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/_javascript_Core/jit/JITOperations.cpp	2014-02-06 20:22:43 UTC (rev 163556)
@@ -1740,7 +1740,7 @@
 {
     VM* vm = &exec->vm();
     NativeCallFrameTracer tracer(vm, exec);
-    vm->heap.writeBarrier(cell);
+    exec->heap()->writeBarrier(cell);
 }
 
 // NB: We don't include the value as part of the barrier because the write barrier elision
@@ -1750,7 +1750,7 @@
 {
     VM* vm = &exec->vm();
     NativeCallFrameTracer tracer(vm, exec);
-    vm->heap.writeBarrier(cell);
+    Heap::writeBarrier(cell);
 }
 
 void JIT_OPERATION operationInitGlobalConst(ExecState* exec, Instruction* pc)

Modified: trunk/Source/_javascript_Core/jit/JITWriteBarrier.h (163555 => 163556)


--- trunk/Source/_javascript_Core/jit/JITWriteBarrier.h	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/_javascript_Core/jit/JITWriteBarrier.h	2014-02-06 20:22:43 UTC (rev 163556)
@@ -77,9 +77,9 @@
     {
     }
 
-    void set(VM& vm, CodeLocationDataLabelPtr location, JSCell* owner, JSCell* value)
+    void set(VM&, CodeLocationDataLabelPtr location, JSCell* owner, JSCell* value)
     {
-        vm.heap.writeBarrier(owner, value);
+        Heap::writeBarrier(owner, value);
         m_location = location;
         ASSERT(((!!m_location) && m_location.executableAddress() != JITWriteBarrierFlag) || (location.executableAddress() == m_location.executableAddress()));
         MacroAssembler::repatchPointer(m_location, value);

Modified: trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp (163555 => 163556)


--- trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp	2014-02-06 20:22:43 UTC (rev 163556)
@@ -1436,10 +1436,9 @@
 }
 #endif
 
-extern "C" void llint_write_barrier_slow(ExecState* exec, JSCell* cell)
+extern "C" void llint_write_barrier_slow(ExecState*, JSCell* cell)
 {
-    VM& vm = exec->vm();
-    vm.heap.writeBarrier(cell);
+    Heap::writeBarrier(cell);
 }
 
 } } // namespace JSC::LLInt

Modified: trunk/Source/_javascript_Core/runtime/Arguments.h (163555 => 163556)


--- trunk/Source/_javascript_Core/runtime/Arguments.h	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/_javascript_Core/runtime/Arguments.h	2014-02-06 20:22:43 UTC (rev 163556)
@@ -31,7 +31,6 @@
 #include "JSGlobalObject.h"
 #include "Interpreter.h"
 #include "ObjectConstructor.h"
-#include "WriteBarrierInlines.h"
 #include <wtf/StdLibExtras.h>
 
 namespace JSC {

Modified: trunk/Source/_javascript_Core/runtime/JSWeakMap.cpp (163555 => 163556)


--- trunk/Source/_javascript_Core/runtime/JSWeakMap.cpp	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/_javascript_Core/runtime/JSWeakMap.cpp	2014-02-06 20:22:43 UTC (rev 163556)
@@ -29,7 +29,6 @@
 #include "JSCJSValueInlines.h"
 #include "SlotVisitorInlines.h"
 #include "WeakMapData.h"
-#include "WriteBarrierInlines.h"
 
 namespace JSC {
 

Modified: trunk/Source/_javascript_Core/runtime/MapData.cpp (163555 => 163556)


--- trunk/Source/_javascript_Core/runtime/MapData.cpp	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/_javascript_Core/runtime/MapData.cpp	2014-02-06 20:22:43 UTC (rev 163556)
@@ -208,7 +208,7 @@
         replaceAndPackBackingStore(newEntries, requiredSize);
     else
         replaceBackingStore(newEntries, requiredSize);
-    callFrame->heap()->writeBarrier(this);
+    Heap::writeBarrier(this);
     return true;
 }
 

Modified: trunk/Source/_javascript_Core/runtime/PropertyTable.cpp (163555 => 163556)


--- trunk/Source/_javascript_Core/runtime/PropertyTable.cpp	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/_javascript_Core/runtime/PropertyTable.cpp	2014-02-06 20:22:43 UTC (rev 163556)
@@ -84,7 +84,7 @@
     iterator end = this->end();
     for (iterator iter = begin(); iter != end; ++iter) {
         iter->key->ref();
-        vm.heap.writeBarrier(owner, iter->specificValue.get());
+        Heap::writeBarrier(owner, iter->specificValue.get());
     }
 
     // Copy the m_deletedOffsets vector.
@@ -109,7 +109,7 @@
         ASSERT(canInsert());
         reinsert(*iter);
         iter->key->ref();
-        vm.heap.writeBarrier(owner, iter->specificValue.get());
+        Heap::writeBarrier(owner, iter->specificValue.get());
     }
 
     // Copy the m_deletedOffsets vector.

Modified: trunk/Source/_javascript_Core/runtime/Structure.h (163555 => 163556)


--- trunk/Source/_javascript_Core/runtime/Structure.h	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/_javascript_Core/runtime/Structure.h	2014-02-06 20:22:43 UTC (rev 163556)
@@ -42,7 +42,6 @@
 #include "JSTypeInfo.h"
 #include "Watchpoint.h"
 #include "Weak.h"
-#include "WriteBarrierInlines.h"
 #include <wtf/CompilationThread.h>
 #include <wtf/PassRefPtr.h>
 #include <wtf/PrintStream.h>

Modified: trunk/Source/_javascript_Core/runtime/WriteBarrier.h (163555 => 163556)


--- trunk/Source/_javascript_Core/runtime/WriteBarrier.h	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/_javascript_Core/runtime/WriteBarrier.h	2014-02-06 20:22:43 UTC (rev 163556)
@@ -71,7 +71,13 @@
 // We have a separate base class with no constructors for use in Unions.
 template <typename T> class WriteBarrierBase {
 public:
-    void set(VM&, const JSCell* owner, T* value);
+    void set(VM& vm, const JSCell* owner, T* value)
+    {
+        ASSERT(value);
+        ASSERT(!Options::enableConcurrentJIT() || !isCompilationThread());
+        validateCell(value);
+        setEarlyValue(vm, owner, value);
+    }
     
     // This is meant to be used like operator=, but is called copyFrom instead, in
     // order to kindly inform the C++ compiler that its advice is not appreciated.
@@ -80,11 +86,20 @@
         m_cell = other.m_cell;
     }
 
-    void setMayBeNull(VM&, const JSCell* owner, T* value);
+    void setMayBeNull(VM& vm, const JSCell* owner, T* value)
+    {
+        if (value)
+            validateCell(value);
+        setEarlyValue(vm, owner, value);
+    }
 
     // Should only be used by JSCell during early initialisation
     // when some basic types aren't yet completely instantiated
-    void setEarlyValue(VM&, const JSCell* owner, T* value);
+    void setEarlyValue(VM&, const JSCell* owner, T* value)
+    {
+        this->m_cell = reinterpret_cast<JSCell*>(value);
+        Heap::writeBarrier(owner, this->m_cell);
+    }
     
     T* get() const
     {
@@ -136,7 +151,13 @@
 
 template <> class WriteBarrierBase<Unknown> {
 public:
-    void set(VM&, const JSCell* owner, JSValue);
+    void set(VM&, const JSCell* owner, JSValue value)
+    {
+        ASSERT(!Options::enableConcurrentJIT() || !isCompilationThread());
+        m_value = JSValue::encode(value);
+        Heap::writeBarrier(owner, value);
+    }
+
     void setWithoutWriteBarrier(JSValue value)
     {
         m_value = JSValue::encode(value);

Deleted: trunk/Source/_javascript_Core/runtime/WriteBarrierInlines.h (163555 => 163556)


--- trunk/Source/_javascript_Core/runtime/WriteBarrierInlines.h	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/_javascript_Core/runtime/WriteBarrierInlines.h	2014-02-06 20:22:43 UTC (rev 163556)
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2014 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef WriteBarrierInlines_h
-#define WriteBarrierInlines_h
-
-#include "VM.h"
-#include "WriteBarrier.h"
-
-namespace JSC {
-
-template <typename T>
-inline void WriteBarrierBase<T>::set(VM& vm, const JSCell* owner, T* value)
-{
-    ASSERT(value);
-    ASSERT(!Options::enableConcurrentJIT() || !isCompilationThread());
-    validateCell(value);
-    setEarlyValue(vm, owner, value);
-}
-
-template <typename T>
-inline void WriteBarrierBase<T>::setMayBeNull(VM& vm, const JSCell* owner, T* value)
-{
-    if (value)
-        validateCell(value);
-    setEarlyValue(vm, owner, value);
-}
-
-template <typename T>
-inline void WriteBarrierBase<T>::setEarlyValue(VM& vm, const JSCell* owner, T* value)
-{
-    this->m_cell = reinterpret_cast<JSCell*>(value);
-    vm.heap.writeBarrier(owner, this->m_cell);
-}
-
-inline void WriteBarrierBase<Unknown>::set(VM& vm, const JSCell* owner, JSValue value)
-{
-    ASSERT(!Options::enableConcurrentJIT() || !isCompilationThread());
-    m_value = JSValue::encode(value);
-    vm.heap.writeBarrier(owner, value);
-}
-
-} // namespace JSC 
-
-#endif // WriteBarrierInlines_h

Modified: trunk/Source/WebCore/ChangeLog (163555 => 163556)


--- trunk/Source/WebCore/ChangeLog	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/WebCore/ChangeLog	2014-02-06 20:22:43 UTC (rev 163556)
@@ -1,3 +1,16 @@
+2014-02-06  Commit Queue  <[email protected]>
+
+        Unreviewed, rolling out r163542.
+        http://trac.webkit.org/changeset/163542
+        https://bugs.webkit.org/show_bug.cgi?id=128324
+
+        Caused many assertion failures (Requested by ap on #webkit).
+
+        * bindings/js/JSEventListener.cpp:
+        (WebCore::JSEventListener::JSEventListener):
+        * bindings/js/JSEventListener.h:
+        (WebCore::JSEventListener::jsFunction):
+
 2014-02-06  Frédéric Wang  <[email protected]>
 
         Do not draw multi-characters <mi> in italic.

Modified: trunk/Source/WebCore/bindings/js/JSEventListener.cpp (163555 => 163556)


--- trunk/Source/WebCore/bindings/js/JSEventListener.cpp	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/WebCore/bindings/js/JSEventListener.cpp	2014-02-06 20:22:43 UTC (rev 163556)
@@ -47,7 +47,7 @@
     , m_isolatedWorld(&isolatedWorld)
 {
     if (wrapper) {
-        JSC::Heap::heap(wrapper)->writeBarrier(wrapper, function);
+        JSC::Heap::writeBarrier(wrapper, function);
         m_jsFunction = JSC::Weak<JSC::JSObject>(function);
     } else
         ASSERT(!function);

Modified: trunk/Source/WebCore/bindings/js/JSEventListener.h (163555 => 163556)


--- trunk/Source/WebCore/bindings/js/JSEventListener.h	2014-02-06 20:17:39 UTC (rev 163555)
+++ trunk/Source/WebCore/bindings/js/JSEventListener.h	2014-02-06 20:22:43 UTC (rev 163556)
@@ -84,7 +84,7 @@
 
         if (!m_jsFunction) {
             JSC::JSObject* function = initializeJSFunction(scriptExecutionContext);
-            JSC::Heap::heap(m_wrapper.get())->writeBarrier(m_wrapper.get(), function);
+            JSC::Heap::writeBarrier(m_wrapper.get(), function);
             m_jsFunction = JSC::Weak<JSC::JSObject>(function);
         }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to