On Feb 6, 2009, at 2:52 PM, x yz wrote:

1.what's the meaning of ALTERNATE_JSIMMEDIATE and slow case?

On x86-64 we use a different implementation of the class JSImmediate. See JSImmediate.h. Re 'slow case', in the JIT code generation is performed as two passes over the bytecode – see JIT::privateCompileMainPass and JIT::privateCompileSlowCases.

2.how come the following code can use ECX as base register?
load32(Address(X86::ecx, FIELD_OFFSET(Structure, m_typeInfo.m_flags)), X86::ecx); if the X86::ecx just means its value 1 in ModR/M, does it means [BX +DI]?

I think you're looking at the old 16-bit addressing mode tables; 32/64- bit x86 can happily encode ecx as a base register. If you're looking at the Intel IA-32 manual volume 2, see table 2-2 on the next page.

3. can anybody help me on my previous questions? does JIT support floating point?

Yes, some.  See JITArithmetic.cpp.

 cheers,
G.


_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to