<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Can you put this up on phabricator? That will make review easier.<br>
<br>
You're proposing what appears to be an extension to the stackmap
format. You'll need to make sure your diff includes an update for
the documentation as well.<br>
<br>
<div class="moz-cite-prefix">On 04/13/2015 09:17 AM, Marius Wachtler
wrote:<br>
</div>
<blockquote
cite="mid:CANycJ-DGhdpPxcjDhqw9JjvqXJE6mLkxKKtJfxZPnKGkGSGwQg@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>Hi,</div>
The attached patch implements support for embedding symbols in
the array of large constants inside a stackmap/patchpoint.
<div>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
object.</div>
</div>
</blockquote>
Is there anything special about the fact these locations hold
constants? Or are you essentially just storing the location of a
global variable as a relocatable symbol? (Side note: What actually
knows how to update the resulting symbol in the stackmap format?)<br>
<blockquote
cite="mid:CANycJ-DGhdpPxcjDhqw9JjvqXJE6mLkxKKtJfxZPnKGkGSGwQg@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>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?!?...). <br>
</div>
</div>
</blockquote>
This sounds like a bug. Could you try to isolate and file a test
case?<br>
<blockquote
cite="mid:CANycJ-DGhdpPxcjDhqw9JjvqXJE6mLkxKKtJfxZPnKGkGSGwQg@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>This patch emits a symbol reference inside the array of
large constants in the stackmap. The stack map format is
untouched by this patch.</div>
<div><br>
</div>
<div>
<div>Together with <a moz-do-not-send="true"
href="http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150330/269160.html">http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150330/269160.html</a>
this should make it possible to cache more JITed functions
containing patchpoints.</div>
<div><br>
</div>
<div>Looking forward to comments on this patch.</div>
<div>Cheers,</div>
<div>Marius</div>
<div><br>
</div>
<div><br>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
llvm-commits mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a>
</pre>
</blockquote>
<br>
</body>
</html>