Привет!
Подскажите, мне нужно передать указатель на стек в некоторую функцию.
Если подробнее - то сначала выполняется некоторый код который может разместить на стеке ссылки на объекты, а когда он завершается, мне надо его стек просканировать.
Такой код верно будет работать? Не получится так что sp будет как-то изменен (в преамбуле например)
Все это делается в gcc
void run(void *(*code)(void *), void * arg, int stack_size) {
unsigned int sp;
asm volatile ("sw $sp, %0" : "=m" (sp));
code->(arg);
gc_collect((void*)sp, stack_size);
}
PS Да, я не могу тут выделить свой стек :(