Hi,
I am currently porting some code now that requires me to know if the memory
of a pointer is allocated on the heap or the stack. Is there an API in
Emcripten that allows me to do this? I tried to do this using the
STACK_BASE and STACK_MAX javascript variables but didn't manage to get very
far. The following is my code:
bool isStackAddress()
{
void* ptr = malloc(5 * sizeof(int));
int result = EM_ASM_INT( {
console.error('STACK_BASE: ' + STACK_BASE + ' STACKTOP: ' +
STACKTOP + ' STACK_MAX:' + STACK_MAX + ' ptr: ' + $0);
return 1; // return dummy result
}, ptr);
return result;
}
But this is what I observed when I ran the function:
STACK_BASE = 61904
STACKTOP = 61904
STACK_MAX = 5304784
ptr = 5318696
I had expected ptr to be bigger than STACK_BASE + STACK_MAX (5366688) but
apparently this is not the case. Is there a better way or existing API in
Emscripten that identifies if a chunk of memory is allocated on the stack
or heap? Thanks.
--
You received this message because you are subscribed to the Google Groups
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.