static inline ThreadData* thread_data_get() { VALUE obj = rb_thread_local_aref(rb_thread_current(), id_thread_data); if (obj != Qnil && TYPE(obj) == T_DATA) { return (ThreadData *) DATA_PTR(obj); } return thread_data_init(); }
static VALUE rb_dl_get_win32_last_error(VALUE self) { return rb_thread_local_aref(rb_thread_current(), id_win32_last_error); }
static VALUE thread_spec_rb_thread_local_aref(VALUE self, VALUE thr, VALUE sym) { return rb_thread_local_aref(thr, SYM2ID(sym)); }