JIT: Track IL offset of all calls
authorAndy Ayers <andya@microsoft.com>
Tue, 24 May 2016 18:49:15 +0000 (11:49 -0700)
committerAndy Ayers <andya@microsoft.com>
Thu, 26 May 2016 01:21:33 +0000 (18:21 -0700)
commit78b78103b0a155bc3abbb4b6878390959062ef8c
tree450f5d03ecc51fd6173d1c0614c235fc552dc3cc
parent049961ad651dda73a2578f37df5b1d5e88345d0a
JIT: Track IL offset of all calls

The jit normally only does sparse IL offset tracking. This makes it
difficult for the jit to consistently describe call sites, especially in
cases where there are multiple calls in a statement or calls from inlined
methods.

Because the current IL tracking is intimately tied up with debug
emission, we can't simply start tracking offsets more broadly. This
change introduces a separate `gtRawILOffset` field for calls. The
new field currently only exists in debug and inline data builds.

Since `impImportCall` was the only caller of `impCurILOffset`, I
refactored the code to have callers pass the raw offset so it could
be recorded on the call. `impImportCall` converts this raw offset to
the reportable IL offset as befre. I've also updated the banner comment
to the new style and fixed a few small CC violations.
src/jit/compiler.h
src/jit/gentree.cpp
src/jit/gentree.h
src/jit/importer.cpp