[ruby/fiddle] Mark Closure, Function and Handle as write barrier
protected (https://github.com/ruby/fiddle/pull/129) They don't have a mark function, so they don't need any change. https://github.com/ruby/fiddle/commit/9bbc732aef Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
This commit is contained in:
parent
135d5fa36c
commit
f1313caec1
@ -54,10 +54,13 @@ closure_memsize(const void * ptr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
const rb_data_type_t closure_data_type = {
|
const rb_data_type_t closure_data_type = {
|
||||||
"fiddle/closure",
|
.wrap_struct_name = "fiddle/closure",
|
||||||
{0, dealloc, closure_memsize,},
|
.function = {
|
||||||
0, 0,
|
.dmark = 0,
|
||||||
RUBY_TYPED_FREE_IMMEDIATELY,
|
.dfree = dealloc,
|
||||||
|
.dsize = closure_memsize
|
||||||
|
},
|
||||||
|
.flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct callback_args {
|
struct callback_args {
|
||||||
|
@ -53,8 +53,13 @@ function_memsize(const void *p)
|
|||||||
}
|
}
|
||||||
|
|
||||||
const rb_data_type_t function_data_type = {
|
const rb_data_type_t function_data_type = {
|
||||||
"fiddle/function",
|
.wrap_struct_name = "fiddle/function",
|
||||||
{0, deallocate, function_memsize,},
|
.function = {
|
||||||
|
.dmark = 0,
|
||||||
|
.dfree = deallocate,
|
||||||
|
.dsize = function_memsize
|
||||||
|
},
|
||||||
|
.flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED,
|
||||||
};
|
};
|
||||||
|
|
||||||
static VALUE
|
static VALUE
|
||||||
|
@ -50,8 +50,13 @@ fiddle_handle_memsize(const void *ptr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const rb_data_type_t fiddle_handle_data_type = {
|
static const rb_data_type_t fiddle_handle_data_type = {
|
||||||
"fiddle/handle",
|
.wrap_struct_name = "fiddle/handle",
|
||||||
{0, fiddle_handle_free, fiddle_handle_memsize,},
|
.function = {
|
||||||
|
.dmark = 0,
|
||||||
|
.dfree = fiddle_handle_free,
|
||||||
|
.dsize = fiddle_handle_memsize
|
||||||
|
},
|
||||||
|
.flags = RUBY_TYPED_WB_PROTECTED,
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user