the Win32 API simply does not allow getting the base stack address of a
thread, because:
1. not stable.. Windows WILL and DOES move that base
address at will.
2. Its exclusively chosen and managed by Windows itself.. no ands,
buts, or ors about it.
In fact, the only way to get it is via the IoGetInitialStack();
function, which isn't calleable by user space functions (its a kernel
driver function, only defined in ntddk.h, and last time i checked, we
don't want a browser running in kernel-space.
What would be an alternative way to implement a conservative GC that I
can use?