harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rana Dasgupta" <rdasg...@gmail.com>
Subject Re: [drlvm] A list of drlvm enhancements and limitations
Date Wed, 18 Oct 2006 15:36:41 GMT
Alex,
  Thanks for the information about Intel64 conventions for long mode. I
spoke losely and inaccurately below. I am the collector of the
development items, not the originator  of all items :-) It may be a good
idea to write a short document describing the calling conventions we support
on various platforms and add this to our list of JIT docs. Calling
conventions affect both JIT and core VM and clearly stating them is useful.
It is also one of the first things one may want to know about how the jit
works.

Thanks,
Rana



> On 10/17/06, Alex Astapchuk <alex.astapchuk@gmail.com> wrote:
> >
> > A small correction:
> >
> > >  Currently the IA-32 and Intel-64 CG uses calling conventions
> > > that pass all   parameters on stack.
> >
> > Stack-only is about IA-32 calling convention.
> > Intel64 CG generates a calling convention as per SystemV ABI
> > recommendations [1].
> > This is a variant of fastcall with 6 GP registers and 8 XMM registers
> > used for arguments passing.
> >
> >
> > > Also, all used calling conventions require returning
> > >  FP values in x87 register stack and
> >
> > Again, only on IA-32. Intel64 code returns float-point values on XMM0.
> >
> > > do not support callee-saved SSE registers while all
> > > FP arithmetic is done using SSE/SSE2.
> >
> > That's correct.
> > No convention currently used supports callee-saved XMMs...
> >
> >
> > [1] http://refspecs.freestandards.org/elf/x86_64-SysV-psABI.pdf
> >
> > --
> > Thanks,
> >   Alex
> >
> >
> >

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message