I am not very familiar with this section of the code. But if this is in general true, and the classlib dependency on the hythread_XXX api's is small, what Andrey says above makes sense to me. Why not replace them( monitor enter/exit, TLS access etc. ) with the portability layer macrodefs from thrdsup.h and hymutex.h? And just keep the hythread_XXX around seperately for optional usage by any JVM that may wish to and revisit the issue later?
That way we know what is the code we are using and needs to be tested, optimized etc. Thanks, Rana
On 9/20/06, Weldon Washburn <[EMAIL PROTECTED]> wrote: > > All, > Is there something missing from the below analysis? I did a grep for > "hythread_" in all of the classlib directory. There were 1300 hits of > which > 1200++ where inside the code that implements classlib hythread > itself. In > other words, 1200++ hits are most likely irrelevant to a VM developer. > As > far as I can tell, only the following source files containing > hythread_xxx > APIs are actually used by Harmony Classlib. Is this accurate? > > > C:\t_harmony\classlib\trunk\modules\archive\src\main\native\zip\shared\zipsup.c(116):#define > ENTER() > hythread_monitor_enter(hythread_global_monitor())C:\t_harmony\classlib\trunk\modules\archive\src\main\native\zip\shared\zipsup.c(117):#define > > EXIT() hythread_monitor_exit(hythread_global_monitor()) > > from > c:\t_harmony\classlib\trunk\modules\luni\arc\main\port\shared\hynls.c > hythread_monitor_enter (nls->monitor); hythread_monitor_exit > (nls->monitor); > > > C:\t_harmony\classlib\trunk\modules\luni\src\main\native\vmls\shared\vmls.c(82): > hythread_monitor_enter(globalMonitor); > > C:\t_harmony\classlib\trunk\modules\luni\src\main\native\vmls\shared\vmls.c(103): > hythread_monitor_exit(globalMonitor); > > >