Title: [232463] trunk/Source/_javascript_Core
Revision
232463
Author
[email protected]
Date
2018-06-04 00:42:43 -0700 (Mon, 04 Jun 2018)

Log Message

Get rid of UnconditionalFinalizers and WeakReferenceHarvesters
https://bugs.webkit.org/show_bug.cgi?id=180248

Reviewed by Sam Weinig.

As a final step, this patch removes ListableHandler from JSC.
Nobody uses UnconditionalFinalizers and WeakReferenceHarvesters now.

* CMakeLists.txt:
* _javascript_Core.xcodeproj/project.pbxproj:
* heap/Heap.h:
* heap/ListableHandler.h: Removed.

Modified Paths

Removed Paths

Diff

Modified: trunk/Source/_javascript_Core/CMakeLists.txt (232462 => 232463)


--- trunk/Source/_javascript_Core/CMakeLists.txt	2018-06-04 07:28:35 UTC (rev 232462)
+++ trunk/Source/_javascript_Core/CMakeLists.txt	2018-06-04 07:42:43 UTC (rev 232463)
@@ -538,7 +538,6 @@
     heap/IsoSubspaceInlines.h
     heap/IsoSubspacePerVM.h
     heap/LargeAllocation.h
-    heap/ListableHandler.h
     heap/LocalAllocator.h
     heap/LocalAllocatorInlines.h
     heap/LockDuringMarking.h

Modified: trunk/Source/_javascript_Core/ChangeLog (232462 => 232463)


--- trunk/Source/_javascript_Core/ChangeLog	2018-06-04 07:28:35 UTC (rev 232462)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-06-04 07:42:43 UTC (rev 232463)
@@ -1,3 +1,18 @@
+2018-06-04  Yusuke Suzuki  <[email protected]>
+
+        Get rid of UnconditionalFinalizers and WeakReferenceHarvesters
+        https://bugs.webkit.org/show_bug.cgi?id=180248
+
+        Reviewed by Sam Weinig.
+
+        As a final step, this patch removes ListableHandler from JSC.
+        Nobody uses UnconditionalFinalizers and WeakReferenceHarvesters now.
+
+        * CMakeLists.txt:
+        * _javascript_Core.xcodeproj/project.pbxproj:
+        * heap/Heap.h:
+        * heap/ListableHandler.h: Removed.
+
 2018-06-03  Yusuke Suzuki  <[email protected]>
 
         LayoutTests/fast/css/parsing-css-matches-7.html always abandons its Document (disabling JIT fixes it)

Modified: trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj (232462 => 232463)


--- trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj	2018-06-04 07:28:35 UTC (rev 232462)
+++ trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj	2018-06-04 07:42:43 UTC (rev 232463)
@@ -295,7 +295,6 @@
 		0F426A481460CBB300131F8F /* ValueRecovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F426A451460CBAB00131F8F /* ValueRecovery.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		0F426A491460CBB700131F8F /* VirtualRegister.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F426A461460CBAB00131F8F /* VirtualRegister.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		0F426A4B1460CD6E00131F8F /* DataFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F426A4A1460CD6B00131F8F /* DataFormat.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		0F431738146BAC69007E3890 /* ListableHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F431736146BAC65007E3890 /* ListableHandler.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		0F4570391BE44C910062A629 /* AirEliminateDeadCode.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F4570371BE44C910062A629 /* AirEliminateDeadCode.h */; };
 		0F45703D1BE45F0A0062A629 /* AirReportUsedRegisters.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F45703B1BE45F0A0062A629 /* AirReportUsedRegisters.h */; };
 		0F4570411BE584CA0062A629 /* B3TimingScope.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F45703F1BE584CA0062A629 /* B3TimingScope.h */; };
@@ -2286,7 +2285,6 @@
 		0F426A461460CBAB00131F8F /* VirtualRegister.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VirtualRegister.h; sourceTree = "<group>"; };
 		0F426A4A1460CD6B00131F8F /* DataFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DataFormat.h; sourceTree = "<group>"; };
 		0F42B3C0201EB50900357031 /* Allocator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Allocator.cpp; sourceTree = "<group>"; };
-		0F431736146BAC65007E3890 /* ListableHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListableHandler.h; sourceTree = "<group>"; };
 		0F4570361BE44C910062A629 /* AirEliminateDeadCode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AirEliminateDeadCode.cpp; path = b3/air/AirEliminateDeadCode.cpp; sourceTree = "<group>"; };
 		0F4570371BE44C910062A629 /* AirEliminateDeadCode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AirEliminateDeadCode.h; path = b3/air/AirEliminateDeadCode.h; sourceTree = "<group>"; };
 		0F45703A1BE45F0A0062A629 /* AirReportUsedRegisters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AirReportUsedRegisters.cpp; path = b3/air/AirReportUsedRegisters.cpp; sourceTree = "<group>"; };
@@ -5753,7 +5751,6 @@
 				0F766D2A15A8CC34008F363E /* JITStubRoutineSet.h */,
 				0F070A451D543A89006E7232 /* LargeAllocation.cpp */,
 				0F070A461D543A89006E7232 /* LargeAllocation.h */,
-				0F431736146BAC65007E3890 /* ListableHandler.h */,
 				0F75A059200D25F00038E2CF /* LocalAllocator.cpp */,
 				0F75A057200D25F00038E2CF /* LocalAllocator.h */,
 				0F75A05A200D25F00038E2CF /* LocalAllocatorInlines.h */,
@@ -9227,7 +9224,6 @@
 				BC18C4310E16F5CD00B34460 /* Lexer.h in Headers */,
 				BC18C52E0E16FCE100B34460 /* Lexer.lut.h in Headers */,
 				86D3B3C310159D7F002865E7 /* LinkBuffer.h in Headers */,
-				0F431738146BAC69007E3890 /* ListableHandler.h in Headers */,
 				A7E2EA6B0FB460CF00601F06 /* LiteralParser.h in Headers */,
 				70DE9A091BE7D69E005D89D9 /* LLIntAssembly.h in Headers */,
 				0F0FC45A14BD15F500B81154 /* LLIntCallLinkInfo.h in Headers */,

Modified: trunk/Source/_javascript_Core/heap/Heap.h (232462 => 232463)


--- trunk/Source/_javascript_Core/heap/Heap.h	2018-06-04 07:28:35 UTC (rev 232462)
+++ trunk/Source/_javascript_Core/heap/Heap.h	2018-06-04 07:42:43 UTC (rev 232463)
@@ -32,7 +32,6 @@
 #include "HandleSet.h"
 #include "HeapFinalizerCallback.h"
 #include "HeapObserver.h"
-#include "ListableHandler.h"
 #include "MarkedBlock.h"
 #include "MarkedSpace.h"
 #include "MutatorState.h"

Deleted: trunk/Source/_javascript_Core/heap/ListableHandler.h (232462 => 232463)


--- trunk/Source/_javascript_Core/heap/ListableHandler.h	2018-06-04 07:28:35 UTC (rev 232462)
+++ trunk/Source/_javascript_Core/heap/ListableHandler.h	2018-06-04 07:42:43 UTC (rev 232463)
@@ -1,114 +0,0 @@
-/*
- *  Copyright (C) 2011-2016 Apple Inc. All rights reserved.
- *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- *
- */
-
-#pragma once
-
-#include <stdint.h>
-#include <wtf/Lock.h>
-#include <wtf/Noncopyable.h>
-
-namespace JSC {
-
-class Heap;
-class SlotVisitor;
-
-template<typename T>
-class ListableHandler {
-    WTF_MAKE_NONCOPYABLE(ListableHandler);
-
-public:    
-    bool isOnList() const
-    {
-        return m_nextAndFlag & 1;
-    }
-    
-protected:
-    ListableHandler()
-        : m_nextAndFlag(0)
-    {
-    }
-    
-    virtual ~ListableHandler() { }
-    
-    T* next() const
-    {
-        return reinterpret_cast<T*>(m_nextAndFlag & ~1);
-    }
-
-private:
-    // Allow these classes to use ListableHandler::List.
-    friend class Heap;
-    friend class SlotVisitor;
-    
-    class List {
-        WTF_MAKE_NONCOPYABLE(List);
-    public:
-        List()
-            : m_first(0)
-        {
-        }
-        
-        void addThreadSafe(T* handler)
-        {
-            LockHolder locker(&m_lock);
-            addNotThreadSafe(handler);
-        }
-        
-        bool hasNext()
-        {
-            return !!m_first;
-        }
-        
-        T* head()
-        {
-            return m_first;
-        }
-        
-        T* removeNext()
-        {
-            T* current = m_first;
-            T* next = current->next();
-            current->m_nextAndFlag = 0;
-            m_first = next;
-            return current;
-        }
-        
-        void removeAll()
-        {
-            while (hasNext())
-                removeNext();
-        }
-        
-    private:
-        void addNotThreadSafe(T* handler)
-        {
-            if (handler->m_nextAndFlag & 1)
-                return;
-            handler->m_nextAndFlag = reinterpret_cast<uintptr_t>(m_first) | 1;
-            m_first = handler;
-        }
-        
-        Lock m_lock;
-        T* m_first;
-    };
-    
-    uintptr_t m_nextAndFlag;
-};
-
-} // namespace JSC
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to