Split start into rustc and rustboot versions. This introduces a bit of

duplication, but we will hopefully drop the rustboot one soon.

This is also a preparation for changing the rustc one to have the activate glue
return to the exit glue which will then call the main function.

This (returning to the function that calls main) matches what happens when
loader stats a program or a new thread. It lets gdb produce good backtraces
and should help with EH too.
This commit is contained in:
Rafael Ávila de Espíndola
2011-05-03 10:19:28 -04:00
parent a919a3082d
commit a3ff02f126
2 changed files with 122 additions and 27 deletions

View File

@@ -60,6 +60,14 @@ rust_task : public maybe_proxy<rust_task>,
uintptr_t spawnee_fn,
uintptr_t args,
size_t callsz);
void start_rustboot(uintptr_t exit_task_glue,
uintptr_t spawnee_fn,
uintptr_t args,
size_t callsz);
void start_rustc(uintptr_t exit_task_glue,
uintptr_t spawnee_fn,
uintptr_t args,
size_t callsz);
void grow(size_t n_frame_bytes);
bool running();
bool blocked();