diff options
| author | Allan Sandfeld Jensen <allan.jensen@digia.com> | 2013-09-13 12:51:20 +0200 |
|---|---|---|
| committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-19 20:50:05 +0200 |
| commit | d441d6f39bb846989d95bcf5caf387b42414718d (patch) | |
| tree | e367e64a75991c554930278175d403c072de6bb8 /Source/JavaScriptCore/runtime/SmallStrings.h | |
| parent | 0060b2994c07842f4c59de64b5e3e430525c4b90 (diff) | |
Import Qt5x2 branch of QtWebkit for Qt 5.2
Importing a new snapshot of webkit.
Change-Id: I2d01ad12cdc8af8cb015387641120a9d7ea5f10c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Diffstat (limited to 'Source/JavaScriptCore/runtime/SmallStrings.h')
| -rw-r--r-- | Source/JavaScriptCore/runtime/SmallStrings.h | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/Source/JavaScriptCore/runtime/SmallStrings.h b/Source/JavaScriptCore/runtime/SmallStrings.h index 5bc9d2252..f00043021 100644 --- a/Source/JavaScriptCore/runtime/SmallStrings.h +++ b/Source/JavaScriptCore/runtime/SmallStrings.h @@ -26,6 +26,8 @@ #ifndef SmallStrings_h #define SmallStrings_h +#include "WriteBarrier.h" + #include <wtf/FixedArray.h> #include <wtf/Noncopyable.h> #include <wtf/OwnPtr.h> @@ -48,7 +50,7 @@ class StringImpl; namespace JSC { class HeapRootVisitor; - class JSGlobalData; + class VM; class JSString; class SmallStringsStorage; class SlotVisitor; @@ -61,17 +63,15 @@ namespace JSC { SmallStrings(); ~SmallStrings(); - JSString* emptyString(JSGlobalData* globalData) + JSString* emptyString() { - if (!m_emptyString) - createEmptyString(globalData); return m_emptyString; } - JSString* singleCharacterString(JSGlobalData* globalData, unsigned char character) + JSString* singleCharacterString(VM* vm, unsigned char character) { if (!m_singleCharacterStrings[character]) - createSingleCharacterString(globalData, character); + createSingleCharacterString(vm, character); return m_singleCharacterStrings[character]; } @@ -81,11 +81,12 @@ namespace JSC { JSString** singleCharacterStrings() { return &m_singleCharacterStrings[0]; } + void initializeCommonStrings(VM&); + void visitStrongReferences(SlotVisitor&); + #define JSC_COMMON_STRINGS_ACCESSOR_DEFINITION(name) \ - JSString* name##String(JSGlobalData* globalData) const \ + JSString* name##String() const \ { \ - if (!m_##name) \ - initialize(globalData, m_##name, #name); \ return m_##name; \ } JSC_COMMON_STRINGS_EACH_NAME(JSC_COMMON_STRINGS_ACCESSOR_DEFINITION) @@ -94,13 +95,13 @@ namespace JSC { private: static const unsigned singleCharacterStringCount = maxSingleCharacterString + 1; - JS_EXPORT_PRIVATE void createEmptyString(JSGlobalData*); - JS_EXPORT_PRIVATE void createSingleCharacterString(JSGlobalData*, unsigned char); + JS_EXPORT_PRIVATE void createEmptyString(VM*); + JS_EXPORT_PRIVATE void createSingleCharacterString(VM*, unsigned char); - void initialize(JSGlobalData* globalData, JSString*& string, const char* value) const; + void initialize(VM* vm, JSString*& string, const char* value) const; JSString* m_emptyString; -#define JSC_COMMON_STRINGS_ATTRIBUTE_DECLARATION(name) mutable JSString* m_##name; +#define JSC_COMMON_STRINGS_ATTRIBUTE_DECLARATION(name) JSString* m_##name; JSC_COMMON_STRINGS_EACH_NAME(JSC_COMMON_STRINGS_ATTRIBUTE_DECLARATION) #undef JSC_COMMON_STRINGS_ATTRIBUTE_DECLARATION JSString* m_singleCharacterStrings[singleCharacterStringCount]; |
