ruby/ext/-test-
Jean Boussier 9ca41e9991 GVL Instrumentation: pass thread->self as part of event data
Context: https://github.com/ivoanjo/gvl-tracing/pull/4

Some hooks may want to collect data on a per thread basis.
Right now the only way to identify the concerned thread is to
use `rb_nativethread_self()` or similar, but even then because
of the thread cache or MaNy, two distinct Ruby threads may report
the same native thread id.

By passing `thread->self`, hooks can use it as a key to store
the metadata.

NB: Most hooks are executed outside the GVL, so such data collection
need to use a thread-safe data-structure, and shouldn't use the
reference in other ways from inside the hook.

They must also either pin that value or handle compaction.
2023-11-13 08:45:20 +01:00
..
RUBY_ALIGNOF Update the depend files 2023-02-28 09:09:00 -08:00
abi Stop defining `RUBY_ABI_VERSION` if released versions 2022-08-12 15:57:25 +09:00
arith_seq Update the depend files 2023-02-28 09:09:00 -08:00
array Update the depend files 2023-02-28 09:09:00 -08:00
bignum Update the depend files 2023-02-28 09:09:00 -08:00
bug-3571 Update the depend files 2023-02-28 09:09:00 -08:00
bug-5832 Update the depend files 2023-02-28 09:09:00 -08:00
bug-14834 Update the depend files 2023-02-28 09:09:00 -08:00
bug_reporter Update the depend files 2023-02-28 09:09:00 -08:00
class Update the depend files 2023-02-28 09:09:00 -08:00
cxxanyargs
debug [Feature #10602] Add new API rb_profile_thread_frames() 2023-10-31 11:16:18 +09:00
dln/empty Update the depend files 2023-02-28 09:09:00 -08:00
econv [Bug #18964] Update the code range of appended portion 2022-08-18 14:57:08 +09:00
enumerator_kw Update the depend files 2023-02-28 09:09:00 -08:00
eval
exception Update the depend files 2023-02-28 09:09:00 -08:00
fatal Update the depend files 2023-02-28 09:09:00 -08:00
file Update the depend files 2023-02-28 09:09:00 -08:00
float Update the depend files 2023-02-28 09:09:00 -08:00
funcall Update the depend files 2023-02-28 09:09:00 -08:00
gvl/call_without_gvl Update the depend files 2023-02-28 09:09:00 -08:00
hash Update the depend files 2023-02-28 09:09:00 -08:00
integer Update the depend files 2023-02-28 09:09:00 -08:00
iseq_load Update the depend files 2023-02-28 09:09:00 -08:00
iter Update the depend files 2023-02-28 09:09:00 -08:00
load Update the depend files 2023-02-28 09:09:00 -08:00
marshal Update the depend files 2023-02-28 09:09:00 -08:00
memory_status Update the depend files 2023-02-28 09:09:00 -08:00
memory_view Update the depend files 2023-02-28 09:09:00 -08:00
method Update the depend files 2023-02-28 09:09:00 -08:00
notimplement Update the depend files 2023-02-28 09:09:00 -08:00
num2int Update the depend files 2023-02-28 09:09:00 -08:00
path_to_class Update the depend files 2023-02-28 09:09:00 -08:00
popen_deadlock Update the depend files 2023-02-28 09:09:00 -08:00
postponed_job Update the depend files 2023-02-28 09:09:00 -08:00
printf Update the depend files 2023-02-28 09:09:00 -08:00
proc Update the depend files 2023-02-28 09:09:00 -08:00
random Update the depend files 2023-02-28 09:09:00 -08:00
rational Update the depend files 2023-02-28 09:09:00 -08:00
rb_call_super_kw Update the depend files 2023-02-28 09:09:00 -08:00
recursion Update the depend files 2023-02-28 09:09:00 -08:00
regexp Update the depend files 2023-02-28 09:09:00 -08:00
scan_args Update the depend files 2023-02-28 09:09:00 -08:00
st `rb_bug` prints a newline after the message 2023-05-20 21:43:30 +09:00
string String for string literal is not resizable 2023-11-08 00:59:45 +09:00
struct [Feature #19757] Add new API `rb_data_define` 2023-07-13 17:55:55 +09:00
symbol Update the depend files 2023-02-28 09:09:00 -08:00
thread/instrumentation GVL Instrumentation: pass thread->self as part of event data 2023-11-13 08:45:20 +01:00
thread_fd Update the depend files 2023-02-28 09:09:00 -08:00
time Update the depend files 2023-02-28 09:09:00 -08:00
tracepoint Update the depend files 2023-02-28 09:09:00 -08:00
typeddata Update the depend files 2023-02-28 09:09:00 -08:00
vm Update the depend files 2023-02-28 09:09:00 -08:00
wait Update the depend files 2023-02-28 09:09:00 -08:00
win32
auto_ext.rb