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