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);
>
>
>

Reply via email to