[LLVMdev] [RFC] Stackmap and Patchpoint Intrinsic Proposal
Philip R
listmail at philipreames.com
Tue Oct 22 09:53:06 PDT 2013
On 10/17/13 10:39 PM, Andrew Trick wrote:
> This is a proposal for adding Stackmaps and Patchpoints to LLVM. The
> first client of these features is the JavaScript compiler within the
> open source WebKit project.
>
I have a couple of comments on your proposal. None of these are major
enough to prevent submission.
- As others have said, I'd prefer an experimental namespace rather than
a webkit namespace. (minor)
- Unless I am misreading your proposal, your proposed StackMap intrinsic
duplicates existing functionality already in llvm. In particular, much
of the StackMap construction seems similar to the Safepoint mechanism
used by the in-tree GC support. (See CodeGen/GCStrategy.cpp and
CodeGen/GCMetadata.cpp). Have you examined these mechanisms to see if
you can share implementations?
- To my knowledge, there is nothing that prevents an LLVM optimization
pass from manufacturing new pointers which point inside an existing data
structure. (e.g. an interior pointer to an array when blocking a loop)
Does your StackMap mechanism need to be able to inspect/modify these
manufactured temporaries? If so, I don't see how you could generate an
intrinsic which would include this manufactured pointer in the live
variable list. Is there something I'm missing here?
- Your patchpoint mechanism appears to be one very specialized use of a
patchable location. Would you mind renaming it to something like
patchablecall to reflect this specialization?
Yours,
Philip
More information about the llvm-dev
mailing list