Skip to content

Commit

Permalink
Remove jl_task_stack_buffer (#54527)
Browse files Browse the repository at this point in the history
This was removed previously in PR #54527 but had to be reverted in
PR #54559 as one usage remained (more by accident then by design).
This has since then been resolved.
  • Loading branch information
fingolfin committed Jan 21, 2025
1 parent 90d346f commit e76bac2
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 38 deletions.
1 change: 0 additions & 1 deletion src/jl_exported_funcs.inc
Original file line number Diff line number Diff line change
Expand Up @@ -449,7 +449,6 @@
XX(jl_tagged_gensym) \
XX(jl_take_buffer) \
XX(jl_task_get_next) \
XX(jl_task_stack_buffer) \
XX(jl_termios_size) \
XX(jl_test_cpu_feature) \
XX(jl_threadid) \
Expand Down
9 changes: 0 additions & 9 deletions src/julia_gcext.h
Original file line number Diff line number Diff line change
Expand Up @@ -135,15 +135,6 @@ JL_DLLEXPORT int jl_gc_conservative_gc_support_enabled(void);
// NOTE: Only valid to call from within a GC context.
JL_DLLEXPORT jl_value_t *jl_gc_internal_obj_base_ptr(void *p) JL_NOTSAFEPOINT;

// Return a non-null pointer to the start of the stack area if the task
// has an associated stack buffer. In that case, *size will also contain
// the size of that stack buffer upon return. Also, if task is a thread's
// current task, that thread's id will be stored in *tid; otherwise,
// *tid will be set to -1.
//
// DEPRECATED: use jl_active_task_stack() instead.
JL_DLLEXPORT void *jl_task_stack_buffer(jl_task_t *task, size_t *size, int *tid);

// Query the active and total stack range for the given task, and set
// *active_start and *active_end respectively *total_start and *total_end
// accordingly. The range for the active part is a best-effort approximation
Expand Down
28 changes: 0 additions & 28 deletions src/task.c
Original file line number Diff line number Diff line change
Expand Up @@ -352,34 +352,6 @@ void JL_NORETURN jl_finish_task(jl_task_t *ct)
abort();
}

JL_DLLEXPORT void *jl_task_stack_buffer(jl_task_t *task, size_t *size, int *ptid)
{
size_t off = 0;
#ifndef _OS_WINDOWS_
jl_ptls_t ptls0 = jl_atomic_load_relaxed(&jl_all_tls_states)[0];
if (ptls0->root_task == task) {
// See jl_init_root_task(). The root task of the main thread
// has its buffer enlarged by an artificial 3000000 bytes, but
// that means that the start of the buffer usually points to
// inaccessible memory. We need to correct for this.
off = ROOT_TASK_STACK_ADJUSTMENT;
}
#endif
jl_ptls_t ptls2 = task->ptls;
*ptid = -1;
if (ptls2) {
*ptid = jl_atomic_load_relaxed(&task->tid);
#ifdef COPY_STACKS
if (task->ctx.copy_stack) {
*size = ptls2->stacksize;
return (char *)ptls2->stackbase - *size;
}
#endif
}
*size = task->ctx.bufsz - off;
return (void *)((char *)task->ctx.stkbuf + off);
}

JL_DLLEXPORT void jl_active_task_stack(jl_task_t *task,
char **active_start, char **active_end,
char **total_start, char **total_end)
Expand Down

0 comments on commit e76bac2

Please sign in to comment.