[webkit-dev] want to port JIT to MIPS - using X86::ecx as base
Gavin Barraclough
barraclough at apple.com
Fri Feb 6 15:08:32 PST 2009
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.
More information about the webkit-dev
mailing list