Title: [232080] trunk/Source/_javascript_Core
Revision
232080
Author
[email protected]
Date
2018-05-22 14:33:26 -0700 (Tue, 22 May 2018)

Log Message

Remove the UnconditionalFinalizer class
https://bugs.webkit.org/show_bug.cgi?id=185881

Reviewed by Filip Pizlo.

The only remaining user of this API is
JSWebAssemblyCodeBlock. This patch changes, JSWebAssemblyCodeBlock
to use the newer template based API and removes the old class.

* _javascript_Core.xcodeproj/project.pbxproj:
* bytecode/CodeBlock.h:
* heap/Heap.cpp:
(JSC::Heap::finalizeUnconditionalFinalizers):
* heap/Heap.h:
* heap/SlotVisitor.cpp:
(JSC::SlotVisitor::addUnconditionalFinalizer): Deleted.
* heap/SlotVisitor.h:
* heap/UnconditionalFinalizer.h: Removed.
* wasm/js/JSWebAssemblyCodeBlock.cpp:
(JSC::JSWebAssemblyCodeBlock::JSWebAssemblyCodeBlock):
(JSC::JSWebAssemblyCodeBlock::visitChildren):
(JSC::JSWebAssemblyCodeBlock::finalizeUnconditionally):
(JSC::JSWebAssemblyCodeBlock::UnconditionalFinalizer::finalizeUnconditionally): Deleted.
* wasm/js/JSWebAssemblyCodeBlock.h:
* wasm/js/JSWebAssemblyModule.h:

* CMakeLists.txt:
* _javascript_Core.xcodeproj/project.pbxproj:
* bytecode/CodeBlock.h:
* heap/Heap.cpp:
(JSC::Heap::finalizeUnconditionalFinalizers):
* heap/Heap.h:
* heap/SlotVisitor.cpp:
(JSC::SlotVisitor::addUnconditionalFinalizer): Deleted.
* heap/SlotVisitor.h:
* heap/UnconditionalFinalizer.h: Removed.
* wasm/js/JSWebAssemblyCodeBlock.cpp:
(JSC::JSWebAssemblyCodeBlock::JSWebAssemblyCodeBlock):
(JSC::JSWebAssemblyCodeBlock::visitChildren):
(JSC::JSWebAssemblyCodeBlock::finalizeUnconditionally):
(JSC::JSWebAssemblyCodeBlock::UnconditionalFinalizer::finalizeUnconditionally): Deleted.
* wasm/js/JSWebAssemblyCodeBlock.h:
* wasm/js/JSWebAssemblyModule.h:

Modified Paths

Removed Paths

Diff

Modified: trunk/Source/_javascript_Core/CMakeLists.txt (232079 => 232080)


--- trunk/Source/_javascript_Core/CMakeLists.txt	2018-05-22 21:13:59 UTC (rev 232079)
+++ trunk/Source/_javascript_Core/CMakeLists.txt	2018-05-22 21:33:26 UTC (rev 232080)
@@ -557,7 +557,6 @@
     heap/SubspaceInlines.h
     heap/Synchronousness.h
     heap/TinyBloomFilter.h
-    heap/UnconditionalFinalizer.h
     heap/VisitRaceKey.h
     heap/Weak.h
     heap/WeakBlock.h

Modified: trunk/Source/_javascript_Core/ChangeLog (232079 => 232080)


--- trunk/Source/_javascript_Core/ChangeLog	2018-05-22 21:13:59 UTC (rev 232079)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-05-22 21:33:26 UTC (rev 232080)
@@ -1,5 +1,51 @@
 2018-05-22  Keith Miller  <[email protected]>
 
+        Remove the UnconditionalFinalizer class
+        https://bugs.webkit.org/show_bug.cgi?id=185881
+
+        Reviewed by Filip Pizlo.
+
+        The only remaining user of this API is
+        JSWebAssemblyCodeBlock. This patch changes, JSWebAssemblyCodeBlock
+        to use the newer template based API and removes the old class.
+
+        * _javascript_Core.xcodeproj/project.pbxproj:
+        * bytecode/CodeBlock.h:
+        * heap/Heap.cpp:
+        (JSC::Heap::finalizeUnconditionalFinalizers):
+        * heap/Heap.h:
+        * heap/SlotVisitor.cpp:
+        (JSC::SlotVisitor::addUnconditionalFinalizer): Deleted.
+        * heap/SlotVisitor.h:
+        * heap/UnconditionalFinalizer.h: Removed.
+        * wasm/js/JSWebAssemblyCodeBlock.cpp:
+        (JSC::JSWebAssemblyCodeBlock::JSWebAssemblyCodeBlock):
+        (JSC::JSWebAssemblyCodeBlock::visitChildren):
+        (JSC::JSWebAssemblyCodeBlock::finalizeUnconditionally):
+        (JSC::JSWebAssemblyCodeBlock::UnconditionalFinalizer::finalizeUnconditionally): Deleted.
+        * wasm/js/JSWebAssemblyCodeBlock.h:
+        * wasm/js/JSWebAssemblyModule.h:
+
+        * CMakeLists.txt:
+        * _javascript_Core.xcodeproj/project.pbxproj:
+        * bytecode/CodeBlock.h:
+        * heap/Heap.cpp:
+        (JSC::Heap::finalizeUnconditionalFinalizers):
+        * heap/Heap.h:
+        * heap/SlotVisitor.cpp:
+        (JSC::SlotVisitor::addUnconditionalFinalizer): Deleted.
+        * heap/SlotVisitor.h:
+        * heap/UnconditionalFinalizer.h: Removed.
+        * wasm/js/JSWebAssemblyCodeBlock.cpp:
+        (JSC::JSWebAssemblyCodeBlock::JSWebAssemblyCodeBlock):
+        (JSC::JSWebAssemblyCodeBlock::visitChildren):
+        (JSC::JSWebAssemblyCodeBlock::finalizeUnconditionally):
+        (JSC::JSWebAssemblyCodeBlock::UnconditionalFinalizer::finalizeUnconditionally): Deleted.
+        * wasm/js/JSWebAssemblyCodeBlock.h:
+        * wasm/js/JSWebAssemblyModule.h:
+
+2018-05-22  Keith Miller  <[email protected]>
+
         Unreviewed, fix internal build.
 
         * runtime/JSImmutableButterfly.cpp:

Modified: trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj (232079 => 232080)


--- trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj	2018-05-22 21:13:59 UTC (rev 232079)
+++ trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj	2018-05-22 21:33:26 UTC (rev 232080)
@@ -348,7 +348,6 @@
 		0F5E0FD8207C72730097F0DE /* DFGAbstractInterpreterClobberState.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F5E0FD6207C72710097F0DE /* DFGAbstractInterpreterClobberState.h */; };
 		0F5E0FE72086AD480097F0DE /* IsoSubspacePerVM.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F5E0FE52086AD460097F0DE /* IsoSubspacePerVM.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		0F5EF91F16878F7D003E5C25 /* JITThunks.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F5EF91C16878F78003E5C25 /* JITThunks.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		0F5F08CF146C7633000472A9 /* UnconditionalFinalizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F5F08CE146C762F000472A9 /* UnconditionalFinalizer.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		0F60FE901FFC37020003320A /* ExecutableToCodeBlockEdge.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F60FE8E1FFC36FD0003320A /* ExecutableToCodeBlockEdge.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		0F61832A1C45BF070072450B /* AirCCallingConvention.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F6183211C45BF070072450B /* AirCCallingConvention.h */; };
 		0F61832D1C45BF070072450B /* AirEmitShuffle.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F6183241C45BF070072450B /* AirEmitShuffle.h */; };
@@ -2365,7 +2364,6 @@
 		0F5E0FE62086AD470097F0DE /* IsoSubspacePerVM.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IsoSubspacePerVM.cpp; sourceTree = "<group>"; };
 		0F5EF91B16878F78003E5C25 /* JITThunks.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JITThunks.cpp; sourceTree = "<group>"; };
 		0F5EF91C16878F78003E5C25 /* JITThunks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JITThunks.h; sourceTree = "<group>"; };
-		0F5F08CE146C762F000472A9 /* UnconditionalFinalizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UnconditionalFinalizer.h; sourceTree = "<group>"; };
 		0F60FE8D1FFC36FC0003320A /* ExecutableToCodeBlockEdge.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExecutableToCodeBlockEdge.cpp; sourceTree = "<group>"; };
 		0F60FE8E1FFC36FD0003320A /* ExecutableToCodeBlockEdge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExecutableToCodeBlockEdge.h; sourceTree = "<group>"; };
 		0F6183201C45BF070072450B /* AirCCallingConvention.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AirCCallingConvention.cpp; path = b3/air/AirCCallingConvention.cpp; sourceTree = "<group>"; };
@@ -5773,7 +5771,6 @@
 				0F1FB38A1E173A6200A9BE50 /* SynchronousStopTheWorldMutatorScheduler.cpp */,
 				0F1FB38B1E173A6200A9BE50 /* SynchronousStopTheWorldMutatorScheduler.h */,
 				141448CC13A1783700F5BA1A /* TinyBloomFilter.h */,
-				0F5F08CE146C762F000472A9 /* UnconditionalFinalizer.h */,
 				0F4D8C721FC7A973001D32AC /* VisitCounter.h */,
 				0F952A9F1DF7860700E06FBD /* VisitRaceKey.cpp */,
 				0F952AA01DF7860700E06FBD /* VisitRaceKey.h */,
@@ -8861,6 +8858,7 @@
 				FE1BD0251E72053800134BC9 /* HeapVerifier.h in Headers */,
 				0F4680D514BBD24B00BFE272 /* HostCallReturnValue.h in Headers */,
 				DC2143071CA32E55000A8869 /* ICStats.h in Headers */,
+				0FB399BE20AF6B3D0017E213 /* ICStatusUtils.h in Headers */,
 				BC18C40F0E16F5CD00B34460 /* Identifier.h in Headers */,
 				8606DDEA18DA44AB00A383D0 /* IdentifierInlines.h in Headers */,
 				A5FD0076189B038C00633231 /* IdentifiersFactory.h in Headers */,
@@ -8908,6 +8906,8 @@
 				A50E4B6218809DD50068A46D /* InspectorRuntimeAgent.h in Headers */,
 				A55165D31BDF0B9E003B75C1 /* InspectorScriptProfilerAgent.h in Headers */,
 				0F49E9AA20AB4D00001CA0AA /* InstanceOfAccessCase.h in Headers */,
+				0FB399BF20AF6B3F0017E213 /* InstanceOfStatus.h in Headers */,
+				0FB399C020AF6B430017E213 /* InstanceOfVariant.h in Headers */,
 				969A07990ED1D3AE00F1F681 /* Instruction.h in Headers */,
 				A7A8AF3B17ADB5F3005AB174 /* Int16Array.h in Headers */,
 				A7A8AF3C17ADB5F3005AB174 /* Int32Array.h in Headers */,
@@ -9066,7 +9066,6 @@
 				A503FA1E188E0FB000110F14 /* JSJavaScriptCallFramePrototype.h in Headers */,
 				7013CA8C1B491A9400CAE613 /* JSJob.h in Headers */,
 				BC18C4160E16F5CD00B34460 /* JSLexicalEnvironment.h in Headers */,
-				0FB399C020AF6B430017E213 /* InstanceOfVariant.h in Headers */,
 				BC18C4230E16F5CD00B34460 /* JSLock.h in Headers */,
 				C25D709C16DE99F400FCA6BC /* JSManagedValue.h in Headers */,
 				2A4BB7F318A41179008A0FCD /* JSManagedValueInternal.h in Headers */,
@@ -9191,7 +9190,6 @@
 				0F4680CD14BBB17D00BFE272 /* LowLevelInterpreter.h in Headers */,
 				981ED82328234D91BAECCADE /* MachineContext.h in Headers */,
 				14B723B812D7DA6F003BD5ED /* MachineStackMarker.h in Headers */,
-				0FB399BF20AF6B3F0017E213 /* InstanceOfStatus.h in Headers */,
 				86C36EEA0EE1289D00B3DF59 /* MacroAssembler.h in Headers */,
 				86D3B2C610156BDE002865E7 /* MacroAssemblerARM.h in Headers */,
 				A1A009C01831A22D00CF8711 /* MacroAssemblerARM64.h in Headers */,
@@ -9448,7 +9446,6 @@
 				705B41AE1A6E501E00716757 /* SymbolConstructor.h in Headers */,
 				996B73271BDA08EF00331B84 /* SymbolConstructor.lut.h in Headers */,
 				705B41B01A6E501E00716757 /* SymbolObject.h in Headers */,
-				0FB399BE20AF6B3D0017E213 /* ICStatusUtils.h in Headers */,
 				705B41B21A6E501E00716757 /* SymbolPrototype.h in Headers */,
 				996B73281BDA08EF00331B84 /* SymbolPrototype.lut.h in Headers */,
 				BC18C46B0E16F5CD00B34460 /* SymbolTable.h in Headers */,
@@ -9489,7 +9486,6 @@
 				A7A8AF4217ADB5F3005AB174 /* Uint32Array.h in Headers */,
 				A7A8AF3F17ADB5F3005AB174 /* Uint8Array.h in Headers */,
 				A7A8AF4017ADB5F3005AB174 /* Uint8ClampedArray.h in Headers */,
-				0F5F08CF146C7633000472A9 /* UnconditionalFinalizer.h in Headers */,
 				A7B601821639FD2A00372BA3 /* UnlinkedCodeBlock.h in Headers */,
 				14AD91241DCA9FA40014F9FE /* UnlinkedEvalCodeBlock.h in Headers */,
 				14AD91231DCA9FA40014F9FE /* UnlinkedFunctionCodeBlock.h in Headers */,

Modified: trunk/Source/_javascript_Core/bytecode/CodeBlock.h (232079 => 232080)


--- trunk/Source/_javascript_Core/bytecode/CodeBlock.h	2018-05-22 21:13:59 UTC (rev 232079)
+++ trunk/Source/_javascript_Core/bytecode/CodeBlock.h	2018-05-22 21:33:26 UTC (rev 232080)
@@ -63,7 +63,6 @@
 #include "ProfilerJettisonReason.h"
 #include "ProgramExecutable.h"
 #include "PutPropertySlot.h"
-#include "UnconditionalFinalizer.h"
 #include "ValueProfile.h"
 #include "VirtualRegister.h"
 #include "Watchpoint.h"

Modified: trunk/Source/_javascript_Core/heap/Heap.cpp (232079 => 232080)


--- trunk/Source/_javascript_Core/heap/Heap.cpp	2018-05-22 21:13:59 UTC (rev 232079)
+++ trunk/Source/_javascript_Core/heap/Heap.cpp	2018-05-22 21:33:26 UTC (rev 232080)
@@ -591,11 +591,10 @@
     finalizeMarkedUnconditionalFinalizers<ExecutableToCodeBlockEdge>(vm()->executableToCodeBlockEdgesWithFinalizers);
     finalizeMarkedUnconditionalFinalizers<JSWeakSet>(vm()->weakSetSpace);
     finalizeMarkedUnconditionalFinalizers<JSWeakMap>(vm()->weakMapSpace);
-    
-    while (m_unconditionalFinalizers.hasNext()) {
-        UnconditionalFinalizer* finalizer = m_unconditionalFinalizers.removeNext();
-        finalizer->finalizeUnconditionally();
-    }
+
+#if ENABLE(WEBASSEMBLY)
+    finalizeMarkedUnconditionalFinalizers<JSWebAssemblyCodeBlock>(vm()->webAssemblyCodeBlockSpace);
+#endif
 }
 
 void Heap::willStartIterating()

Modified: trunk/Source/_javascript_Core/heap/Heap.h (232079 => 232080)


--- trunk/Source/_javascript_Core/heap/Heap.h	2018-05-22 21:13:59 UTC (rev 232079)
+++ trunk/Source/_javascript_Core/heap/Heap.h	2018-05-22 21:33:26 UTC (rev 232080)
@@ -39,7 +39,6 @@
 #include "Options.h"
 #include "StructureIDTable.h"
 #include "Synchronousness.h"
-#include "UnconditionalFinalizer.h"
 #include "WeakHandleOwner.h"
 #include "WeakReferenceHarvester.h"
 #include <wtf/AutomaticThread.h>
@@ -670,7 +669,6 @@
     static const size_t s_blockFragmentLength = 32;
 
     ListableHandler<WeakReferenceHarvester>::List m_weakReferenceHarvesters;
-    ListableHandler<UnconditionalFinalizer>::List m_unconditionalFinalizers;
 
     ParallelHelperClient m_helperClient;
     RefPtr<SharedTask<void(SlotVisitor&)>> m_bonusVisitorTask;

Modified: trunk/Source/_javascript_Core/heap/SlotVisitor.cpp (232079 => 232080)


--- trunk/Source/_javascript_Core/heap/SlotVisitor.cpp	2018-05-22 21:13:59 UTC (rev 232079)
+++ trunk/Source/_javascript_Core/heap/SlotVisitor.cpp	2018-05-22 21:33:26 UTC (rev 232080)
@@ -758,11 +758,6 @@
     m_heap.m_weakReferenceHarvesters.addThreadSafe(weakReferenceHarvester);
 }
 
-void SlotVisitor::addUnconditionalFinalizer(UnconditionalFinalizer* unconditionalFinalizer)
-{
-    m_heap.m_unconditionalFinalizers.addThreadSafe(unconditionalFinalizer);
-}
-
 void SlotVisitor::didRace(const VisitRaceKey& race)
 {
     if (Options::verboseVisitRace())

Modified: trunk/Source/_javascript_Core/heap/SlotVisitor.h (232079 => 232080)


--- trunk/Source/_javascript_Core/heap/SlotVisitor.h	2018-05-22 21:13:59 UTC (rev 232079)
+++ trunk/Source/_javascript_Core/heap/SlotVisitor.h	2018-05-22 21:33:26 UTC (rev 232080)
@@ -44,7 +44,6 @@
 class MarkedBlock;
 class MarkingConstraint;
 class MarkingConstraintSolver;
-class UnconditionalFinalizer;
 template<typename T> class Weak;
 class WeakReferenceHarvester;
 template<typename T, typename Traits> class WriteBarrierBase;
@@ -142,7 +141,6 @@
 #endif
     
     void addWeakReferenceHarvester(WeakReferenceHarvester*);
-    void addUnconditionalFinalizer(UnconditionalFinalizer*);
 
     void dump(PrintStream&) const;
 

Deleted: trunk/Source/_javascript_Core/heap/UnconditionalFinalizer.h (232079 => 232080)


--- trunk/Source/_javascript_Core/heap/UnconditionalFinalizer.h	2018-05-22 21:13:59 UTC (rev 232079)
+++ trunk/Source/_javascript_Core/heap/UnconditionalFinalizer.h	2018-05-22 21:33:26 UTC (rev 232080)
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2011 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. ``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
- * 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. 
- */
-
-#pragma once
-
-#include "ListableHandler.h"
-
-namespace JSC {
-
-// An unconditional finalizer is useful for caches that you would like to
-// destroy on each GC. This is currently used for the bytecode stream
-// associated with each CodeBlock.
-
-class UnconditionalFinalizer : public ListableHandler<UnconditionalFinalizer> {
-    WTF_MAKE_FAST_ALLOCATED;
-public:
-    virtual void finalizeUnconditionally() = 0;
-
-protected:
-    virtual ~UnconditionalFinalizer() { }
-};
-
-} // namespace JSC

Modified: trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyCodeBlock.cpp (232079 => 232080)


--- trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyCodeBlock.cpp	2018-05-22 21:13:59 UTC (rev 232079)
+++ trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyCodeBlock.cpp	2018-05-22 21:33:26 UTC (rev 232080)
@@ -50,8 +50,6 @@
     : Base(vm, vm.webAssemblyCodeBlockStructure.get())
     , m_codeBlock(WTFMove(codeBlock))
 {
-    m_unconditionalFinalizer = PoisonedUniquePtr<JSWebAssemblyCodeBlockPoison, UnconditionalFinalizer>::create(*this);
-
     // FIXME: We should not need to do this synchronously.
     // https://bugs.webkit.org/show_bug.cgi?id=170567
     m_wasmToJSExitStubs.reserveCapacity(m_codeBlock->functionImportCount());
@@ -92,14 +90,12 @@
     ASSERT_GC_OBJECT_INHERITS(thisObject, info());
 
     Base::visitChildren(thisObject, visitor);
-
-    visitor.addUnconditionalFinalizer(thisObject->m_unconditionalFinalizer.get());
 }
 
-void JSWebAssemblyCodeBlock::UnconditionalFinalizer::finalizeUnconditionally()
+void JSWebAssemblyCodeBlock::finalizeUnconditionally(VM& vm)
 {
-    for (auto iter = codeBlock.m_callLinkInfos.begin(); !!iter; ++iter)
-        (*iter)->visitWeak(*codeBlock.vm());
+    for (auto iter = m_callLinkInfos.begin(); !!iter; ++iter)
+        (*iter)->visitWeak(vm);
 }
 
 } // namespace JSC

Modified: trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyCodeBlock.h (232079 => 232080)


--- trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyCodeBlock.h	2018-05-22 21:13:59 UTC (rev 232079)
+++ trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyCodeBlock.h	2018-05-22 21:33:26 UTC (rev 232080)
@@ -32,7 +32,6 @@
 #include "JSCast.h"
 #include "PromiseDeferredTimer.h"
 #include "Structure.h"
-#include "UnconditionalFinalizer.h"
 #include "WasmCallee.h"
 #include "WasmFormat.h"
 #include "WasmModule.h"
@@ -82,6 +81,8 @@
         return m_errorMessage;
     }
 
+    void finalizeUnconditionally(VM&);
+
 private:
     JSWebAssemblyCodeBlock(VM&, Ref<Wasm::CodeBlock>&&, const Wasm::ModuleInformation&);
     DECLARE_EXPORT_INFO;
@@ -89,17 +90,8 @@
     static void destroy(JSCell*);
     static void visitChildren(JSCell*, SlotVisitor&);
 
-    struct UnconditionalFinalizer : public JSC::UnconditionalFinalizer {
-        UnconditionalFinalizer(JSWebAssemblyCodeBlock& codeBlock)
-            : codeBlock(codeBlock)
-        { }
-        void finalizeUnconditionally() override;
-        JSWebAssemblyCodeBlock& codeBlock;
-    };
-
     PoisonedRef<JSWebAssemblyCodeBlockPoison, Wasm::CodeBlock> m_codeBlock;
     Vector<MacroAssemblerCodeRef<WasmEntryPtrTag>> m_wasmToJSExitStubs;
-    PoisonedUniquePtr<JSWebAssemblyCodeBlockPoison, UnconditionalFinalizer> m_unconditionalFinalizer;
     Bag<CallLinkInfo> m_callLinkInfos;
     String m_errorMessage;
 };

Modified: trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyModule.h (232079 => 232080)


--- trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyModule.h	2018-05-22 21:13:59 UTC (rev 232079)
+++ trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyModule.h	2018-05-22 21:33:26 UTC (rev 232080)
@@ -30,7 +30,6 @@
 #include "JSCPoison.h"
 #include "JSDestructibleObject.h"
 #include "JSObject.h"
-#include "UnconditionalFinalizer.h"
 #include "WasmMemoryMode.h"
 #include <wtf/Bag.h>
 #include <wtf/Expected.h>
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to