mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-26 16:54:01 +00:00
auto merge of #5887 : jdm/rust/stackbounds, r=brson
This is needed to allow GC to work in SpiderMonkey.
This commit is contained in:
commit
3830040a89
@ -73,6 +73,7 @@ pub mod rustrt {
|
|||||||
pub unsafe fn rust_gc_metadata() -> *Word;
|
pub unsafe fn rust_gc_metadata() -> *Word;
|
||||||
|
|
||||||
pub unsafe fn rust_get_stack_segment() -> *StackSegment;
|
pub unsafe fn rust_get_stack_segment() -> *StackSegment;
|
||||||
|
pub unsafe fn rust_get_c_stack() -> *StackSegment;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -549,6 +549,11 @@ rust_get_stack_segment() {
|
|||||||
return rust_get_current_task()->stk;
|
return rust_get_current_task()->stk;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern "C" CDECL stk_seg *
|
||||||
|
rust_get_c_stack() {
|
||||||
|
return rust_get_current_task()->get_c_stack();
|
||||||
|
}
|
||||||
|
|
||||||
extern "C" CDECL void
|
extern "C" CDECL void
|
||||||
start_task(rust_task *target, fn_env_pair *f) {
|
start_task(rust_task *target, fn_env_pair *f) {
|
||||||
target->start(f->f, f->env, NULL);
|
target->start(f->f, f->env, NULL);
|
||||||
|
@ -374,6 +374,7 @@ public:
|
|||||||
void call_on_c_stack(void *args, void *fn_ptr);
|
void call_on_c_stack(void *args, void *fn_ptr);
|
||||||
void call_on_rust_stack(void *args, void *fn_ptr);
|
void call_on_rust_stack(void *args, void *fn_ptr);
|
||||||
bool have_c_stack() { return c_stack != NULL; }
|
bool have_c_stack() { return c_stack != NULL; }
|
||||||
|
stk_seg *get_c_stack() { return c_stack; }
|
||||||
|
|
||||||
rust_task_state get_state() { return state; }
|
rust_task_state get_state() { return state; }
|
||||||
rust_cond *get_cond() { return cond; }
|
rust_cond *get_cond() { return cond; }
|
||||||
|
@ -49,6 +49,7 @@ rust_task_is_unwinding
|
|||||||
rust_get_task
|
rust_get_task
|
||||||
rust_try_get_task
|
rust_try_get_task
|
||||||
rust_get_stack_segment
|
rust_get_stack_segment
|
||||||
|
rust_get_c_stack
|
||||||
rust_log_str
|
rust_log_str
|
||||||
start_task
|
start_task
|
||||||
vec_reserve_shared_actual
|
vec_reserve_shared_actual
|
||||||
|
Loading…
Reference in New Issue
Block a user