Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion gc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1062,7 +1062,7 @@ typed_data_alloc(VALUE klass, VALUE typed_flag, void *datap, const rb_data_type_
RBIMPL_NONNULL_ARG(type);
if (klass) rb_data_object_check(klass);
bool wb_protected = (type->flags & RUBY_FL_WB_PROTECTED) || !type->function.dmark;
return newobj_of(GET_RACTOR(), klass, T_DATA, 0, ((VALUE)type) | IS_TYPED_DATA | typed_flag, (VALUE)datap, wb_protected, size);
return newobj_of(GET_RACTOR(), klass, T_DATA | RUBY_TYPED_FL_IS_TYPED_DATA, 0, ((VALUE)type) | typed_flag, (VALUE)datap, wb_protected, size);
}

VALUE
Expand Down
12 changes: 5 additions & 7 deletions include/ruby/internal/core/rtypeddata.h
Original file line number Diff line number Diff line change
Expand Up @@ -115,10 +115,8 @@
#define RUBY_TYPED_PROMOTED1 RUBY_TYPED_PROMOTED1
/** @endcond */

#define IS_TYPED_DATA ((VALUE)1)
#define TYPED_DATA_EMBEDDED ((VALUE)2)
#define TYPED_DATA_PTR_FLAGS ((VALUE)3)
#define TYPED_DATA_PTR_MASK (~TYPED_DATA_PTR_FLAGS)
#define TYPED_DATA_EMBEDDED ((VALUE)1)
#define TYPED_DATA_PTR_MASK (~(TYPED_DATA_EMBEDDED))

/**
* @private
Expand Down Expand Up @@ -181,9 +179,9 @@ rbimpl_typeddata_flags {
RUBY_TYPED_WB_PROTECTED = RUBY_FL_WB_PROTECTED, /* THIS FLAG DEPENDS ON Ruby version */

/**
* This flag no longer in use
* This flag is used to distinguish RTypedData from deprecated RData objects.
*/
RUBY_TYPED_UNUSED = RUBY_FL_UNUSED6,
RUBY_TYPED_FL_IS_TYPED_DATA = RUBY_FL_USERPRIV0,

/**
* This flag determines whether marking and compaction should be carried out
Expand Down Expand Up @@ -569,7 +567,7 @@ RBIMPL_ATTR_ARTIFICIAL()
static inline bool
rbimpl_rtypeddata_p(VALUE obj)
{
return RTYPEDDATA(obj)->type & IS_TYPED_DATA;
return FL_TEST_RAW(obj, RUBY_TYPED_FL_IS_TYPED_DATA);
}

RBIMPL_ATTR_PURE_UNLESS_DEBUG()
Expand Down
4 changes: 2 additions & 2 deletions include/ruby/internal/fl_type.h
Original file line number Diff line number Diff line change
Expand Up @@ -217,11 +217,11 @@ ruby_fl_type {
RUBY_FL_PROMOTED = (1<<5),

/**
* This flag is no longer in use
* This flag meaning is type dependent, currently only used by T_DATA.
*
* @internal
*/
RUBY_FL_UNUSED6 = (1<<6),
RUBY_FL_USERPRIV0 = (1<<6),

/**
* This flag has something to do with finalisers. A ruby object can have
Expand Down
2 changes: 1 addition & 1 deletion yjit/src/cruby_bindings.inc.rs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion zjit/src/cruby_bindings.inc.rs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.