Hi all,

Recently I've found that DRLVM build contains two copies of DRLVM's Hythread.
build.xml contains the task to copy *hythr* from default/ to bin/.
AFAIU, this is done to replace Classlib's Hythread, but I can't
understand why Hythread is copied, not moved.

Why do we need Hythread in default/ ? Does anyone know a reason?
Probably some special usecases like plugins need this?..


I experimented a bit.
On Windows, hythr.dll from default/ is not used at all when VM is
started by launcher; the instance from bin/ is used because it is
loaded first.

On Linux, when LD_LIBRARY_PATH is not set, the launcher loads
libhythr.so from bin/, then after fork() with LD_LIBRARY_PATH set the
instance from default/ is loaded.
On the other hand, bin/ is also in LD_LIBRARY_PATH, so libhythr.so is
successfully loaded from bin/ when deleted from default/.
All the DRLVM tests, as well as EHWA, pass with Hythread in bin/ only.

I've opened HARMONY-5800 for this issue.
If anyone knows the reason for two Hythreads, please speak up - I'll
close the issue.


Thanks,
Ilya.

Reply via email to