Hi, I was wondering why JITArithmetic.cpp uses so many functions from X86Assembler. This should not be happened. MacroAssembler was introduced to be the 'common interface' for every back ends (not only for x86). Am I right? For example: In 'emit_op_rshift' function http://trac.webkit.org/browser/trunk/JavaScriptCore/jit/JITArithmetic.cpp#L1... 121#if USE(ALTERNATE_JSIMMEDIATE) 122 addSlowCase(emitJumpIfNotImmediateNumber(regT0)); 123 __ movq_rr(regT0, X86::xmm0); 124#else 125 emitJumpSlowCaseIfNotJSCell(regT0, op1); 126 addSlowCase(checkStructure(regT0, m_globalData->numberStructure.get())); ******************* 127 __ movsd_mr(FIELD_OFFSET(JSNumberCell, m_value), regT0, X86::xmm0); ******************* 128#endif IMHO, if a platform specific solution have to be used, creates a separate file which will contain those solutions/optimizations. What do you think about this issue? --Gabor