> >                    45 hythread_tls_alloc
> >                    48 hythread_tls_get
> >                    49 hythread_tls_set
> >                    47 hythread_tls_free
As long as you don't share TLS data between the VM and the portlib, it
doesn't matter whether the portlib uses hythr's TLS API.

> >                    20 hythread_monitor_destroy
> >                    28 hythread_monitor_init_with_name
> >                    21 hythread_monitor_enter
> >                    23 hythread_monitor_exit
> >                    2B hythread_monitor_notify_all
> >                    32 hythread_monitor_wait
I encourage you to continue to use these hythr functions for
consistency of behaviour and compatibility with VM instrumentation, as
discussed previously.

> >                     4 hythread_attach
This is mandatory if you use hythr from any non-hythr-created thread,
such as the main thread.

> >                     9 hythread_detach
> >                    40 hythread_self
These should be included if hythread_attach() is included.

> >                    14 hythread_global
In general, this function is used to set/get threadlib-wide settings
(like a process-wide global variable). The VM often uses
hythread_global() to pass configuration settings to hythr, such as
when the command-line arguments are parsed.

Specifically re: the "one big lock"
(hythread_global("global_monitor")), the big lock is used to enforce
process-wide serialization, which is useful for stuff like
initialization and shutdown in a multiple-vm-per-process environment.
I would be very careful about changing this.

Angela

Reply via email to