[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Lightning] Some questions about minor changes
From: |
Paulo César Pereira de Andrade |
Subject: |
[Lightning] Some questions about minor changes |
Date: |
Fri, 24 Sep 2010 05:16:06 -0300 |
Hi,
I just added proper support to call prototyped C functions with any number of
arguments to i386 and x86_64. Interestingly, varargs functions were working
with a wrong stack frame in x86_64, and my previous test was too simple,
but I was wondering if it was actually right for some time...
About the questions:
o Is it a problem to use byte or word opcodes, i.e. will it cause some kind
of register stall, or something, like setting %al or testing %ax, when only
that is used, e.g. setting %al as "hidden" counter of xmm registers used
when calling a varargs function, or test %ax after fnstw?
o Would it be a good idea to either add new interfaces, or change the
existing one? e.g. jit_prepare and jit_prolog would be better with 3
arguments,
to properly calculate the stack offsets, when keeping the stack aligned at
16 bytes, otherwise, it requires a not so clear logic, to "intercept" the
first call to jit_pusharg_t, jit_arg_t and/or jit_allocai.
I understand that, to some extent, I am adding significant extra
complexity to lightning, by adding support to any number of arguments
for example. Maybe I am wanting too much of it :-) But my goal is
to have it as a framework for jit generation of dynamically typed
languages, while still providing solid support for statically typed
ones...
Thanks,
Paulo
- [Lightning] Some questions about minor changes,
Paulo César Pereira de Andrade <=