Title: [190829] trunk/Source/_javascript_Core
Revision
190829
Author
commit-qu...@webkit.org
Date
2015-10-09 16:17:59 -0700 (Fri, 09 Oct 2015)

Log Message

No need to keep setting needsVisit flag in SmallStrings
https://bugs.webkit.org/show_bug.cgi?id=149961

Patch by Joseph Pecoraro <pecor...@apple.com> on 2015-10-09
Reviewed by Andreas Kling.

SmallStrings are all initialized at once privately before the VM
enables Garbage Collection. There is no need to keep updating
this flag, as it couldn't have changed.

* runtime/SmallStrings.cpp:
(JSC::SmallStrings::createEmptyString):
(JSC::SmallStrings::createSingleCharacterString):
(JSC::SmallStrings::initialize):
* runtime/SmallStrings.h:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (190828 => 190829)


--- trunk/Source/_javascript_Core/ChangeLog	2015-10-09 23:15:11 UTC (rev 190828)
+++ trunk/Source/_javascript_Core/ChangeLog	2015-10-09 23:17:59 UTC (rev 190829)
@@ -1,3 +1,20 @@
+2015-10-09  Joseph Pecoraro  <pecor...@apple.com>
+
+        No need to keep setting needsVisit flag in SmallStrings
+        https://bugs.webkit.org/show_bug.cgi?id=149961
+
+        Reviewed by Andreas Kling.
+
+        SmallStrings are all initialized at once privately before the VM
+        enables Garbage Collection. There is no need to keep updating
+        this flag, as it couldn't have changed.
+
+        * runtime/SmallStrings.cpp:
+        (JSC::SmallStrings::createEmptyString):
+        (JSC::SmallStrings::createSingleCharacterString):
+        (JSC::SmallStrings::initialize):
+        * runtime/SmallStrings.h:
+
 2015-10-09  Geoffrey Garen  <gga...@apple.com>
 
         Unreviewed, rolling back in r190694

Modified: trunk/Source/_javascript_Core/runtime/SmallStrings.cpp (190828 => 190829)


--- trunk/Source/_javascript_Core/runtime/SmallStrings.cpp	2015-10-09 23:15:11 UTC (rev 190828)
+++ trunk/Source/_javascript_Core/runtime/SmallStrings.cpp	2015-10-09 23:17:59 UTC (rev 190829)
@@ -109,7 +109,7 @@
 {
     ASSERT(!m_emptyString);
     m_emptyString = JSString::createHasOtherOwner(*vm, StringImpl::empty());
-    m_needsToBeVisited = true;
+    ASSERT(m_needsToBeVisited);
 }
 
 void SmallStrings::createSingleCharacterString(VM* vm, unsigned char character)
@@ -118,7 +118,7 @@
         m_storage = std::make_unique<SmallStringsStorage>();
     ASSERT(!m_singleCharacterStrings[character]);
     m_singleCharacterStrings[character] = JSString::createHasOtherOwner(*vm, PassRefPtr<StringImpl>(m_storage->rep(character)));
-    m_needsToBeVisited = true;
+    ASSERT(m_needsToBeVisited);
 }
 
 StringImpl* SmallStrings::singleCharacterStringRep(unsigned char character)
@@ -131,7 +131,7 @@
 void SmallStrings::initialize(VM* vm, JSString*& string, const char* value)
 {
     string = JSString::create(*vm, Identifier::fromString(vm, value).impl());
-    m_needsToBeVisited = true;
+    ASSERT(m_needsToBeVisited);
 }
 
 } // namespace JSC

Modified: trunk/Source/_javascript_Core/runtime/SmallStrings.h (190828 => 190829)


--- trunk/Source/_javascript_Core/runtime/SmallStrings.h	2015-10-09 23:15:11 UTC (rev 190828)
+++ trunk/Source/_javascript_Core/runtime/SmallStrings.h	2015-10-09 23:17:59 UTC (rev 190829)
@@ -48,7 +48,6 @@
 
 namespace JSC {
 
-class HeapRootVisitor;
 class VM;
 class JSString;
 class SmallStringsStorage;
@@ -123,8 +122,8 @@
 private:
     static const unsigned singleCharacterStringCount = maxSingleCharacterString + 1;
 
-    JS_EXPORT_PRIVATE void createEmptyString(VM*);
-    JS_EXPORT_PRIVATE void createSingleCharacterString(VM*, unsigned char);
+    void createEmptyString(VM*);
+    void createSingleCharacterString(VM*, unsigned char);
 
     void initialize(VM*, JSString*&, const char* value);
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to