One big candidate are all the branch & other conditional operations. By parameterizing these methods on the comparison operation, we can significantly reduce replication of code, and simplify the code generation interface. Another trivial fix is to stop the Scale of BaseIndex addresses as being passed as multiplicands (1,2,4,8), and instead use a plain enum (0,1,2,3). This is likely more useful encoding, and can be more trivial converted to a multiplicand where necessary.
Created attachment 27293 [details] The patch
Comment on attachment 27293 [details] The patch r=me
Our style guidelines say that "jcc" should be "jCC" and "setcc" should be "setCC".
Sending JavaScriptCore/ChangeLog Sending JavaScriptCore/assembler/MacroAssembler.h Sending JavaScriptCore/assembler/X86Assembler.h Sending JavaScriptCore/jit/JIT.cpp Sending JavaScriptCore/jit/JITArithmetic.cpp Sending JavaScriptCore/jit/JITCall.cpp Sending JavaScriptCore/jit/JITInlineMethods.h Sending JavaScriptCore/jit/JITPropertyAccess.cpp Sending JavaScriptCore/runtime/RegExp.cpp Sending JavaScriptCore/wrec/WRECGenerator.cpp Transmitting file data .......... Committed revision 40562.