harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xiao-Feng Li" <xiaofeng...@gmail.com>
Subject [DRLVM][GC] (HARMONY-2398) patch for GCv5 alloc helper inlining
Date Sun, 03 Dec 2006 08:46:32 GMT
Hi, patch for GCv5 alloc inlining was submitted. This patch has also
some other improvement in parallel collection.

Dear committer, please help to commit it at your early convenience.

Mikhail, after the patch is committed, would you please have a look if
the inlining can work well with GCv5 allocation?  Thanks.

I don't use two TLS values for the fast path allocation; instead, only
one TLS value is used for GC, and it is a pointer to the GC thread
local infomation. The code is the same logic as  gc_alloc_fast( )  in
file gc_gen/thread/mutator_alloc.cpp and gc_thread.h. (Except that the
Java code has no large object threshold check, that is only one
constant comparison anyway.)

Description of the patch is pasted below.

Thanks,
xiaofeng

==============================

Key: HARMONY-2398
URL: http://issues.apache.org/jira/browse/HARMONY-2398

This patch improves the GCv5 with following major functions:

1. Add a couple of files to allocation helper inlining.
2. Use tm thread local storage directly in GC, instead of depending on
vm to get gc local storage.
3. Implement parallel nursery forwarding.

This patch need to add a couple of files:
gc_gen\javasrc\org\apache\harmony\drlvm\gc_gen\GCHelper.java
gc_gen\src\jni\helper.cpp
gc_gen\src\thread\gc_thread.cpp
gc_gen\src\thread\gc_thread.h

Also need to remove some files:
gc_gen\src\trace_forward\fspace_collect_forward_par.cpp
gc_gen\src\trace_forward\fspace_collect_forward_seq.cpp
gc_gen\src\thread\thread_alloc.h

Mime
View raw message