summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/runtime/JSValue.h
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-09-10 19:10:20 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-09-10 19:10:20 +0200
commit284837daa07b29d6a63a748544a90b1f5842ac5c (patch)
treeecd258180bde91fe741e0cfd2638beb3c6da7e8e /Source/JavaScriptCore/runtime/JSValue.h
parent2e2ba8ff45915f40ed3e014101269c175f2a89a0 (diff)
downloadqtwebkit-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.h27
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