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/Operations.cpp | |
parent | 0060b2994c07842f4c59de64b5e3e430525c4b90 (diff) | |
download | qtwebkit-d441d6f39bb846989d95bcf5caf387b42414718d.tar.gz |
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/Operations.cpp')
-rw-r--r-- | Source/JavaScriptCore/runtime/Operations.cpp | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/Source/JavaScriptCore/runtime/Operations.cpp b/Source/JavaScriptCore/runtime/Operations.cpp index d96bae575..d6cc0ff57 100644 --- a/Source/JavaScriptCore/runtime/Operations.cpp +++ b/Source/JavaScriptCore/runtime/Operations.cpp @@ -56,28 +56,32 @@ NEVER_INLINE JSValue jsAddSlowCase(CallFrame* callFrame, JSValue v1, JSValue v2) return jsNumber(p1.toNumber(callFrame) + p2.toNumber(callFrame)); } -JSValue jsTypeStringForValue(CallFrame* callFrame, JSValue v) +JSValue jsTypeStringForValue(VM& vm, JSGlobalObject* globalObject, JSValue v) { - JSGlobalData& globalData = callFrame->globalData(); if (v.isUndefined()) - return globalData.smallStrings.undefinedString(&globalData); + return vm.smallStrings.undefinedString(); if (v.isBoolean()) - return globalData.smallStrings.booleanString(&globalData); + return vm.smallStrings.booleanString(); if (v.isNumber()) - return globalData.smallStrings.numberString(&globalData); + return vm.smallStrings.numberString(); if (v.isString()) - return globalData.smallStrings.stringString(&globalData); + return vm.smallStrings.stringString(); if (v.isObject()) { // Return "undefined" for objects that should be treated // as null when doing comparisons. - if (asObject(v)->structure()->masqueradesAsUndefined(callFrame->lexicalGlobalObject())) - return globalData.smallStrings.undefinedString(&globalData); + if (asObject(v)->structure()->masqueradesAsUndefined(globalObject)) + return vm.smallStrings.undefinedString(); CallData callData; JSObject* object = asObject(v); if (object->methodTable()->getCallData(object, callData) != CallTypeNone) - return globalData.smallStrings.functionString(&globalData); + return vm.smallStrings.functionString(); } - return globalData.smallStrings.objectString(&globalData); + return vm.smallStrings.objectString(); +} + +JSValue jsTypeStringForValue(CallFrame* callFrame, JSValue v) +{ + return jsTypeStringForValue(callFrame->vm(), callFrame->lexicalGlobalObject(), v); } bool jsIsObjectType(CallFrame* callFrame, JSValue v) @@ -86,7 +90,7 @@ bool jsIsObjectType(CallFrame* callFrame, JSValue v) return v.isNull(); JSType type = v.asCell()->structure()->typeInfo().type(); - if (type == NumberType || type == StringType) + if (type == StringType) return false; if (type >= ObjectType) { if (asObject(v)->structure()->masqueradesAsUndefined(callFrame->lexicalGlobalObject())) |