Changeset 47834 in webkit for trunk/JavaScriptCore


Ignore:
Timestamp:
Aug 27, 2009, 1:45:14 PM (16 years ago)
Author:
[email protected]
Message:

x86-64 GTK broken due to code offsets changing, pointers sometimes packed into immediates.
https://bugs.webkit.org/show_bug.cgi?id=28317

Reviewed by Oliver Hunt.

Missed one, fix part II.

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::move):

  • assembler/X86Assembler.h:

(JSC::CAN_SIGN_EXTEND_8_32):

Location:
trunk/JavaScriptCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r47828 r47834  
     12009-08-27  Gavin Barraclough  <[email protected]>
     2
     3        Reviewed by Oliver Hunt.
     4
     5        x86-64 GTK broken due to code offsets changing, pointers sometimes packed into immediates.
     6        https://bugs.webkit.org/show_bug.cgi?id=28317
     7
     8        Missed one, fix part II.
     9
     10        * assembler/MacroAssemblerX86Common.h:
     11        (JSC::MacroAssemblerX86Common::move):
     12        * assembler/X86Assembler.h:
     13        (JSC::CAN_SIGN_EXTEND_8_32):
     14
    1152009-08-27  Oliver Hunt  <[email protected]>
    216
  • trunk/JavaScriptCore/assembler/MacroAssemblerX86Common.h

    r47530 r47834  
    500500    void move(ImmPtr imm, RegisterID dest)
    501501    {
    502         if (CAN_SIGN_EXTEND_U32_64(imm.asIntptr()))
    503             m_assembler.movl_i32r(static_cast<int32_t>(imm.asIntptr()), dest);
    504         else
    505             m_assembler.movq_i64r(imm.asIntptr(), dest);
     502        m_assembler.movq_i64r(imm.asIntptr(), dest);
    506503    }
    507504
  • trunk/JavaScriptCore/assembler/X86Assembler.h

    r47530 r47834  
    3939
    4040inline bool CAN_SIGN_EXTEND_8_32(int32_t value) { return value == (int32_t)(signed char)value; }
    41 #if PLATFORM(X86_64)
    42 inline bool CAN_SIGN_EXTEND_32_64(intptr_t value) { return value == (intptr_t)(int32_t)value; }
    43 inline bool CAN_SIGN_EXTEND_U32_64(intptr_t value) { return value == (intptr_t)(uint32_t)value; }
    44 #endif
    4541
    4642namespace X86Registers {
Note: See TracChangeset for help on using the changeset viewer.