-
cwzwarich@webkit.org authored
Reviewed by Maciej Stachowiak. Add a new opcode jnlesseq, and optimize its compilation in the JIT using techniques similar to what were used to optimize jnless in r43363. This gives a 0.7% speedup on SunSpider, particularly on the tests 3d-cube, control-flow-recursive, date-format-xparb, and string-base64. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): Add support for dumping op_jnlesseq. * bytecode/Opcode.h: Add op_jnlesseq to the list of opcodes. * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitJumpIfFalse): Add a peephole optimization for op_jnlesseq when emitting lesseq followed by a jump. * interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute): Add case for op_jnlesseq. * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): Add case for op_jnlesseq. (JSC::JIT::privateCompileSlowCases): Add case for op_jnlesseq. * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::compileFastArith_op_jnlesseq): Added. (JSC::JIT::compileFastArithSlow_op_jnlesseq): Added. * jit/JITStubs.cpp: (JSC::JITStubs::cti_op_jlesseq): Added. * jit/JITStubs.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@43401 268f45cc-cd09-0410-ab3c-d52691b4dbfc
88aa8579