Skip to content
  • barraclough@apple.com's avatar
    Mapping booleans the same way as integers · 5139edc1
    barraclough@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=56913
    
    Patch by Zoltan Herczeg <zherczeg@webkit.org> on 2011-04-07
    Reviewed by Gavin Barraclough.
    
    Instead of having a seperate tag field for booleans,
    the logical values are stored in the payload field
    (for JSValue32_64 representation).
    
    1.007x speedup on SunSpider.
    
    * jit/JIT.h:
    * jit/JITInlineMethods.h:
    (JSC::JIT::emitStoreBool):
    * jit/JITOpcodes32_64.cpp:
    (JSC::JIT::emit_op_instanceof):
    (JSC::JIT::emit_op_not):
    (JSC::JIT::emit_op_jfalse):
    (JSC::JIT::emitSlow_op_jfalse):
    (JSC::JIT::emit_op_jtrue):
    (JSC::JIT::emitSlow_op_jtrue):
    (JSC::JIT::emit_op_jeq_null):
    (JSC::JIT::emit_op_jneq_null):
    (JSC::JIT::emit_op_eq):
    (JSC::JIT::emitSlow_op_eq):
    (JSC::JIT::emit_op_neq):
    (JSC::JIT::emitSlow_op_neq):
    (JSC::JIT::compileOpStrictEq):
    (JSC::JIT::emit_op_eq_null):
    (JSC::JIT::emit_op_neq_null):
    * jit/JSInterfaceJIT.h:
    * runtime/JSValue.h:
    (JSC::JSValue::JSValue):
    (JSC::JSValue::isTrue):
    (JSC::JSValue::isFalse):
    (JSC::JSValue::getBoolean):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    5139edc1