Repository navigation
Update JIT debug helpers - #93086
Update JIT debug helpers#93086BruceForstall merged 2 commits into
Conversation
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue Details
|
|
@jakobbotsch PTAL |
1. Make them available in builds linked using /OPT:REF (currently, Checked builds (on Windows); they are not available at all in Release builds). 2. Add a bunch of missing documentation. 3. Add `cTreeRange` 4. Make the newer dumpers more consistent with the rest by dumping a sequence number. 5. Add `dbLoop` for `dFindLoop`
79d4509 to
0a3e6b0
Compare
|
|
||
| #define DBGAPI extern "C" | ||
|
|
||
| #if defined(HOST_AMD64) && defined(_MSC_VER) |
There was a problem hiding this comment.
I assume it's disabled on x86 due to the weird mangling done there, but what about arm64?
There was a problem hiding this comment.
If this indeed is disabled on x86 for that reason I think you can fix it by switching these functions to stdcall (or cdecl, the opposite of the default we're using). In that case it's easier to keep the DBGAPI macro around.
There was a problem hiding this comment.
Yes, it's due to different mangling on x86. The mangling is due to the calling convention; we default to stdcall. We could have a separate set of pragmas for x86 mangling. It would be easier to support cdecl since it doesn't include the argument size (so isn't fragile to function signature changes). Then, using DBGAPI to specify cdecl could be used. I presume it would work for native arm64 because that and x64 only have a single calling convention so don't need to mangle.
| // make the functions all `__cdecl` to simplify, with only a leading `_`. For now, only do the "include" | ||
| // thing for x64. | ||
|
|
||
| #define DBGAPI extern "C" |
There was a problem hiding this comment.
Alternatively you can use a single extern "C" block enclosing the functions below to avoid putting this on all functions manually.
There was a problem hiding this comment.
Yeah, I'm not fond of that due to non-local (not as easily visible) context effects.
|
@jakobbotsch I updated it to work for x86/arm64 (though I didn't test it on arm64, but it does build) |
cTreeRangedbLoopfordFindLoop