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