DotGNU Portable.NET - Patches: patch #7295, LibJit: Added support for windows...
You are not allowed to post comments on this tracker with your current authentication level.
patch #7295: LibJit: Added support for windows 64-bit callstack info
Submitter: | Patrick van Beem <pvbeem> | ||
Submitted: | Tue 31 Aug 2010 07:36:18 AM UTC | ||
Category: | None | Priority: | 5 - Normal |
Status: | None | Privacy: | Public |
Assigned to: | None | Open/Closed: | Open |
Attached Files
file #21357: stackinfo64.zip.zip added by pvbeem (42KiB - application/zip - The patch and files are based on the version with my previous patch installed.)
Depends on the following items: None found
Items that depend on this one: None found
Carbon-Copy List
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follows 1 latest change.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2010-08-31 | pvbeem | Attached File | - | Added stackinfo64.zip.zip, #21357 |
Powered by Savane 3.13-758e.
Corresponding source code
Added code do generate and request windows structures that describe the function and it's prolog. This unwind information is used by windows to unwind the stack when it has to generate a call stack (in case of an exception or in the debugger).
This can be used like:
PRUNTIME_FUNCTION pruntimefunction;
DWORD64 baseaddress;
if ( jit_function_compile(func) && jit_get_function_boundaries(func, (void**)&pruntimefunction, (void**)&baseaddress))
{
RtlAddFunctionTable(pruntimefunction, 1, baseaddress);
}
and when you free the function:
RtlDeleteFunctionTable(pruntimefunction);
Note that at leas Visual Studio 2005 does not use this information to show the correct call stack in the debugger. WinDbg and Visual Studio 2010 do (did not try 2008).