Lines Matching full:slot
783 NEVER_INLINE void JITThunks::tryCachePutByID(CallFrame* callFrame, CodeBlock* codeBlock, ReturnAddressPtr returnAddress, JSValue baseValue, const PutPropertySlot& slot, StructureStubInfo* stubInfo)
791 if (!slot.isCacheable()) {
805 if (baseCell != slot.base()) {
813 if (slot.type() == PutPropertySlot::NewProperty) {
824 JIT::compilePutByIdTransition(callFrame->scopeChain()->globalData, codeBlock, stubInfo, structure->previousID(), structure, slot.cachedOffset(), prototypeChain, returnAddress);
830 JIT::patchPutByIdReplace(codeBlock, stubInfo, structure, slot.cachedOffset(), returnAddress);
833 NEVER_INLINE void JITThunks::tryCacheGetByID(CallFrame* callFrame, CodeBlock* codeBlock, ReturnAddressPtr returnAddress, JSValue baseValue, const Identifier& propertyName, const PropertySlot& slot, StructureStubInfo* stubInfo)
859 if (!slot.isCacheable()) {
874 if (slot.slotBase() == baseValue) {
878 JIT::patchGetByIdSelf(codeBlock, stubInfo, structure, slot.cachedOffset(), returnAddress);
887 if (slot.slotBase() == structure->prototypeForLookup(callFrame)) {
888 ASSERT(slot.slotBase().isObject());
890 JSObject* slotBaseObject = asObject(slot.slotBase());
891 size_t offset = slot.cachedOffset();
908 size_t offset = slot.cachedOffset();
909 size_t count = normalizePrototypeChain(callFrame, baseValue, slot.slotBase(), propertyName, offset);
1200 PutPropertySlot slot;
1201 stackFrame.args[0].jsValue().put(stackFrame.callFrame, stackFrame.args[1].identifier(), stackFrame.args[2].jsValue(), slot);
1213 PropertySlot slot(baseValue);
1214 JSValue result = baseValue.get(callFrame, ident, slot);
1228 PutPropertySlot slot;
1229 stackFrame.args[0].jsValue().put(callFrame, ident, stackFrame.args[2].jsValue(), slot);
1236 JITThunks::tryCachePutByID(callFrame, codeBlock, STUB_RETURN_ADDRESS, stackFrame.args[0].jsValue(), slot, stubInfo);
1248 PutPropertySlot slot;
1249 stackFrame.args[0].jsValue().put(callFrame, ident, stackFrame.args[2].jsValue(), slot);
1277 PropertySlot slot(baseValue);
1278 JSValue result = baseValue.get(callFrame, ident, slot);
1292 ASSERT(!slot.isCacheable() || slot.slotBase().isObject());
1303 && slot.isCacheable()
1305 && (slotBaseObject = asObject(slot.slotBase()))->getPropertySpecificValue(callFrame, ident, specific)
1320 if (slot.slotBase() == structure->prototypeForLookup(callFrame)) {
1331 if (slot.slotBase() == baseValue) {
1349 PropertySlot slot(baseValue);
1350 JSValue result = baseValue.get(callFrame, ident, slot);
1357 JITThunks::tryCacheGetByID(callFrame, codeBlock, STUB_RETURN_ADDRESS, baseValue, ident, slot, stubInfo);
1371 PropertySlot slot(baseValue);
1372 JSValue result = baseValue.get(callFrame, ident, slot);
1377 && slot.isCacheable()
1379 && slot.slotBase() == baseValue) {
1384 ASSERT(slot.slotBase().isObject());
1399 JIT::compileGetByIdSelfList(callFrame->scopeChain()->globalData, codeBlock, stubInfo, polymorphicStructureList, listIndex, asCell(baseValue)->structure(), slot.cachedOffset());
1445 PropertySlot slot(baseValue);
1446 JSValue result = baseValue.get(callFrame, propertyName, slot);
1450 if (!baseValue.isCell() || !slot.isCacheable() || asCell(baseValue)->structure()->isDictionary()) {
1459 ASSERT(slot.slotBase().isObject());
1460 JSObject* slotBaseObject = asObject(slot.slotBase());
1462 size_t offset = slot.cachedOffset();
1464 if (slot.slotBase() == baseValue)
1466 else if (slot.slotBase() == asCell(baseValue)->structure()->prototypeForLookup(callFrame)) {
1482 } else if (size_t count = normalizePrototypeChain(callFrame, baseValue, slot.slotBase(), propertyName, offset)) {
1503 PropertySlot slot(baseValue);
1504 JSValue result = baseValue.get(stackFrame.callFrame, stackFrame.args[1].identifier(), slot);
1515 PropertySlot slot(baseValue);
1516 JSValue result = baseValue.get(stackFrame.callFrame, stackFrame.args[1].identifier(), slot);
1527 PropertySlot slot(baseValue);
1528 JSValue result = baseValue.get(stackFrame.callFrame, stackFrame.args[1].identifier(), slot);
1539 PropertySlot slot(baseValue);
1540 JSValue result = baseValue.get(stackFrame.callFrame, stackFrame.args[1].identifier(), slot);
1855 PropertySlot slot(o);
1856 if (o->getPropertySlot(callFrame, ident, slot)) {
1857 JSValue result = slot.getValue(callFrame, ident);
2087 PutPropertySlot slot;
2088 baseValue.put(callFrame, property, value, slot);
2130 PutPropertySlot slot;
2131 baseValue.put(callFrame, property, value, slot);
2279 PropertySlot slot(o);
2280 if (o->getPropertySlot(callFrame, ident, slot)) {
2281 JSValue result = slot.getValue(callFrame, ident);
2303 PropertySlot slot(globalObject);
2304 if (globalObject->getPropertySlot(callFrame, ident, slot)) {
2305 JSValue result = slot.getValue(callFrame, ident);
2306 if (slot.isCacheable() && !globalObject->structure()->isUncacheableDictionary() && slot.slotBase() == globalObject) {
2312 globalResolveInfo.offset = slot.cachedOffset();
2608 PropertySlot slot(base);
2609 if (base->getPropertySlot(callFrame, ident, slot)) {
2610 JSValue result = slot.getValue(callFrame, ident);