Привет!


Подскажите, мне нужно передать указатель на стек в некоторую функцию.


Если подробнее - то сначала выполняется некоторый код который может разместить на стеке ссылки на объекты, а когда он завершается, мне надо его стек просканировать.


Такой код верно будет работать? Не получится так что 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
Да, я не могу тут выделить свой стек









 






URL записи