Ignore:
Timestamp:
Jan 7, 2010, 11:41:47 PM (15 years ago)
Author:
[email protected]
Message:

Build fix for JSVALUE32 when ENABLE_JIT_OPTIMIZE* are disabled
https://bugs.webkit.org/show_bug.cgi?id=33311

Reviewed by Gavin Barraclough.

Move compileGetDirectOffset function to common part of JSVALUE32

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::compileGetDirectOffset):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/jit/JITPropertyAccess.cpp

    r52729 r52975  
    10521052}
    10531053
     1054void 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
    10541068void JIT::emit_op_get_by_pname(Instruction* currentInstruction)
    10551069{
     
    14761490        loadPtr(Address(temp, cachedOffset * sizeof(JSValue)), result);
    14771491    }
    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);
    14921492}
    14931493
Note: See TracChangeset for help on using the changeset viewer.