You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Mikhail Fursov (JIRA)" <ji...@apache.org> on 2006/11/07 15:30:51 UTC
[jira] Created: (HARMONY-2084) [drlvm][opt] Jitrino.OPT inliner can
cause native SOE exception for some large methods
[drlvm][opt] Jitrino.OPT inliner can cause native SOE exception for some large methods
--------------------------------------------------------------------------------------
Key: HARMONY-2084
URL: http://issues.apache.org/jira/browse/HARMONY-2084
Project: Harmony
Issue Type: Bug
Components: DRLVM
Reporter: Mikhail Fursov
Priority: Minor
Attachments: Test.java
The inliner in Jitrino.OPT compiler stops inlining if bytecode size of the current method is > some threshold.
Sometimes (for synchronized methods) the bytecode size is small, but the size of the resulted IR is very large. As the result Inliner can produce very large linear IR graphs that cause SOE in recursive algorithms like DFS
The proposal is to add one more threshold to inliner: stop inlining if the number of nodes in IR is greater then some const.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (HARMONY-2084) [drlvm][opt] Jitrino.OPT inliner can
cause native SOE exception for some large methods
Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-2084?page=all ]
Mikhail Fursov updated HARMONY-2084:
------------------------------------
Attachment: Test.java
The test.
Run it in -Xem:opt mode.
Note, if turn inliner off the test starts passing (-Djit.CS_OPT.f.filter=Test::main -Djit.CS_OPT.arg.optimizer.inline=off)
> [drlvm][opt] Jitrino.OPT inliner can cause native SOE exception for some large methods
> --------------------------------------------------------------------------------------
>
> Key: HARMONY-2084
> URL: http://issues.apache.org/jira/browse/HARMONY-2084
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Mikhail Fursov
> Priority: Minor
> Attachments: Test.java
>
>
> The inliner in Jitrino.OPT compiler stops inlining if bytecode size of the current method is > some threshold.
> Sometimes (for synchronized methods) the bytecode size is small, but the size of the resulted IR is very large. As the result Inliner can produce very large linear IR graphs that cause SOE in recursive algorithms like DFS
> The proposal is to add one more threshold to inliner: stop inlining if the number of nodes in IR is greater then some const.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (HARMONY-2084) [drlvm][opt] Jitrino.OPT inliner
can cause native SOE exception for some large methods
Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-2084?page=comments#action_12447849 ]
Mikhail Fursov commented on HARMONY-2084:
-----------------------------------------
I prefer a constant. You will never have a heuristic what stack size is enough to finish the compilation for the given IR.
> [drlvm][opt] Jitrino.OPT inliner can cause native SOE exception for some large methods
> --------------------------------------------------------------------------------------
>
> Key: HARMONY-2084
> URL: http://issues.apache.org/jira/browse/HARMONY-2084
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Mikhail Fursov
> Priority: Minor
> Attachments: Test.java
>
>
> The inliner in Jitrino.OPT compiler stops inlining if bytecode size of the current method is > some threshold.
> Sometimes (for synchronized methods) the bytecode size is small, but the size of the resulted IR is very large. As the result Inliner can produce very large linear IR graphs that cause SOE in recursive algorithms like DFS
> The proposal is to add one more threshold to inliner: stop inlining if the number of nodes in IR is greater then some const.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (HARMONY-2084) [drlvm][opt] Jitrino.OPT inliner
can cause native SOE exception for some large methods
Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-2084?page=comments#action_12448041 ]
Egor Pasko commented on HARMONY-2084:
-------------------------------------
a constant does not guarantee anything either
> [drlvm][opt] Jitrino.OPT inliner can cause native SOE exception for some large methods
> --------------------------------------------------------------------------------------
>
> Key: HARMONY-2084
> URL: http://issues.apache.org/jira/browse/HARMONY-2084
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Mikhail Fursov
> Priority: Minor
> Attachments: Test.java
>
>
> The inliner in Jitrino.OPT compiler stops inlining if bytecode size of the current method is > some threshold.
> Sometimes (for synchronized methods) the bytecode size is small, but the size of the resulted IR is very large. As the result Inliner can produce very large linear IR graphs that cause SOE in recursive algorithms like DFS
> The proposal is to add one more threshold to inliner: stop inlining if the number of nodes in IR is greater then some const.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (HARMONY-2084) [drlvm][opt] Jitrino.OPT inliner
can cause native SOE exception for some large methods
Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-2084?page=comments#action_12447826 ]
Egor Pasko commented on HARMONY-2084:
-------------------------------------
should the max size of IR allowed be a constant or a fraction of get_available_stack_size() ?
> [drlvm][opt] Jitrino.OPT inliner can cause native SOE exception for some large methods
> --------------------------------------------------------------------------------------
>
> Key: HARMONY-2084
> URL: http://issues.apache.org/jira/browse/HARMONY-2084
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Mikhail Fursov
> Priority: Minor
> Attachments: Test.java
>
>
> The inliner in Jitrino.OPT compiler stops inlining if bytecode size of the current method is > some threshold.
> Sometimes (for synchronized methods) the bytecode size is small, but the size of the resulted IR is very large. As the result Inliner can produce very large linear IR graphs that cause SOE in recursive algorithms like DFS
> The proposal is to add one more threshold to inliner: stop inlining if the number of nodes in IR is greater then some const.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira