[kaffe] [PATCH] Add support for AMD64

Gwenole Beauchesne gbeauchesne@mandrakesoft.com
Tue May 20 01:43:02 2003


On Mon, 19 May 2003, Dalibor Topic wrote:

> > I planned to port JIT3 too by I hadn't got enough time recently to do so. 
> > A few months ago, I implemented a run-time assembler though. It can handle 
> > both IA-32 and AMD64 architectures with REX prefixes, SSE/SSE2 
> > instructions.
> 
> I'm confused. What is a run-time assembler?

An assembler included in your program to assemble instructions at
execution time (run-time). e.g. you write things like:

  MOVBrr(X86_BL, X86_DL);
  MOVLmr(0, X86_NOREG, X86_RAX, 1, X86_EAX);

and you get the resulting opcodes in your buffer. This disassembles to:

00000227: 88 da                 mov    %bl,%dl
00000229: 8b 04 05 00 00 00 8b  mov    0x0(,%rax,1),%eax

Otherwise, it's difficult to maintain if you hand-assemble things, and 
this actually can be reused for other projects. ;-)

Bye,
Gwenole.