Upcoming Stackmap Version Change

Hi everyone,

In the current version of the stackmap format (v1), it is not possible to associate callsites with their respective functions. This seriously limits the usefulness of the stackmaps, since one cannot walk a stack (for the purposes of, say, GC) unless this is fixed.

I have put together a patch that remedies this problem, but this requires changing the format of stackmaps very slightly (one extra field per function entry emitted).

Our plan is to bump the stackmap version number supported in LLVM from 1 to 2 so that external tools do not have silent breakages. We will also be dropping support for parsing/emitting version 1 maps in LLVM once this patch is merged into trunk, since this is mostly a bugfix for v1-style maps. (see here for more details: https://reviews.llvm.org/D23487 )

~kavon