Changeset 190829 in webkit


Ignore:
Timestamp:
Oct 9, 2015 4:17:59 PM (8 years ago)
Author:
commit-queue@webkit.org
Message:

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

Patch by Joseph Pecoraro <Joseph Pecoraro> 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:
Location:
trunk/Source/JavaScriptCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r190827 r190829  
     12015-10-09  Joseph Pecoraro  <pecoraro@apple.com>
     2
     3        No need to keep setting needsVisit flag in SmallStrings
     4        https://bugs.webkit.org/show_bug.cgi?id=149961
     5
     6        Reviewed by Andreas Kling.
     7
     8        SmallStrings are all initialized at once privately before the VM
     9        enables Garbage Collection. There is no need to keep updating
     10        this flag, as it couldn't have changed.
     11
     12        * runtime/SmallStrings.cpp:
     13        (JSC::SmallStrings::createEmptyString):
     14        (JSC::SmallStrings::createSingleCharacterString):
     15        (JSC::SmallStrings::initialize):
     16        * runtime/SmallStrings.h:
     17
    1182015-10-09  Geoffrey Garen  <ggaren@apple.com>
    219
  • trunk/Source/JavaScriptCore/runtime/SmallStrings.cpp

    r184612 r190829  
    110110    ASSERT(!m_emptyString);
    111111    m_emptyString = JSString::createHasOtherOwner(*vm, StringImpl::empty());
    112     m_needsToBeVisited = true;
     112    ASSERT(m_needsToBeVisited);
    113113}
    114114
     
    119119    ASSERT(!m_singleCharacterStrings[character]);
    120120    m_singleCharacterStrings[character] = JSString::createHasOtherOwner(*vm, PassRefPtr<StringImpl>(m_storage->rep(character)));
    121     m_needsToBeVisited = true;
     121    ASSERT(m_needsToBeVisited);
    122122}
    123123
     
    132132{
    133133    string = JSString::create(*vm, Identifier::fromString(vm, value).impl());
    134     m_needsToBeVisited = true;
     134    ASSERT(m_needsToBeVisited);
    135135}
    136136
  • trunk/Source/JavaScriptCore/runtime/SmallStrings.h

    r183724 r190829  
    4949namespace JSC {
    5050
    51 class HeapRootVisitor;
    5251class VM;
    5352class JSString;
     
    124123    static const unsigned singleCharacterStringCount = maxSingleCharacterString + 1;
    125124
    126     JS_EXPORT_PRIVATE void createEmptyString(VM*);
    127     JS_EXPORT_PRIVATE void createSingleCharacterString(VM*, unsigned char);
     125    void createEmptyString(VM*);
     126    void createSingleCharacterString(VM*, unsigned char);
    128127
    129128    void initialize(VM*, JSString*&, const char* value);
Note: See TracChangeset for help on using the changeset viewer.