introduce struct rb_native_thread

`rb_thread_t` contained `native_thread_data_t` to represent
thread implementation dependent data. This patch separates
them and rename it `rb_native_thread` and point it from
`rb_thraed_t`.

Now, 1 Ruby thread (`rb_thread_t`) has 1 native thread (`rb_native_thread`).
This commit is contained in:
Koichi Sasada 2022-04-22 21:19:03 +09:00
parent 69d41480ec
commit 03d21a4fb0
Notes: git 2022-04-23 03:08:49 +09:00
10 changed files with 167 additions and 132 deletions

View file

@ -1194,10 +1194,10 @@ rb_vmdebug_stack_dump_all_threads(void)
ccan_list_for_each(&r->threads.set, th, lt_node) {
#ifdef NON_SCALAR_THREAD_ID
rb_thread_id_string_t buf;
ruby_fill_thread_id_string(th->thread_id, buf);
ruby_fill_thread_id_string(th->nt->thread_id, buf);
fprintf(stderr, "th: %p, native_id: %s\n", th, buf);
#else
fprintf(stderr, "th: %p, native_id: %p\n", (void *)th, (void *)(uintptr_t)th->thread_id);
fprintf(stderr, "th: %p, native_id: %p\n", (void *)th, (void *)(uintptr_t)th->nt->thread_id);
#endif
rb_vmdebug_stack_dump_raw(th->ec, th->ec->cfp);
}