Changeset 40279 in webkit for trunk/JavaScriptCore/jit/JIT.cpp


Ignore:
Timestamp:
Jan 26, 2009, 5:08:53 PM (16 years ago)
Author:
[email protected]
Message:

2009-01-26 Gavin Barraclough <[email protected]>

Reviewed by Darin Adler.

Fixes for eq null & neq null, on 64-bit JIT.
https://bugs.webkit.org/show_bug.cgi?id=23559

This patch degrades 64-bit JIT performance on some benchmarks,
due to the whole not-being-incorrect thing.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
File:
1 edited

Legend:

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

    r40004 r40279  
    792792            // Now handle the immediate cases - undefined & null
    793793            isImmediate.link(this);
    794             and32(Imm32(~JSImmediate::ExtendedTagBitUndefined), X86::eax);
     794            andPtr(Imm32(~JSImmediate::ExtendedTagBitUndefined), X86::eax);
    795795            addJump(jePtr(X86::eax, ImmPtr(JSValuePtr::encode(jsNull()))), target + 2);           
    796796
     
    812812            // Now handle the immediate cases - undefined & null
    813813            isImmediate.link(this);
    814             and32(Imm32(~JSImmediate::ExtendedTagBitUndefined), X86::eax);
     814            andPtr(Imm32(~JSImmediate::ExtendedTagBitUndefined), X86::eax);
    815815            addJump(jnePtr(X86::eax, ImmPtr(JSValuePtr::encode(jsNull()))), target + 2);           
    816816
     
    11491149            isImmediate.link(this);
    11501150
    1151             and32(Imm32(~JSImmediate::ExtendedTagBitUndefined), X86::eax);
     1151            andPtr(Imm32(~JSImmediate::ExtendedTagBitUndefined), X86::eax);
    11521152            sete32(Imm32(JSImmediate::FullTagTypeNull), X86::eax);
    11531153
     
    11731173            isImmediate.link(this);
    11741174
    1175             and32(Imm32(~JSImmediate::ExtendedTagBitUndefined), X86::eax);
     1175            andPtr(Imm32(~JSImmediate::ExtendedTagBitUndefined), X86::eax);
    11761176            setne32(Imm32(JSImmediate::FullTagTypeNull), X86::eax);
    11771177
Note: See TracChangeset for help on using the changeset viewer.