Changeset 52975 in webkit for trunk/JavaScriptCore/jit/JITPropertyAccess.cpp
- Timestamp:
- Jan 7, 2010, 11:41:47 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/jit/JITPropertyAccess.cpp
r52729 r52975 1052 1052 } 1053 1053 1054 void JIT::compileGetDirectOffset(RegisterID base, RegisterID result, RegisterID structure, RegisterID offset, RegisterID scratch) 1055 { 1056 ASSERT(sizeof(((Structure*)0)->m_propertyStorageCapacity) == sizeof(int32_t)); 1057 ASSERT(sizeof(JSObject::inlineStorageCapacity) == sizeof(int32_t)); 1058 1059 Jump notUsingInlineStorage = branch32(NotEqual, Address(structure, OBJECT_OFFSETOF(Structure, m_propertyStorageCapacity)), Imm32(JSObject::inlineStorageCapacity)); 1060 loadPtr(BaseIndex(base, offset, ScalePtr, OBJECT_OFFSETOF(JSObject, m_inlineStorage)), result); 1061 Jump finishedLoad = jump(); 1062 notUsingInlineStorage.link(this); 1063 loadPtr(Address(base, OBJECT_OFFSETOF(JSObject, m_externalStorage)), scratch); 1064 loadPtr(BaseIndex(scratch, offset, ScalePtr, 0), result); 1065 finishedLoad.link(this); 1066 } 1067 1054 1068 void JIT::emit_op_get_by_pname(Instruction* currentInstruction) 1055 1069 { … … 1476 1490 loadPtr(Address(temp, cachedOffset * sizeof(JSValue)), result); 1477 1491 } 1478 }1479 1480 void JIT::compileGetDirectOffset(RegisterID base, RegisterID result, RegisterID structure, RegisterID offset, RegisterID scratch)1481 {1482 ASSERT(sizeof(((Structure*)0)->m_propertyStorageCapacity) == sizeof(int32_t));1483 ASSERT(sizeof(JSObject::inlineStorageCapacity) == sizeof(int32_t));1484 1485 Jump notUsingInlineStorage = branch32(NotEqual, Address(structure, OBJECT_OFFSETOF(Structure, m_propertyStorageCapacity)), Imm32(JSObject::inlineStorageCapacity));1486 loadPtr(BaseIndex(base, offset, ScalePtr, OBJECT_OFFSETOF(JSObject, m_inlineStorage)), result);1487 Jump finishedLoad = jump();1488 notUsingInlineStorage.link(this);1489 loadPtr(Address(base, OBJECT_OFFSETOF(JSObject, m_externalStorage)), scratch);1490 loadPtr(BaseIndex(scratch, offset, ScalePtr, 0), result);1491 finishedLoad.link(this);1492 1492 } 1493 1493
Note:
See TracChangeset
for help on using the changeset viewer.