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.
