Skip to content

Commit 1a49eea

Browse files
committed
Revert "remove jl_gc_wb_buf (JuliaLang#51919)"
This reverts commit b5b05c8.
1 parent 90242f0 commit 1a49eea

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

src/julia_internal.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -575,6 +575,17 @@ void jl_gc_run_all_finalizers(jl_task_t *ct);
575575
void jl_release_task_stack(jl_ptls_t ptls, jl_task_t *task);
576576
void jl_gc_add_finalizer_(jl_ptls_t ptls, void *v, void *f) JL_NOTSAFEPOINT;
577577

578+
void gc_setmark_buf(jl_ptls_t ptls, void *buf, uint8_t, size_t) JL_NOTSAFEPOINT;
579+
580+
STATIC_INLINE void jl_gc_wb_buf(void *parent, void *bufptr, size_t minsz) JL_NOTSAFEPOINT // parent isa jl_value_t*
581+
{
582+
// if parent is marked and buf is not
583+
if (__unlikely(jl_astaggedvalue(parent)->bits.gc & 1)) {
584+
jl_task_t *ct = jl_current_task;
585+
gc_setmark_buf(ct->ptls, bufptr, 3, minsz);
586+
}
587+
}
588+
578589
void jl_gc_debug_print_status(void) JL_NOTSAFEPOINT;
579590
JL_DLLEXPORT void jl_gc_debug_critical_error(void) JL_NOTSAFEPOINT;
580591
void jl_print_gc_stats(JL_STREAM *s);

0 commit comments

Comments
 (0)