Yu Zhang wrote:
> But there is another question, you said a new thread manager(TM) in DRLVM
> siginificantly reduced synchronization cost,

I believe that Mikhail referred to "lock reservation" optimization,
implemented in following files

C-implementation:
        vm/thread/src/thread_native_thin_monitor.c

Optimized fast path for IA32 in assembler (actually, in emitter calls):
        vm/thread/src/thread_helpers.cpp


>  could you give me further
> infomation on it, such as the file name or the related documents 

Source files of Thread Manager are located in
        vm/thread/src

The data structures of the thread manager are described in
        vm/thread/src/thread_private.h
and are used as opaque pointers in all other sources of the VM.

Build-wise, thread manager results in two libraries:

        hythr.dll
                thread_native_*.c

        jthread.lib
                all other sources

And jthread.lib is in turn linked into harmonyvm.dll.


> (except the  http://harmony.apache.org/subcomponents/drlvm/TM.html) ? 

Besides this document, you can generate doxygen documentation from thread
manager sources. More details in HARMONY-2351.

Any specific questions would be much appreciated, as I intend to improve
documentation based on feedback.

> Are there several TM implementations in DRLVM? 

No, there exist just one Thread Manager implementation in DRLVM.
However, the native interface of thread manager (hythr.dll/libhythr.so)
which is used by Classlib (particularly by hyprt.dll) has two separate
implementations.

There were many discussions on how to deal with this problem,
but no significant progress yet.

Reply via email to