Home | History | Annotate | Download | only in jit

Lines Matching defs:baseValue

806 NEVER_INLINE void JITThunks::tryCachePutByID(CallFrame* callFrame, CodeBlock* codeBlock, ReturnAddressPtr returnAddress, JSValue baseValue, const PutPropertySlot& slot, StructureStubInfo* stubInfo, bool direct)
810 if (!baseValue.isCell())
819 JSCell* baseCell = baseValue.asCell();
856 NEVER_INLINE void JITThunks::tryCacheGetByID(CallFrame* callFrame, CodeBlock* codeBlock, ReturnAddressPtr returnAddress, JSValue baseValue, const Identifier& propertyName, const PropertySlot& slot, StructureStubInfo* stubInfo)
862 if (!baseValue.isCell()) {
869 if (isJSArray(globalData, baseValue) && propertyName == callFrame->propertyNames().length) {
874 if (isJSString(globalData, baseValue) && propertyName == callFrame->propertyNames().length) {
887 JSCell* baseCell = baseValue.asCell();
897 if (slot.slotBase() == baseValue) {
934 size_t count = normalizePrototypeChain(callFrame, baseValue, slot.slotBase(), propertyName, offset);
1422 JSValue baseValue = stackFrame.args[0].jsValue();
1423 PropertySlot slot(baseValue);
1424 JSValue result = baseValue.get(callFrame, ident, slot);
1500 JSValue baseValue = stackFrame.args[0].jsValue();
1504 ASSERT(baseValue.isObject());
1505 JSObject* base = asObject(baseValue);
1518 JSValue baseValue = stackFrame.args[0].jsValue();
1519 PropertySlot slot(baseValue);
1520 JSValue result = baseValue.get(callFrame, ident, slot);
1544 if (baseValue.isCell()
1546 && !(structure = baseValue.asCell()->structure())->isUncacheableDictionary()
1573 if (slot.slotBase() == baseValue) {
1590 JSValue baseValue = stackFrame.args[0].jsValue();
1591 PropertySlot slot(baseValue);
1592 JSValue result = baseValue.get(callFrame, ident, slot);
1599 JITThunks::tryCacheGetByID(callFrame, codeBlock, STUB_RETURN_ADDRESS, baseValue, ident, slot, stubInfo);
1612 JSValue baseValue = stackFrame.args[0].jsValue();
1613 PropertySlot slot(baseValue);
1614 JSValue result = baseValue.get(callFrame, ident, slot);
1618 if (baseValue.isCell()
1620 && !baseValue.asCell()->structure()->isUncacheableDictionary()
1621 && slot.slotBase() == baseValue) {
1641 JIT::compileGetByIdSelfList(callFrame->scopeChain()->globalData, codeBlock, stubInfo, polymorphicStructureList, listIndex, baseValue.asCell()->structure(), ident, slot, slot.cachedOffset());
1719 JSValue baseValue = stackFrame.args[0].jsValue();
1720 PropertySlot slot(baseValue);
1721 JSValue result = baseValue.get(callFrame, propertyName, slot);
1725 if (!baseValue.isCell() || !slot.isCacheable() || baseValue.asCell()->structure()->isDictionary()) {
1730 Structure* structure = baseValue.asCell()->structure();
1739 if (slot.slotBase() == baseValue)
1741 else if (slot.slotBase() == baseValue.asCell()->structure()->prototypeForLookup(callFrame)) {
1742 ASSERT(!baseValue.asCell()->structure()->isDictionary());
1758 } else if (size_t count = normalizePrototypeChain(callFrame, baseValue, slot.slotBase(), propertyName, offset)) {
1759 ASSERT(!baseValue.asCell()->structure()->isDictionary());
1780 JSValue baseValue = stackFrame.args[0].jsValue();
1781 PropertySlot slot(baseValue);
1782 JSValue result = baseValue.get(stackFrame.callFrame, stackFrame.args[1].identifier(), slot);
1792 JSValue baseValue = stackFrame.args[0].jsValue();
1793 PropertySlot slot(baseValue);
1794 baseValue.get(stackFrame.callFrame, stackFrame.args[1].identifier(), slot);
1804 JSValue baseValue = stackFrame.args[0].jsValue();
1805 PropertySlot slot(baseValue);
1806 JSValue result = baseValue.get(stackFrame.callFrame, stackFrame.args[1].identifier(), slot);
1816 JSValue baseValue = stackFrame.args[0].jsValue();
1817 PropertySlot slot(baseValue);
1818 JSValue result = baseValue.get(stackFrame.callFrame, stackFrame.args[1].identifier(), slot);
2345 JSValue baseValue = stackFrame.args[0].jsValue();
2348 if (LIKELY(baseValue.isCell() && subscript.isString())) {
2350 PropertySlot slot(baseValue.asCell());
2353 if (baseValue.asCell()->fastGetOwnPropertySlot(callFrame, propertyName, slot)) {
2362 if (isJSString(globalData, baseValue) && asString(baseValue)->canGetIndex(i)) {
2364 JSValue result = asString(baseValue)->getIndex(callFrame, i);
2368 if (isJSByteArray(globalData, baseValue) && asByteArray(baseValue)->canAccessIndex(i)) {
2371 return JSValue::encode(asByteArray(baseValue)->getIndex(callFrame, i));
2373 JSValue result = baseValue.get(callFrame, i);
2379 JSValue result = baseValue.get(callFrame, property);
2391 JSValue baseValue = stackFrame.args[0].jsValue();
2398 if (isJSString(globalData, baseValue) && asString(baseValue)->canGetIndex(i))
2399 result = asString(baseValue)->getIndex(callFrame, i);
2401 result = baseValue.get(callFrame, i);
2402 if (!isJSString(globalData, baseValue))
2407 result = baseValue.get(callFrame, property);
2421 JSValue baseValue = stackFrame.args[0].jsValue();
2428 if (isJSByteArray(globalData, baseValue) && asByteArray(baseValue)->canAccessIndex(i)) {
2430 return JSValue::encode(asByteArray(baseValue)->getIndex(callFrame, i));
2433 result = baseValue.get(callFrame, i);
2434 if (!isJSByteArray(globalData, baseValue))
2438 result = baseValue.get(callFrame, property);
2470 JSValue baseValue = stackFrame.args[0].jsValue();
2476 if (isJSArray(globalData, baseValue)) {
2477 JSArray* jsArray = asArray(baseValue);
2482 } else if (isJSByteArray(globalData, baseValue) && asByteArray(baseValue)->canAccessIndex(i)) {
2483 JSByteArray* jsByteArray = asByteArray(baseValue);
2497 baseValue.put(callFrame, i, value);
2499 baseValue.put(callFrame, i, value);
2504 baseValue.put(callFrame, property, value, slot);
2518 JSValue baseValue = stackFrame.args[0].jsValue();
2524 if (isJSByteArray(globalData, baseValue) && asByteArray(baseValue)->canAccessIndex(i)) {
2525 JSByteArray* jsByteArray = asByteArray(baseValue);
2540 if (!isJSByteArray(globalData, baseValue))
2542 baseValue.put(callFrame, i, value);
2547 baseValue.put(callFrame, property, value, slot);
3205 JSValue baseValue = argv[0].jsValue();
3208 if (baseValue == globalObject && funcVal == globalObject->evalFunction()) {
3494 JSValue baseValue = stackFrame.args[0].jsValue();
3495 JSObject* baseObj = baseValue.toObject(callFrame); // may throw