harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Salikh Zakirov <Salikh.Zaki...@Intel.com>
Subject Re: [drrvm][jitrino] How can we start Escape Analysis
Date Fri, 15 Dec 2006 16:38:58 GMT
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.


Mime
View raw message