harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Dmitriev (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-4705) [drlvm][jni] JNI transition uses ineffective TLS get
Date Sun, 02 Sep 2007 06:29:18 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-4705?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12524323
] 

Sergey Dmitriev commented on HARMONY-4705:
------------------------------------------

FYI: unfortunately Oracle Application Server's startup is not OK with the JNI-tls-1.patch.
It hangs up, quote:

--------
07/09/02 10:26:42 Start process
--------
GC use large pages.
WARNING: Cannot cleanup application URLStreamHandlers.


> [drlvm][jni] JNI transition uses ineffective TLS get
> ----------------------------------------------------
>
>                 Key: HARMONY-4705
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4705
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Aleksey Shipilev
>         Attachments: JNI-tls-1.patch
>
>
> For now, JNI transition uses ineffective scheme of TLS getting - it is done via several
recursive calls, finally reaching hythread_self().
> The idea is to inline helper for TLS get instead of calling get_thread_ptr_stub(). Disassembly
shows that 10 push/pops and 3 calls are completely eliminated there, keeping in mind that
TLS get occurs at least 3 times on each JNI transition this give us a huge boost, eliminating
up to 30 push/pops and 9 calls.
> JNI microtest (calling several millions of empty JNI methods) testifies this:
> $ ../../Builds/Harmony-clean/bin/java -cp . -Xmx128m -Xms128m nalog.nalog
> iteration: 0  millis:8763
> iteration: 1  millis:8722
> iteration: 2  millis:8833
> $ ../../Builds/Harmony-fastTLS-1/bin/java -cp . -Xmx128m -Xms128m nalog.nalog
> iteration: 0  millis:6780
> iteration: 1  millis:6689
> iteration: 2  millis:6870

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message