Changeset 44797 in webkit for trunk/JavaScriptCore/jit
- Timestamp:
- Jun 17, 2009, 11:40:53 PM (16 years ago)
- Location:
- trunk/JavaScriptCore/jit
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/jit/JIT.h
r44743 r44797 460 460 461 461 void compileGetDirectOffset(RegisterID base, RegisterID result, Structure* structure, size_t cachedOffset); 462 void compileGetDirectOffset(JSObject* base, RegisterID result, size_t cachedOffset);462 void compileGetDirectOffset(JSObject* base, RegisterID temp, RegisterID result, size_t cachedOffset); 463 463 void compilePutDirectOffset(RegisterID base, RegisterID value, Structure* structure, size_t cachedOffset); 464 464 -
trunk/JavaScriptCore/jit/JITPropertyAccess.cpp
r44713 r44797 414 414 } 415 415 416 void JIT::compileGetDirectOffset(JSObject* base, RegisterID result, size_t cachedOffset)416 void JIT::compileGetDirectOffset(JSObject* base, RegisterID temp, RegisterID result, size_t cachedOffset) 417 417 { 418 418 if (base->isUsingInlineStorage()) 419 419 loadPtr(static_cast<void*>(&base->m_inlineStorage[cachedOffset]), result); 420 else 421 loadPtr(static_cast<void*>(&base->m_externalStorage[cachedOffset]), result); 420 else { 421 PropertyStorage* protoPropertyStorage = &base->m_externalStorage; 422 loadPtr(static_cast<void*>(protoPropertyStorage), temp); 423 loadPtr(Address(temp, cachedOffset * sizeof(JSValue)), result); 424 } 422 425 } 423 426 … … 615 618 616 619 // Checks out okay! - getDirectOffset 617 compileGetDirectOffset(protoObject, regT 0, cachedOffset);620 compileGetDirectOffset(protoObject, regT1, regT0, cachedOffset); 618 621 619 622 Jump success = jump(); … … 690 693 691 694 // Checks out okay! - getDirectOffset 692 compileGetDirectOffset(protoObject, regT 0, cachedOffset);695 compileGetDirectOffset(protoObject, regT1, regT0, cachedOffset); 693 696 694 697 Jump success = jump(); … … 744 747 ASSERT(protoObject); 745 748 746 compileGetDirectOffset(protoObject, regT 0, cachedOffset);749 compileGetDirectOffset(protoObject, regT1, regT0, cachedOffset); 747 750 Jump success = jump(); 748 751 … … 797 800 ASSERT(protoObject); 798 801 799 compileGetDirectOffset(protoObject, regT 0, cachedOffset);802 compileGetDirectOffset(protoObject, regT1, regT0, cachedOffset); 800 803 Jump success = jump(); 801 804
Note:
See TracChangeset
for help on using the changeset viewer.