Home | History | Annotate | Download | only in jit

Lines Matching refs:jsValue

319 /* code (r4), RegisterFile* (r5), CallFrame* (r6), JSValue* exception (r7), Profiler**(sp), JSGlobalData (sp)*/
662 __asm EncodedJSValue ctiTrampoline(void*, RegisterFile*, CallFrame*, JSValue*, Profiler**, JSGlobalData*)
806 NEVER_INLINE void JITThunks::tryCachePutByID(CallFrame* callFrame, CodeBlock* codeBlock, ReturnAddressPtr returnAddress, JSValue baseValue, const PutPropertySlot& slot, StructureStubInfo* stubInfo, bool direct)
856 NEVER_INLINE void JITThunks::tryCacheGetByID(CallFrame* callFrame, CodeBlock* codeBlock, ReturnAddressPtr returnAddress, JSValue baseValue, const Identifier& propertyName, const PropertySlot& slot, StructureStubInfo* stubInfo)
1038 static ExceptionHandler jitThrow(JSGlobalData* globalData, CallFrame* callFrame, JSValue exceptionValue, ReturnAddressPtr faultLocation)
1043 globalData->exception = JSValue();
1270 JSValue proto = stackFrame.args[0].jsValue();
1275 JSValue result = constructEmptyObject(callFrame, structure);
1277 return JSValue::encode(result);
1284 JSValue v1 = stackFrame.args[0].jsValue();
1289 return JSValue::encode(result);
1296 JSValue v1 = stackFrame.args[0].jsValue();
1299 JSValue result = v1.toStrictThisObject(callFrame);
1301 return JSValue::encode(result);
1308 JSValue v1 = stackFrame.args[0].jsValue();
1309 JSValue v2 = stackFrame.args[1].jsValue();
1313 JSValue result = v2.isString()
1317 return JSValue::encode(result);
1322 return JSValue::encode(jsNumber(left + right));
1325 JSValue result = jsAddSlowCase(callFrame, v1, v2);
1327 return JSValue::encode(result);
1334 JSValue v = stackFrame.args[0].jsValue();
1337 JSValue result = jsNumber(v.toNumber(callFrame) + 1);
1339 return JSValue::encode(result);
1381 JSValue src1 = stackFrame.args[0].jsValue();
1382 JSValue src2 = stackFrame.args[1].jsValue();
1402 stackFrame.args[0].jsValue().put(stackFrame.callFrame, stackFrame.args[1].identifier(), stackFrame.args[2].jsValue(), slot);
1411 stackFrame.args[0].jsValue().putDirect(stackFrame.callFrame, stackFrame.args[1].identifier(), stackFrame.args[2].jsValue(), slot);
1422 JSValue baseValue = stackFrame.args[0].jsValue();
1424 JSValue result = baseValue.get(callFrame, ident, slot);
1427 return JSValue::encode(result);
1439 stackFrame.args[0].jsValue().put(callFrame, ident, stackFrame.args[2].jsValue(), slot);
1446 JITThunks::tryCachePutByID(callFrame, codeBlock, STUB_RETURN_ADDRESS, stackFrame.args[0].jsValue(), slot, stubInfo, false);
1458 stackFrame.args[0].jsValue().putDirect(callFrame, ident, stackFrame.args[2].jsValue(), slot);
1465 JITThunks::tryCachePutByID(callFrame, codeBlock, STUB_RETURN_ADDRESS, stackFrame.args[0].jsValue(), slot, stubInfo, true);
1478 stackFrame.args[0].jsValue().put(callFrame, ident, stackFrame.args[2].jsValue(), slot);
1491 stackFrame.args[0].jsValue().putDirect(callFrame, ident, stackFrame.args[2].jsValue(), slot);
1500 JSValue baseValue = stackFrame.args[0].jsValue();
1518 JSValue baseValue = stackFrame.args[0].jsValue();
1520 JSValue result = baseValue.get(callFrame, ident, slot);
1528 return JSValue::encode(result);
1559 ASSERT(result == JSValue(callee));
1564 return JSValue::encode(result);
1575 return JSValue::encode(result);
1581 return JSValue::encode(result);
1590 JSValue baseValue = stackFrame.args[0].jsValue();
1592 JSValue result = baseValue.get(callFrame, ident, slot);
1602 return JSValue::encode(result);
1612 JSValue baseValue = stackFrame.args[0].jsValue();
1614 JSValue result = baseValue.get(callFrame, ident, slot);
1648 return JSValue::encode(result);
1687 return JSValue::encode(jsUndefined());
1691 JSValue result = call(callFrame, getter, callType, callData, stackFrame.args[1].jsObject(), ArgList());
1695 return JSValue::encode(result);
1705 JSValue result = getter(callFrame, slotBase, ident);
1709 return JSValue::encode(result);
1719 JSValue baseValue = stackFrame.args[0].jsValue();
1721 JSValue result = baseValue.get(callFrame, propertyName, slot);
1727 return JSValue::encode(result);
1773 return JSValue::encode(result);
1780 JSValue baseValue = stackFrame.args[0].jsValue();
1782 JSValue result = baseValue.get(stackFrame.callFrame, stackFrame.args[1].identifier(), slot);
1785 return JSValue::encode(result);
1792 JSValue baseValue = stackFrame.args[0].jsValue();
1794 JSValue
1797 return JSValue::encode(result);
1804 JSValue baseValue = stackFrame.args[0].jsValue();
1806 JSValue result = baseValue.get(stackFrame.callFrame, stackFrame.args[1].identifier(), slot);
1809 return JSValue::encode(result);
1816 JSValue baseValue = stackFrame.args[0].jsValue();
1818 JSValue result = baseValue.get(stackFrame.callFrame, stackFrame.args[1].identifier(), slot);
1821 return JSValue::encode(result);
1831 JSValue baseVal = stackFrame.args[0].jsValue();
1848 JSValue value = stackFrame.args[0].jsValue();
1849 JSValue baseVal = stackFrame.args[1].jsValue();
1850 JSValue proto = stackFrame.args[2].jsValue();
1869 return JSValue::encode(jsBoolean(false));
1877 JSValue result = jsBoolean(asObject(baseVal)->hasInstance(callFrame, value, proto));
1880 return JSValue::encode(result);
1889 JSObject* baseObj = stackFrame.args[0].jsValue().toObject(callFrame);
1892 JSValue result = jsBoolean(couldDelete);
1897 return JSValue::encode(result);
1904 JSValue src1 = stackFrame.args[0].jsValue();
1905 JSValue src2 = stackFrame.args[1].jsValue();
1910 return JSValue::encode(jsNumber(left * right));
1913 JSValue result = jsNumber(src1.toNumber(callFrame) * src2.toNumber(callFrame));
1915 return JSValue::encode(result);
1922 ASSERT(stackFrame.callFrame->codeBlock()->codeType() != FunctionCode || !stackFrame.callFrame->codeBlock()->needsFullScopeChain() || stackFrame.callFrame->uncheckedR(stackFrame.callFrame->codeBlock()->activationRegister()).jsValue());
2169 JSValue funcVal = stackFrame.args[0].jsValue();
2209 return JSValue::encode(JSValue(arguments));
2217 return JSValue::encode(JSValue(arguments));
2225 JSValue activationValue = stackFrame.args[0].jsValue();
2227 if (JSValue v = stackFrame.args[1].jsValue()) {
2233 JSActivation* activation = asActivation(stackFrame.args[0].jsValue());
2235 if (JSValue v = stackFrame.args[1].jsValue()) {
2246 asArguments(stackFrame.args[0].jsValue())->copyRegisters(*stackFrame.globalData);
2254 (*stackFrame.enabledProfilerReference)->willExecute(stackFrame.callFrame, stackFrame.args[0].jsValue());
2262 (*stackFrame.enabledProfilerReference)->didExecute(stackFrame.callFrame, stackFrame.args[0].jsValue());
2289 JSValue result = slot.getValue(callFrame, ident);
2291 return JSValue::encode(result);
2303 JSValue constrVal = stackFrame.args[0].jsValue();
2345 JSValue baseValue = stackFrame.args[0].jsValue();
2346 JSValue subscript = stackFrame.args[1].jsValue();
2354 JSValue result = slot.getValue(callFrame, propertyName);
2356 return JSValue::encode(result);
2364 JSValue result = asString(baseValue)->getIndex(callFrame, i);
2366 return JSValue::encode(result);
2371 return JSValue::encode(asByteArray(baseValue)->getIndex(callFrame, i));
2373 JSValue result = baseValue.get(callFrame, i);
2375 return JSValue::encode(result);
2379 JSValue result = baseValue.get(callFrame, property);
2381 return JSValue::encode(result);
2391 JSValue baseValue = stackFrame.args[0].jsValue();
2392 JSValue subscript = stackFrame.args[1].jsValue();
2394 JSValue result;
2411 return JSValue::encode(result);
2421 JSValue baseValue = stackFrame.args[0].jsValue();
2422 JSValue subscript = stackFrame.args[1].jsValue();
2424 JSValue result;
2430 return JSValue::encode(asByteArray(baseValue)->getIndex(callFrame, i));
2442 return JSValue::encode(result);
2449 JSValue src1 = stackFrame.args[0].jsValue();
2450 JSValue src2 = stackFrame.args[1].jsValue();
2455 return JSValue::encode(jsNumber(left - right));
2458 JSValue result = jsNumber(src1.toNumber(callFrame) - src2.toNumber(callFrame));
2460 return JSValue::encode(result);
2470 JSValue baseValue = stackFrame.args[0].jsValue();
2471 JSValue subscript = stackFrame.args[1].jsValue();
2472 JSValue value = stackFrame.args[2].jsValue();
2518 JSValue baseValue = stackFrame.args[0].jsValue();
2519 JSValue subscript = stackFrame.args[1].jsValue();
2520 JSValue value = stackFrame.args[2].jsValue();
2559 JSValue result = jsBoolean(jsLessEq(callFrame, stackFrame.args[0].jsValue(), stackFrame.args[1].jsValue()));
2561 return JSValue::encode(result);
2571 JSValue arguments = callFrame->registers()[argsOffset].jsValue();
2657 JSValue src = stackFrame.args[0].jsValue();
2661 return JSValue::encode(jsNumber(-v));
2664 JSValue result = jsNumber(-src.toNumber(callFrame));
2666 return JSValue::encode(result);
2673 return JSValue::encode(JSC::resolveBase(stackFrame.callFrame, stackFrame.args[0].identifier(), stackFrame.callFrame->scopeChain(), false));
2679 JSValue base = JSC::resolveBase(stackFrame.callFrame, stackFrame.args[0].identifier(), stackFrame.callFrame->scopeChain(), true);
2684 return JSValue::encode(base);
2690 JSValue base = stackFrame.callFrame->r(stackFrame.args[0].int32()).jsValue();
2699 return JSValue::encode(base);
2718 if (callFrame->uncheckedR(codeBlock->activationRegister()).jsValue())
2730 JSValue result = slot.getValue(callFrame, ident);
2732 return JSValue::encode(result);
2753 JSValue result = slot.getValue(callFrame, ident);
2758 return JSValue::encode(result);
2762 return JSValue::encode(result);
2773 JSValue src1 = stackFrame.args[0].jsValue();
2774 JSValue src2 = stackFrame.args[1].jsValue();
2779 return JSValue::encode(jsNumber(left / right));
2782 JSValue result = jsNumber(src1.toNumber(callFrame) / src2.toNumber(callFrame));
2784 return JSValue::encode(result);
2791 JSValue v = stackFrame.args[0].jsValue();
2794 JSValue result = jsNumber(v.toNumber(callFrame) - 1);
2796 return JSValue::encode(result);
2803 JSValue src1 = stackFrame.args[0].jsValue();
2804 JSValue src2 = stackFrame.args[1].jsValue();
2816 JSValue src1 = stackFrame.args[0].jsValue();
2817 JSValue src2 = stackFrame.args[1].jsValue();
2829 JSValue src = stackFrame.args[0].jsValue();
2833 JSValue result = jsBoolean(!src.toBoolean(callFrame));
2835 return JSValue::encode(result);
2842 JSValue src1 = stackFrame.args[0].jsValue();
2855 JSValue v = stackFrame.args[0].jsValue();
2859 JSValue number = v.toJSNumber(callFrame);
2863 return JSValue::encode(number);
2870 JSValue src1 = stackFrame.args[0].jsValue();
2871 JSValue src2 = stackFrame.args[1].jsValue();
2958 bool result = JSValue::equalSlowCaseInline(callFrame, src1, src2);
2986 JSValue val = stackFrame.args[0].jsValue();
2987 JSValue shift = stackFrame.args[1].jsValue();
2990 JSValue result = jsNumber((val.toInt32(callFrame)) << (shift.toUInt32(callFrame) & 0x1f));
2992 return JSValue::encode(result);
2999 JSValue src1 = stackFrame.args[0].jsValue();
3000 JSValue src2 = stackFrame.args[1].jsValue();
3004 JSValue result = jsNumber(src1.toInt32(callFrame) & src2.toInt32(callFrame));
3006 return JSValue::encode(result);
3013 JSValue val = stackFrame.args[0].jsValue();
3014 JSValue shift = stackFrame.args[1].jsValue();
3017 JSValue result = jsNumber((val.toInt32(callFrame)) >> (shift.toUInt32(callFrame) & 0x1f));
3020 return JSValue::encode(result);
3027 JSValue src = stackFrame.args[0].jsValue();
3031 JSValue result = jsNumber(~src.toInt32(callFrame));
3033 return JSValue::encode(result);
3056 JSValue result = slot.getValue(callFrame, ident);
3059 callFrame->registers()[stackFrame.args[1].int32()] = JSValue(base);
3060 return JSValue::encode(result);
3067 return JSValue::encode(JSValue());
3077 ASSERT(callFrame->codeBlock()->codeType() != FunctionCode || !callFrame->codeBlock()->needsFullScopeChain() || callFrame->uncheckedR(callFrame->codeBlock()->activationRegister()).jsValue());
3098 JSValue dividendValue = stackFrame.args[0].jsValue();
3099 JSValue divisorValue = stackFrame.args[1].jsValue();
3103 JSValue result = jsNumber(fmod(d, divisorValue.toNumber(callFrame)));
3105 return JSValue::encode(result);
3113 JSValue result = jsBoolean(jsLess(callFrame, stackFrame.args[0].jsValue(), stackFrame.args[1].jsValue()));
3115 return JSValue::encode(result);
3122 JSValue v = stackFrame.args[0].jsValue();
3126 JSValue number = v.toJSNumber(callFrame);
3130 return JSValue::encode(number);
3137 JSValue val = stackFrame.args[0].jsValue();
3138 JSValue shift = stackFrame.args[1].jsValue();
3141 JSValue result = jsNumber((val.toUInt32(callFrame)) >> (shift.toUInt32(callFrame) & 0x1f));
3143 return JSValue::encode(result);
3150 JSValue src1 = stackFrame.args[0].jsValue();
3151 JSValue src2 = stackFrame.args[1].jsValue();
3155 JSValue result = jsNumber(src1.toInt32(callFrame) ^ src2.toInt32(callFrame));
3157 return JSValue::encode(result);
3179 JSValue src1 = stackFrame.args[0].jsValue();
3180 JSValue src2 = stackFrame.args[1].jsValue();
3184 JSValue result = jsNumber(src1.toInt32(callFrame) | src2.toInt32(callFrame));
3186 return JSValue::encode(result);
3192 ASSERT(stackFrame.callFrame->codeBlock()->codeType() != FunctionCode || !stackFrame.callFrame->codeBlock()->needsFullScopeChain() || stackFrame.callFrame->uncheckedR(stackFrame.callFrame->codeBlock()->activationRegister()).jsValue());
3199 JSValue funcVal = stackFrame.args[0].jsValue();
3205 JSValue baseValue = argv[0].jsValue();
3209 JSValue result = interpreter->callEval(callFrame, registerFile, argv, argCount, registerOffset);
3211 return JSValue::encode(result);
3214 return JSValue::encode(JSValue());
3220 ExceptionHandler handler = jitThrow(stackFrame.globalData, stackFrame.callFrame, stackFrame.args[0].jsValue(), STUB_RETURN_ADDRESS);
3253 JSObject* o = stackFrame.args[0].jsValue().toObject(stackFrame.callFrame);
3270 return JSValue::encode(jsTypeStringForValue(stackFrame.callFrame, stackFrame.args[0].jsValue()));
3277 JSValue v = stackFrame.args[0].jsValue();
3278 return JSValue::encode(jsBoolean(v.isCell() ? v.asCell()->structure()->typeInfo().masqueradesAsUndefined() : v.isUndefined()));
3285 return JSValue::encode(jsBoolean(stackFrame.args[0].jsValue().isBoolean()));
3292 return JSValue::encode(jsBoolean(stackFrame.args[0].jsValue().isNumber()));
3299 return JSValue::encode(jsBoolean(isJSString(stackFrame.globalData, stackFrame.args[0].jsValue())));
3306 return JSValue::encode(jsBoolean(jsIsObjectType(stackFrame.args[0].jsValue())));
3313 return JSValue::encode(jsBoolean(jsIsFunctionType(stackFrame.args[0].jsValue())));
3320 JSValue src1 = stackFrame.args[0].jsValue();
3321 JSValue src2 = stackFrame.args[1].jsValue();
3323 bool result = JSValue::strictEqual(stackFrame.callFrame, src1, src2);
3325 return JSValue::encode(jsBoolean(result));
3332 return JSValue::encode(stackFrame.args[0].jsValue().toPrimitive(stackFrame.callFrame));
3339 JSValue result = jsString(stackFrame.callFrame, &stackFrame.callFrame->registers()[stackFrame.args[0].int32()], stackFrame.args[1].int32());
3341 return JSValue::encode(result);
3348 JSValue src1 = stackFrame.args[0].jsValue();
3349 JSValue src2 = stackFrame.args[1].jsValue();
3351 bool result = !JSValue::strictEqual(stackFrame.callFrame, src1, src2);
3353 return JSValue::encode(jsBoolean(result));
3360 JSValue src = stackFrame.args[0].jsValue();
3363 JSValue result = src.toJSNumber(callFrame);
3365 return JSValue::encode(result);
3373 JSValue baseVal = stackFrame.args[1].jsValue();
3380 JSValue propName = stackFrame.args[0].jsValue();
3385 return JSValue::encode(jsBoolean(baseObj->hasProperty(callFrame, i)));
3389 return JSValue::encode(jsBoolean(baseObj->hasProperty(callFrame, property)));
3396 JSObject* scope = new (stackFrame.globalData) JSStaticScopeObject(stackFrame.callFrame, stackFrame.args[0].identifier(), stackFrame.args[1].jsValue(), DontDelete);
3423 stackFrame.args[0].jsValue().put(callFrame, property, stackFrame.args[2].jsValue());
3430 JSValue scrutinee = stackFrame.args[0].jsValue();
3451 JSValue scrutinee = stackFrame.args[0].jsValue();
3472 JSValue scrutinee = stackFrame.args[0].jsValue();
3494 JSValue baseValue = stackFrame.args[0].jsValue();
3497 JSValue subscript = stackFrame.args[1].jsValue();
3513 return JSValue::encode(jsBoolean(result));
3522 ASSERT(stackFrame.args[0].jsValue().isObject());
3523 JSObject* baseObj = asObject(stackFrame.args[0].jsValue());
3524 ASSERT(stackFrame.args[2].jsValue().isObject());
3525 baseObj->defineGetter(callFrame, stackFrame.args[1].identifier(), asObject(stackFrame.args[2].jsValue()));
3534 ASSERT(stackFrame.args[0].jsValue().isObject());
3535 JSObject* baseObj = asObject(stackFrame.args[0].jsValue());
3536 ASSERT(stackFrame.args[2].jsValue().isObject());
3537 baseObj->defineSetter(callFrame, stackFrame.args[1].identifier(), asObject(stackFrame.args[2].jsValue()));
3545 UString message = stackFrame.args[0].jsValue().toString(callFrame);
3577 return JSValue::encode(stackFrame.args[0].jsValue().toObject(callFrame));