Changeset 161033 in webkit for trunk/Source/JavaScriptCore/jit/JITOperations.cpp
- Timestamp:
- Dec 23, 2013, 4:11:25 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/jit/JITOperations.cpp
r160796 r161033 240 240 241 241 Identifier ident(vm, uid); 242 PutPropertySlot slot( true, exec->codeBlock()->putByIdContext());242 PutPropertySlot slot(JSValue::decode(encodedBase), true, exec->codeBlock()->putByIdContext()); 243 243 JSValue::decode(encodedBase).put(exec, ident, JSValue::decode(encodedValue), slot); 244 244 } … … 250 250 251 251 Identifier ident(vm, uid); 252 PutPropertySlot slot( false, exec->codeBlock()->putByIdContext());252 PutPropertySlot slot(JSValue::decode(encodedBase), false, exec->codeBlock()->putByIdContext()); 253 253 JSValue::decode(encodedBase).put(exec, ident, JSValue::decode(encodedValue), slot); 254 254 } … … 260 260 261 261 Identifier ident(vm, uid); 262 PutPropertySlot slot( true, exec->codeBlock()->putByIdContext());262 PutPropertySlot slot(JSValue::decode(encodedBase), true, exec->codeBlock()->putByIdContext()); 263 263 asObject(JSValue::decode(encodedBase))->putDirect(exec->vm(), ident, JSValue::decode(encodedValue), slot); 264 264 } … … 270 270 271 271 Identifier ident(vm, uid); 272 PutPropertySlot slot( false, exec->codeBlock()->putByIdContext());272 PutPropertySlot slot(JSValue::decode(encodedBase), false, exec->codeBlock()->putByIdContext()); 273 273 asObject(JSValue::decode(encodedBase))->putDirect(exec->vm(), ident, JSValue::decode(encodedValue), slot); 274 274 } … … 284 284 JSValue value = JSValue::decode(encodedValue); 285 285 JSValue baseValue = JSValue::decode(encodedBase); 286 PutPropertySlot slot( true, exec->codeBlock()->putByIdContext());286 PutPropertySlot slot(baseValue, true, exec->codeBlock()->putByIdContext()); 287 287 288 288 baseValue.put(exec, ident, value, slot); … … 307 307 JSValue value = JSValue::decode(encodedValue); 308 308 JSValue baseValue = JSValue::decode(encodedBase); 309 PutPropertySlot slot( false, exec->codeBlock()->putByIdContext());309 PutPropertySlot slot(baseValue, false, exec->codeBlock()->putByIdContext()); 310 310 311 311 baseValue.put(exec, ident, value, slot); … … 330 330 JSValue value = JSValue::decode(encodedValue); 331 331 JSObject* baseObject = asObject(JSValue::decode(encodedBase)); 332 PutPropertySlot slot( true, exec->codeBlock()->putByIdContext());332 PutPropertySlot slot(baseObject, true, exec->codeBlock()->putByIdContext()); 333 333 334 334 baseObject->putDirect(exec->vm(), ident, value, slot); … … 353 353 JSValue value = JSValue::decode(encodedValue); 354 354 JSObject* baseObject = asObject(JSValue::decode(encodedBase)); 355 PutPropertySlot slot( false, exec->codeBlock()->putByIdContext());355 PutPropertySlot slot(baseObject, false, exec->codeBlock()->putByIdContext()); 356 356 357 357 baseObject->putDirect(exec->vm(), ident, value, slot); … … 376 376 JSValue value = JSValue::decode(encodedValue); 377 377 JSValue baseValue = JSValue::decode(encodedBase); 378 PutPropertySlot slot( true, exec->codeBlock()->putByIdContext());378 PutPropertySlot slot(baseValue, true, exec->codeBlock()->putByIdContext()); 379 379 380 380 baseValue.put(exec, ident, value, slot); … … 396 396 JSValue value = JSValue::decode(encodedValue); 397 397 JSValue baseValue = JSValue::decode(encodedBase); 398 PutPropertySlot slot( false, exec->codeBlock()->putByIdContext());398 PutPropertySlot slot(baseValue, false, exec->codeBlock()->putByIdContext()); 399 399 400 400 baseValue.put(exec, ident, value, slot); … … 416 416 JSValue value = JSValue::decode(encodedValue); 417 417 JSObject* baseObject = asObject(JSValue::decode(encodedBase)); 418 PutPropertySlot slot( true, exec->codeBlock()->putByIdContext());418 PutPropertySlot slot(baseObject, true, exec->codeBlock()->putByIdContext()); 419 419 420 420 baseObject->putDirect(exec->vm(), ident, value, slot); … … 436 436 JSValue value = JSValue::decode(encodedValue); 437 437 JSObject* baseObject = asObject(JSValue::decode(encodedBase)); 438 PutPropertySlot slot( false, exec->codeBlock()->putByIdContext());438 PutPropertySlot slot(baseObject, false, exec->codeBlock()->putByIdContext()); 439 439 440 440 baseObject ->putDirect(exec->vm(), ident, value, slot); … … 470 470 baseValue.putByIndex(callFrame, i, value, callFrame->codeBlock()->isStrictMode()); 471 471 } else if (isName(subscript)) { 472 PutPropertySlot slot( callFrame->codeBlock()->isStrictMode());472 PutPropertySlot slot(baseValue, callFrame->codeBlock()->isStrictMode()); 473 473 baseValue.put(callFrame, jsCast<NameInstance*>(subscript.asCell())->privateName(), value, slot); 474 474 } else { 475 475 Identifier property(callFrame, subscript.toString(callFrame)->value(callFrame)); 476 476 if (!callFrame->vm().exception()) { // Don't put to an object if toString threw an exception. 477 PutPropertySlot slot( callFrame->codeBlock()->isStrictMode());477 PutPropertySlot slot(baseValue, callFrame->codeBlock()->isStrictMode()); 478 478 baseValue.put(callFrame, property, value, slot); 479 479 } … … 487 487 baseObject->putDirectIndex(callFrame, i, value); 488 488 } else if (isName(subscript)) { 489 PutPropertySlot slot( callFrame->codeBlock()->isStrictMode());489 PutPropertySlot slot(baseObject, callFrame->codeBlock()->isStrictMode()); 490 490 baseObject->putDirect(callFrame->vm(), jsCast<NameInstance*>(subscript.asCell())->privateName(), value, slot); 491 491 } else { 492 492 Identifier property(callFrame, subscript.toString(callFrame)->value(callFrame)); 493 493 if (!callFrame->vm().exception()) { // Don't put to an object if toString threw an exception. 494 PutPropertySlot slot( callFrame->codeBlock()->isStrictMode());494 PutPropertySlot slot(baseObject, callFrame->codeBlock()->isStrictMode()); 495 495 baseObject->putDirect(callFrame->vm(), property, value, slot); 496 496 } … … 1669 1669 } 1670 1670 1671 PutPropertySlot slot( codeBlock->isStrictMode());1671 PutPropertySlot slot(scope, codeBlock->isStrictMode()); 1672 1672 scope->methodTable()->put(scope, exec, ident, value, slot); 1673 1673
Note:
See TracChangeset
for help on using the changeset viewer.