• ggaren@apple.com's avatar
    Take one branch instead of two to test for JSValue(). · 71a0340c
    ggaren@apple.com authored
            
    Patch by Geoffrey Garen <ggaren@apple.com> on 2009-10-01
    Reviewed by Sam Weinig.
    
    1.1% SunSpider speedup.
    
    * jit/JITCall.cpp:
    (JSC::JIT::compileOpCall):
    * jit/JITOpcodes.cpp:
    (JSC::JIT::emit_op_to_jsnumber):
    (JSC::JIT::emit_op_create_arguments):
    * jit/JITPropertyAccess.cpp:
    (JSC::JIT::emitSlow_op_get_by_val):
    (JSC::JIT::emit_op_put_by_val): Test for the empty value tag, instead
    of testing for the cell tag with a 0 payload.
    
    * runtime/JSValue.cpp:
    (JSC::JSValue::description): Added support for dumping the new empty value,
    and deleted values, in debug builds.
    
    * runtime/JSValue.h:
    (JSC::JSValue::JSValue()): Construct JSValue() with the empty value tag.
    
    (JSC::JSValue::JSValue(JSCell*)): Convert null pointer to the empty value
    tag, to avoid having two different c++ versions of null / empty.
    
    (JSC::JSValue::operator bool): Test for the empty value tag, instead
    of testing for the cell tag with a 0 payload.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49004 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    71a0340c
JSValue.h 22 KB