[llvm-commits] [PATCH] Sanitize the JITResolver stub/callsite<->function maps

jyasskin at gmail.com jyasskin at gmail.com
Wed Oct 14 16:28:38 PDT 2009


Reviewers: ,

Message:
Patch at http://codereview.appspot.com/download/issue130080_1.diff

This passes check-lit.

Description:
The JITResolver maps Functions to their canonical stubs and all
callsites for lazily-compiled functions to their target Functions. To
make Function destruction work, I'm going to need to remove all
callsites on destruction, so this patch also adds the reverse mapping
for that.

There was an incorrect assumption in here that the only stub for a
function would be the one caused by needing to lazily compile it, while
x86-64 far calls and dlsym-stubs could also cause such stubs, but I
didn't look for a test case that the assumption broke.

This also adds DenseMapInfo<AssertingVH> so I can use DenseMaps instead
of std::maps.

Please review this at http://codereview.appspot.com/130080

Affected files:
   M include/llvm/Support/ValueHandle.h
   M lib/ExecutionEngine/JIT/JITEmitter.cpp





More information about the llvm-commits mailing list