Displaying 3 results from an estimated 3 matches for "ldarg".
Did you mean:
ldarx
2007 Nov 06
0
[LLVMdev] Dynamic (JIT) type resolution
On Nov 5, 2007, at 8:27 PM, Nicolas Geoffray wrote:
> I would like to implement an equivalent mechanism of function
> callbacks
> in the JIT, but for fields. Typically in Java, when you compile a
> method, there may be some instructions (getfield, putfield) that
> depend
> on a type which is not yet resolved.
>
> I think the best way to do this in LLVM is to add an
2007 Nov 06
2
[LLVMdev] Dynamic (JIT) type resolution
...to not call the callback everytime).
Here's a simple example: consider class One:
public class One {
double a;
}
and class Two:
public class Two {
static double getDoubleFromOne(One arg) {
return One.a;
}
}
Here's the bytecode generated for the getDoubleFromOne method:
ldarg 0
getfield "One", "a"
return
What happens in Java is that types are created lazily. Which means you
can compile getDoubleFromOne without knowing the layout of the class
One. Therefore, if you compile getDoubleFromOne without the layout
information, the compiler will generate th...
2007 Nov 06
4
[LLVMdev] Dynamic (JIT) type resolution
Hi everyone,
I would like to implement an equivalent mechanism of function callbacks
in the JIT, but for fields. Typically in Java, when you compile a
method, there may be some instructions (getfield, putfield) that depend
on a type which is not yet resolved.
I think the best way to do this in LLVM is to add an intrinsic. The
intrinsic would be only valid if we jit, and would be lowered only in