[PATCH] Add support for symbolic large constant entries inside stackmaps
undingen at gmail.com
Mon Apr 20 13:08:00 PDT 2015
On Mon, Apr 13, 2015 at 6:17 PM, Marius Wachtler <undingen at gmail.com> wrote:
> The attached patch implements support for embedding symbols in the array
> of large constants inside a stackmap/patchpoint.
> We (=Pyston project) embed in the LLVM IR we generate a lot of pointers to
> external constants. I would like to cache the JITed functions and therefore
> I need to make the embedded constants relocatable -> change the IR to refer
> to module variables instead which I can replace when loading the cached
> Currently when a patchpoint has a constant variable as live argument it
> will materialize it in a register. Which we don't want because the live
> variables are rarely used (also the regalloc runs out of registers when
> having to many const variables as argument to the pp?!?...).
> This patch emits a symbol reference inside the array of large constants in
> the stackmap. The stack map format is untouched by this patch.
> Together with
> this should make it possible to cache more JITed functions containing
> Looking forward to comments on this patch.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-commits