You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Aleksey Shipilev (JIRA)" <ji...@apache.org> on 2007/08/31 12:38:31 UTC
[jira] Created: (HARMONY-4704) [drlvm][jni] JNI transition
improvements
[drlvm][jni] JNI transition improvements
----------------------------------------
Key: HARMONY-4704
URL: https://issues.apache.org/jira/browse/HARMONY-4704
Project: Harmony
Issue Type: Improvement
Reporter: Aleksey Shipilev
The root issue for JNI transition improvements
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (HARMONY-4704) [drlvm][jni] JNI improvements
Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gregory Shimansky reassigned HARMONY-4704:
------------------------------------------
Assignee: Gregory Shimansky
> [drlvm][jni] JNI improvements
> -----------------------------
>
> Key: HARMONY-4704
> URL: https://issues.apache.org/jira/browse/HARMONY-4704
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Reporter: Aleksey Shipilev
> Assignee: Gregory Shimansky
> Attachments: JNI-complete-2.patch, JNI-complete.patch
>
>
> The root issue for JNI improvements:
> Clean:
> HARMONY-4705 [drlvm][jni] JNI transition uses ineffective TLS get
> HARMONY-4811 [drlvm][exception] exn_raised() should cache the TLS
> Dirty:
> HARMONY-4714 [drlvm][jni] JNI transition checks exceptions twice
> Proof-of-concept
> HARMONY-4729 [drlvm][jni] JNI transition should inline hythread_suspend_enable() and hythread_suspend_disable()
> HARMONY-4806 [drlvm][jni] Experiment: rewriting entire JNI transition stub on encoder
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4704) [drlvm][jni] JNI improvements
Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12587566#action_12587566 ]
Pavel Pervov commented on HARMONY-4704:
---------------------------------------
4) You introduce gcc 4+ warnings by inserting the construct like &(((Type*)NULL)->field). Please, use workaround like this: Type* dummy = NULL; &(dummy->field);
> [drlvm][jni] JNI improvements
> -----------------------------
>
> Key: HARMONY-4704
> URL: https://issues.apache.org/jira/browse/HARMONY-4704
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Reporter: Aleksey Shipilev
> Attachments: JNI-complete-2.patch, JNI-complete.patch
>
>
> The root issue for JNI improvements:
> Clean:
> HARMONY-4705 [drlvm][jni] JNI transition uses ineffective TLS get
> HARMONY-4811 [drlvm][exception] exn_raised() should cache the TLS
> Dirty:
> HARMONY-4714 [drlvm][jni] JNI transition checks exceptions twice
> Proof-of-concept
> HARMONY-4729 [drlvm][jni] JNI transition should inline hythread_suspend_enable() and hythread_suspend_disable()
> HARMONY-4806 [drlvm][jni] Experiment: rewriting entire JNI transition stub on encoder
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4704) [drlvm][jni] JNI improvements
Posted by "Aleksey Shipilev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12587581#action_12587581 ]
Aleksey Shipilev commented on HARMONY-4704:
-------------------------------------------
Thanks for comments, Pavel!
This issue is umbrella, I put the composite patch for convenience purposes only, please refer to dependent issues for individual issues. There you might also find performance data justifying each change. Reviewing this composite patch you're looking into POC parts too.
> [drlvm][jni] JNI improvements
> -----------------------------
>
> Key: HARMONY-4704
> URL: https://issues.apache.org/jira/browse/HARMONY-4704
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Reporter: Aleksey Shipilev
> Attachments: JNI-complete-2.patch, JNI-complete.patch
>
>
> The root issue for JNI improvements:
> Clean:
> HARMONY-4705 [drlvm][jni] JNI transition uses ineffective TLS get
> HARMONY-4811 [drlvm][exception] exn_raised() should cache the TLS
> Dirty:
> HARMONY-4714 [drlvm][jni] JNI transition checks exceptions twice
> Proof-of-concept
> HARMONY-4729 [drlvm][jni] JNI transition should inline hythread_suspend_enable() and hythread_suspend_disable()
> HARMONY-4806 [drlvm][jni] Experiment: rewriting entire JNI transition stub on encoder
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4704) [drlvm][jni] JNI transition
improvements
Posted by "Aleksey Shipilev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12524679 ]
Aleksey Shipilev commented on HARMONY-4704:
-------------------------------------------
So far, on the JNI microtest (calling several million on JNI methods):
$ ../../Builds/shade.0903.jni.0.clean/bin/java -Xmx128m -Xms128m nalog.nalog
iteration: 0 millis:8532
iteration: 1 millis:8572
iteration: 2 millis:8561
$ ../../Builds/shade.0903.jni.4.cumulative/bin/java -Xmx128m -Xms128m nalog.nalog
iteration: 0 millis:5477
iteration: 1 millis:5528
iteration: 2 millis:5528
Thus, +55% boost.
> [drlvm][jni] JNI transition improvements
> ----------------------------------------
>
> Key: HARMONY-4704
> URL: https://issues.apache.org/jira/browse/HARMONY-4704
> Project: Harmony
> Issue Type: Improvement
> Reporter: Aleksey Shipilev
> Attachments: JNI-complete.patch
>
>
> The root issue for JNI transition improvements
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-4704) [drlvm][jni] JNI improvements
Posted by "Aleksey Shipilev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aleksey Shipilev updated HARMONY-4704:
--------------------------------------
Description: The root issue for JNI improvements (was: The root issue for JNI transition improvements)
Summary: [drlvm][jni] JNI improvements (was: [drlvm][jni] JNI transition improvements)
> [drlvm][jni] JNI improvements
> -----------------------------
>
> Key: HARMONY-4704
> URL: https://issues.apache.org/jira/browse/HARMONY-4704
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Reporter: Aleksey Shipilev
> Attachments: JNI-complete-2.patch, JNI-complete.patch
>
>
> The root issue for JNI improvements
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4704) [drlvm][jni] JNI transition
improvements
Posted by "Aleksey Shipilev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12524766 ]
Aleksey Shipilev commented on HARMONY-4704:
-------------------------------------------
The cumulative patch gives +14% boost on Dacapo:jython, +5% boost on Dacapo:pmd, +3% boost on Dacapo:chart, Dacapo:fop and Dacapo:luindex.
> [drlvm][jni] JNI transition improvements
> ----------------------------------------
>
> Key: HARMONY-4704
> URL: https://issues.apache.org/jira/browse/HARMONY-4704
> Project: Harmony
> Issue Type: Improvement
> Reporter: Aleksey Shipilev
> Attachments: JNI-complete.patch
>
>
> The root issue for JNI transition improvements
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4704) [drlvm][jni] JNI improvements
Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12587565#action_12587565 ]
Pavel Pervov commented on HARMONY-4704:
---------------------------------------
JNI-complete.patch:
1) Why pop_m2n_noexp in the code, but pop_noexp_m2n in LIL? Is it to make parsing easier? Is code simplification worth this inconsistency?
2) It would be nice to document added LIL instructions somewhere. I can guess that HSE/HSD is the pair of hythread_suspend_enable/hythread_suspend_disable.
3) I can also try to guess that 'noexp' means "no exception expected". If that's true - I'd personally prefer 'noexn' suffix.
> [drlvm][jni] JNI improvements
> -----------------------------
>
> Key: HARMONY-4704
> URL: https://issues.apache.org/jira/browse/HARMONY-4704
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Reporter: Aleksey Shipilev
> Attachments: JNI-complete-2.patch, JNI-complete.patch
>
>
> The root issue for JNI improvements:
> Clean:
> HARMONY-4705 [drlvm][jni] JNI transition uses ineffective TLS get
> HARMONY-4811 [drlvm][exception] exn_raised() should cache the TLS
> Dirty:
> HARMONY-4714 [drlvm][jni] JNI transition checks exceptions twice
> Proof-of-concept
> HARMONY-4729 [drlvm][jni] JNI transition should inline hythread_suspend_enable() and hythread_suspend_disable()
> HARMONY-4806 [drlvm][jni] Experiment: rewriting entire JNI transition stub on encoder
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (HARMONY-4704) [drlvm][jni] JNI improvements
Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gregory Shimansky reassigned HARMONY-4704:
------------------------------------------
Assignee: (was: Gregory Shimansky)
Unassigning myself from an umbrella task.
> [drlvm][jni] JNI improvements
> -----------------------------
>
> Key: HARMONY-4704
> URL: https://issues.apache.org/jira/browse/HARMONY-4704
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Reporter: Aleksey Shipilev
> Attachments: JNI-complete-2.patch, JNI-complete.patch
>
>
> The root issue for JNI improvements:
> Clean:
> HARMONY-4705 [drlvm][jni] JNI transition uses ineffective TLS get
> HARMONY-4811 [drlvm][exception] exn_raised() should cache the TLS
> Dirty:
> HARMONY-4714 [drlvm][jni] JNI transition checks exceptions twice
> Proof-of-concept
> HARMONY-4729 [drlvm][jni] JNI transition should inline hythread_suspend_enable() and hythread_suspend_disable()
> HARMONY-4806 [drlvm][jni] Experiment: rewriting entire JNI transition stub on encoder
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-4704) [drlvm][jni] JNI improvements
Posted by "Aleksey Shipilev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aleksey Shipilev updated HARMONY-4704:
--------------------------------------
Comment: was deleted
> [drlvm][jni] JNI improvements
> -----------------------------
>
> Key: HARMONY-4704
> URL: https://issues.apache.org/jira/browse/HARMONY-4704
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Reporter: Aleksey Shipilev
> Attachments: JNI-complete-2.patch, JNI-complete.patch
>
>
> The root issue for JNI improvements:
> Clean:
> HARMONY-4705 [drlvm][jni] JNI transition uses ineffective TLS get
> HARMONY-4811 [drlvm][exception] exn_raised() should cache the TLS
> Dirty:
> HARMONY-4714 [drlvm][jni] JNI transition checks exceptions twice
> Proof-of-concept
> HARMONY-4729 [drlvm][jni] JNI transition should inline hythread_suspend_enable() and hythread_suspend_disable()
> HARMONY-4806 [drlvm][jni] Experiment: rewriting entire JNI transition stub on encoder
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-4704) [drlvm][jni] JNI transition
improvements
Posted by "Aleksey Shipilev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aleksey Shipilev updated HARMONY-4704:
--------------------------------------
Attachment: JNI-complete-2.patch
JNI-complete-2.patch
Updated patch with changes at HARMONY-4729 and HARMONY-4705.
> [drlvm][jni] JNI transition improvements
> ----------------------------------------
>
> Key: HARMONY-4704
> URL: https://issues.apache.org/jira/browse/HARMONY-4704
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Reporter: Aleksey Shipilev
> Attachments: JNI-complete-2.patch, JNI-complete.patch
>
>
> The root issue for JNI transition improvements
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-4704) [drlvm][jni] JNI transition
improvements
Posted by "Aleksey Shipilev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aleksey Shipilev updated HARMONY-4704:
--------------------------------------
Attachment: JNI-complete.patch
JNI-complete.patch
Combined HARMONY-4729, HARMONY-4714, HARMONY-4705.
> [drlvm][jni] JNI transition improvements
> ----------------------------------------
>
> Key: HARMONY-4704
> URL: https://issues.apache.org/jira/browse/HARMONY-4704
> Project: Harmony
> Issue Type: Improvement
> Reporter: Aleksey Shipilev
> Attachments: JNI-complete.patch
>
>
> The root issue for JNI transition improvements
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4704) [drlvm][jni] JNI improvements
Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12587567#action_12587567 ]
Pavel Pervov commented on HARMONY-4704:
---------------------------------------
5) Please, remove commented code.
> [drlvm][jni] JNI improvements
> -----------------------------
>
> Key: HARMONY-4704
> URL: https://issues.apache.org/jira/browse/HARMONY-4704
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Reporter: Aleksey Shipilev
> Attachments: JNI-complete-2.patch, JNI-complete.patch
>
>
> The root issue for JNI improvements:
> Clean:
> HARMONY-4705 [drlvm][jni] JNI transition uses ineffective TLS get
> HARMONY-4811 [drlvm][exception] exn_raised() should cache the TLS
> Dirty:
> HARMONY-4714 [drlvm][jni] JNI transition checks exceptions twice
> Proof-of-concept
> HARMONY-4729 [drlvm][jni] JNI transition should inline hythread_suspend_enable() and hythread_suspend_disable()
> HARMONY-4806 [drlvm][jni] Experiment: rewriting entire JNI transition stub on encoder
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-4704) [drlvm][jni] JNI improvements
Posted by "Aleksey Shipilev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aleksey Shipilev updated HARMONY-4704:
--------------------------------------
Description:
The root issue for JNI improvements:
Clean:
HARMONY-4705 [drlvm][jni] JNI transition uses ineffective TLS get
HARMONY-4811 [drlvm][exception] exn_raised() should cache the TLS
Dirty:
HARMONY-4714 [drlvm][jni] JNI transition checks exceptions twice
Proof-of-concept
HARMONY-4729 [drlvm][jni] JNI transition should inline hythread_suspend_enable() and hythread_suspend_disable()
HARMONY-4806 [drlvm][jni] Experiment: rewriting entire JNI transition stub on encoder
was:The root issue for JNI improvements
> [drlvm][jni] JNI improvements
> -----------------------------
>
> Key: HARMONY-4704
> URL: https://issues.apache.org/jira/browse/HARMONY-4704
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Reporter: Aleksey Shipilev
> Attachments: JNI-complete-2.patch, JNI-complete.patch
>
>
> The root issue for JNI improvements:
> Clean:
> HARMONY-4705 [drlvm][jni] JNI transition uses ineffective TLS get
> HARMONY-4811 [drlvm][exception] exn_raised() should cache the TLS
> Dirty:
> HARMONY-4714 [drlvm][jni] JNI transition checks exceptions twice
> Proof-of-concept
> HARMONY-4729 [drlvm][jni] JNI transition should inline hythread_suspend_enable() and hythread_suspend_disable()
> HARMONY-4806 [drlvm][jni] Experiment: rewriting entire JNI transition stub on encoder
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4704) [drlvm][jni] JNI improvements
Posted by "Aleksey Shipilev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12587580#action_12587580 ]
Aleksey Shipilev commented on HARMONY-4704:
-------------------------------------------
Thanks for comments, Pavel!
This issue is umbrella, I put the composite patch for convenience purposes only, please refer to dependent issues for individual issues. There you might also find performance data justifying each change.
> [drlvm][jni] JNI improvements
> -----------------------------
>
> Key: HARMONY-4704
> URL: https://issues.apache.org/jira/browse/HARMONY-4704
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Reporter: Aleksey Shipilev
> Attachments: JNI-complete-2.patch, JNI-complete.patch
>
>
> The root issue for JNI improvements:
> Clean:
> HARMONY-4705 [drlvm][jni] JNI transition uses ineffective TLS get
> HARMONY-4811 [drlvm][exception] exn_raised() should cache the TLS
> Dirty:
> HARMONY-4714 [drlvm][jni] JNI transition checks exceptions twice
> Proof-of-concept
> HARMONY-4729 [drlvm][jni] JNI transition should inline hythread_suspend_enable() and hythread_suspend_disable()
> HARMONY-4806 [drlvm][jni] Experiment: rewriting entire JNI transition stub on encoder
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-4704) [drlvm][jni] JNI transition
improvements
Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexey Varlamov updated HARMONY-4704:
-------------------------------------
Component/s: DRLVM
> [drlvm][jni] JNI transition improvements
> ----------------------------------------
>
> Key: HARMONY-4704
> URL: https://issues.apache.org/jira/browse/HARMONY-4704
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Reporter: Aleksey Shipilev
> Attachments: JNI-complete.patch
>
>
> The root issue for JNI transition improvements
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.