diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-09-10 19:10:20 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-09-10 19:10:20 +0200 |
commit | 284837daa07b29d6a63a748544a90b1f5842ac5c (patch) | |
tree | ecd258180bde91fe741e0cfd2638beb3c6da7e8e /Source/JavaScriptCore/runtime/JSValue.h | |
parent | 2e2ba8ff45915f40ed3e014101269c175f2a89a0 (diff) | |
download | qtwebkit-284837daa07b29d6a63a748544a90b1f5842ac5c.tar.gz |
Imported WebKit commit 68645295d2e3e09af2c942f092556f06aa5f8b0d (http://svn.webkit.org/repository/webkit/trunk@128073)
New snapshot
Diffstat (limited to 'Source/JavaScriptCore/runtime/JSValue.h')
-rw-r--r-- | Source/JavaScriptCore/runtime/JSValue.h | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/Source/JavaScriptCore/runtime/JSValue.h b/Source/JavaScriptCore/runtime/JSValue.h index 7aa5453e4..ce9405817 100644 --- a/Source/JavaScriptCore/runtime/JSValue.h +++ b/Source/JavaScriptCore/runtime/JSValue.h @@ -44,7 +44,6 @@ namespace JSC { class PropertyName; class PropertySlot; class PutPropertySlot; - class UString; #if ENABLE(DFG_JIT) namespace DFG { class AssemblyHelpers; @@ -55,9 +54,11 @@ namespace JSC { class SpeculativeJIT; } #endif +#if ENABLE(LLINT_C_LOOP) namespace LLInt { - class Data; + class CLoop; } +#endif struct ClassInfo; struct Instruction; @@ -121,7 +122,9 @@ namespace JSC { friend class DFG::OSRExitCompiler; friend class DFG::SpeculativeJIT; #endif - friend class LLInt::Data; +#if ENABLE(LLINT_C_LOOP) + friend class LLInt::CLoop; +#endif public: #if USE(JSVALUE32_64) @@ -198,8 +201,8 @@ namespace JSC { bool inherits(const ClassInfo*) const; // Extracting the value. - bool getString(ExecState* exec, UString&) const; - UString getString(ExecState* exec) const; // null string if not a string + bool getString(ExecState*, WTF::String&) const; + WTF::String getString(ExecState*) const; // null string if not a string JSObject* getObject() const; // 0 if not an object // Extracting integer values. @@ -215,8 +218,8 @@ namespace JSC { // been set in the ExecState already. double toNumber(ExecState*) const; JSString* toString(ExecState*) const; - UString toUString(ExecState*) const; - UString toUStringInline(ExecState*) const; + WTF::String toWTFString(ExecState*) const; + WTF::String toWTFStringInline(ExecState*) const; JSObject* toObject(ExecState*) const; JSObject* toObject(ExecState*, JSGlobalObject*) const; @@ -267,7 +270,7 @@ namespace JSC { inline const JSValue asValue() const { return *this; } JS_EXPORT_PRIVATE double toNumberSlowCase(ExecState*) const; JS_EXPORT_PRIVATE JSString* toStringSlowCase(ExecState*) const; - JS_EXPORT_PRIVATE UString toUStringSlowCase(ExecState*) const; + JS_EXPORT_PRIVATE WTF::String toWTFStringSlowCase(ExecState*) const; JS_EXPORT_PRIVATE JSObject* toObjectSlowCase(ExecState*, JSGlobalObject*) const; JS_EXPORT_PRIVATE JSObject* toThisObjectSlowCase(ExecState*) const; @@ -292,6 +295,14 @@ namespace JSC { */ uint32_t tag() const; int32_t payload() const; + +#if ENABLE(LLINT_C_LOOP) + // This should only be used by the LLInt C Loop interpreter who needs + // synthesize JSValue from its "register"s holding tag and payload + // values. + explicit JSValue(int32_t tag, int32_t payload); +#endif + #elif USE(JSVALUE64) /* * On 64-bit platforms USE(JSVALUE64) should be defined, and we use a NaN-encoded |