You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Egor Pasko (JIRA)" <ji...@apache.org> on 2007/07/16 23:16:04 UTC
[jira] Created: (HARMONY-4476) [drlvm][jit][opt][abcd] Two-state
Inequality Graph for both Lower and Upper problems, to ensure correctness
and simplify the code, ability to dump stats
[drlvm][jit][opt][abcd] Two-state Inequality Graph for both Lower and Upper problems, to ensure correctness and simplify the code, ability to dump stats
--------------------------------------------------------------------------------------------------------------------------------------------------------
Key: HARMONY-4476
URL: https://issues.apache.org/jira/browse/HARMONY-4476
Project: Harmony
Issue Type: Improvement
Components: DRLVM
Environment: all
Reporter: Egor Pasko
Creating two Inequality Graphs makes it difficult to make sure the graph looks like the right one. This issue proposes to create two-state InequalityGraph. One state shall represent the upper-bound problem, the other -- lower-bound. Constraints arising from statements like "a=b", "a=b+const" are the same in both states of the graph, whereas constraints arising from statements like "if (a < b)" are different (basically, the edges change direction to the opposite and negate their length)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (HARMONY-4476) [drlvm][jit][opt][abcd] Two-state
Inequality Graph for both Lower and Upper problems, to ensure correctness
and simplify the code, ability to dump stats
Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Egor Pasko reassigned HARMONY-4476:
-----------------------------------
Assignee: Egor Pasko
> [drlvm][jit][opt][abcd] Two-state Inequality Graph for both Lower and Upper problems, to ensure correctness and simplify the code, ability to dump stats
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4476
> URL: https://issues.apache.org/jira/browse/HARMONY-4476
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Environment: all
> Reporter: Egor Pasko
> Assignee: Egor Pasko
> Attachments: 0001-Two-state-Inequality-Graph-with-ABCD-Stats-option.txt, 0002-uint32-ids-for-IOpndProxy.txt, igraph.png
>
>
> Creating two Inequality Graphs makes it difficult to make sure the graph looks like the right one. This issue proposes to create two-state InequalityGraph. One state shall represent the upper-bound problem, the other -- lower-bound. Constraints arising from statements like "a=b", "a=b+const" are the same in both states of the graph, whereas constraints arising from statements like "if (a < b)" are different (basically, the edges change direction to the opposite and negate their length)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-4476) [drlvm][jit][opt][abcd] Two-state
Inequality Graph for both Lower and Upper problems, to ensure correctness
and simplify the code, ability to dump stats
Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Egor Pasko updated HARMONY-4476:
--------------------------------
Attachment: igraph.png
Inequality Graph printed to png via "dot -Tpng". Shows both upper- and lower- bound problems on the same picture. blue=upper, red=lower, black=both
> [drlvm][jit][opt][abcd] Two-state Inequality Graph for both Lower and Upper problems, to ensure correctness and simplify the code, ability to dump stats
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4476
> URL: https://issues.apache.org/jira/browse/HARMONY-4476
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Environment: all
> Reporter: Egor Pasko
> Attachments: 0001-Two-state-Inequality-Graph-with-ABCD-Stats-option.txt, igraph.png
>
>
> Creating two Inequality Graphs makes it difficult to make sure the graph looks like the right one. This issue proposes to create two-state InequalityGraph. One state shall represent the upper-bound problem, the other -- lower-bound. Constraints arising from statements like "a=b", "a=b+const" are the same in both states of the graph, whereas constraints arising from statements like "if (a < b)" are different (basically, the edges change direction to the opposite and negate their length)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4476) [drlvm][jit][opt][abcd] Two-state
Inequality Graph for both Lower and Upper problems, to ensure correctness
and simplify the code, ability to dump stats
Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12513055 ]
Egor Pasko commented on HARMONY-4476:
-------------------------------------
some statistics for DaCapo hlsqldb:
all methods:
-Xem:server_static 157 out of 1884 checks eliminated (8%)
hottest methods:
-Xem:server 10 out of 103 checks eliminated (10%)
Though, the original paper claims that about 45% of checks are eliminated on the specJVM benchmark (AFAIR), (but the paper does not take integer overflows into account)
I believe, our numbers can be improved somewhat. (ldfield thread privatization ("hvn"), "peel", "loop versioning")
> [drlvm][jit][opt][abcd] Two-state Inequality Graph for both Lower and Upper problems, to ensure correctness and simplify the code, ability to dump stats
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4476
> URL: https://issues.apache.org/jira/browse/HARMONY-4476
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Environment: all
> Reporter: Egor Pasko
> Attachments: 0001-Two-state-Inequality-Graph-with-ABCD-Stats-option.txt, igraph.png
>
>
> Creating two Inequality Graphs makes it difficult to make sure the graph looks like the right one. This issue proposes to create two-state InequalityGraph. One state shall represent the upper-bound problem, the other -- lower-bound. Constraints arising from statements like "a=b", "a=b+const" are the same in both states of the graph, whereas constraints arising from statements like "if (a < b)" are different (basically, the edges change direction to the opposite and negate their length)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4476) [drlvm][jit][opt][abcd] Two-state
Inequality Graph for both Lower and Upper problems, to ensure correctness
and simplify the code, ability to dump stats
Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12513615 ]
Egor Pasko commented on HARMONY-4476:
-------------------------------------
Pavel, I am willing to fix it according to your remarks
> [drlvm][jit][opt][abcd] Two-state Inequality Graph for both Lower and Upper problems, to ensure correctness and simplify the code, ability to dump stats
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4476
> URL: https://issues.apache.org/jira/browse/HARMONY-4476
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Environment: all
> Reporter: Egor Pasko
> Attachments: 0001-Two-state-Inequality-Graph-with-ABCD-Stats-option.txt, igraph.png
>
>
> Creating two Inequality Graphs makes it difficult to make sure the graph looks like the right one. This issue proposes to create two-state InequalityGraph. One state shall represent the upper-bound problem, the other -- lower-bound. Constraints arising from statements like "a=b", "a=b+const" are the same in both states of the graph, whereas constraints arising from statements like "if (a < b)" are different (basically, the edges change direction to the opposite and negate their length)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4476) [drlvm][jit][opt][abcd] Two-state
Inequality Graph for both Lower and Upper problems, to ensure correctness
and simplify the code, ability to dump stats
Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12514598 ]
Mikhail Fursov commented on HARMONY-4476:
-----------------------------------------
"BTW, what do I need to do to assign an issue to myself?"
Click "Assign this issue (to me)" link?
> [drlvm][jit][opt][abcd] Two-state Inequality Graph for both Lower and Upper problems, to ensure correctness and simplify the code, ability to dump stats
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4476
> URL: https://issues.apache.org/jira/browse/HARMONY-4476
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Environment: all
> Reporter: Egor Pasko
> Attachments: 0001-Two-state-Inequality-Graph-with-ABCD-Stats-option.txt, 0002-uint32-ids-for-IOpndProxy.txt, igraph.png
>
>
> Creating two Inequality Graphs makes it difficult to make sure the graph looks like the right one. This issue proposes to create two-state InequalityGraph. One state shall represent the upper-bound problem, the other -- lower-bound. Constraints arising from statements like "a=b", "a=b+const" are the same in both states of the graph, whereas constraints arising from statements like "if (a < b)" are different (basically, the edges change direction to the opposite and negate their length)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4476) [drlvm][jit][opt][abcd] Two-state
Inequality Graph for both Lower and Upper problems, to ensure correctness
and simplify the code, ability to dump stats
Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12513052 ]
Egor Pasko commented on HARMONY-4476:
-------------------------------------
the attached graph is NOT generated for BidirectionalBubbleSort (as one might guess from the class name), it is for the following code:
void sort(int a[]) throws Exception {
int j;
int limit = a.length;
int st = -1;
while (st < limit) {
st++;
limit--;
for (j = st; j < limit; j++) {
System.out.println(a[j + 1]);
}
}
}
And the graph is basically given to show how beautiful it is now :)
> [drlvm][jit][opt][abcd] Two-state Inequality Graph for both Lower and Upper problems, to ensure correctness and simplify the code, ability to dump stats
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4476
> URL: https://issues.apache.org/jira/browse/HARMONY-4476
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Environment: all
> Reporter: Egor Pasko
> Attachments: 0001-Two-state-Inequality-Graph-with-ABCD-Stats-option.txt, igraph.png
>
>
> Creating two Inequality Graphs makes it difficult to make sure the graph looks like the right one. This issue proposes to create two-state InequalityGraph. One state shall represent the upper-bound problem, the other -- lower-bound. Constraints arising from statements like "a=b", "a=b+const" are the same in both states of the graph, whereas constraints arising from statements like "if (a < b)" are different (basically, the edges change direction to the opposite and negate their length)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-4476) [drlvm][jit][opt][abcd] Two-state
Inequality Graph for both Lower and Upper problems, to ensure correctness
and simplify the code, ability to dump stats
Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Egor Pasko updated HARMONY-4476:
--------------------------------
Attachment: 0002-uint32-ids-for-IOpndProxy.txt
uint64 -> uint32, cannot even remember, why I wrote them as uint64..
comment fixed as well
both patches in the queue need to be committed
> [drlvm][jit][opt][abcd] Two-state Inequality Graph for both Lower and Upper problems, to ensure correctness and simplify the code, ability to dump stats
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4476
> URL: https://issues.apache.org/jira/browse/HARMONY-4476
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Environment: all
> Reporter: Egor Pasko
> Attachments: 0001-Two-state-Inequality-Graph-with-ABCD-Stats-option.txt, 0002-uint32-ids-for-IOpndProxy.txt, igraph.png
>
>
> Creating two Inequality Graphs makes it difficult to make sure the graph looks like the right one. This issue proposes to create two-state InequalityGraph. One state shall represent the upper-bound problem, the other -- lower-bound. Constraints arising from statements like "a=b", "a=b+const" are the same in both states of the graph, whereas constraints arising from statements like "if (a < b)" are different (basically, the edges change direction to the opposite and negate their length)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4476) [drlvm][jit][opt][abcd] Two-state
Inequality Graph for both Lower and Upper problems, to ensure correctness
and simplify the code, ability to dump stats
Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12514865 ]
Egor Pasko commented on HARMONY-4476:
-------------------------------------
a-ha, so, there should be "Assign this issue" link! So, I need to find someone who can enable this link for me
thanks :)
> [drlvm][jit][opt][abcd] Two-state Inequality Graph for both Lower and Upper problems, to ensure correctness and simplify the code, ability to dump stats
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4476
> URL: https://issues.apache.org/jira/browse/HARMONY-4476
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Environment: all
> Reporter: Egor Pasko
> Attachments: 0001-Two-state-Inequality-Graph-with-ABCD-Stats-option.txt, 0002-uint32-ids-for-IOpndProxy.txt, igraph.png
>
>
> Creating two Inequality Graphs makes it difficult to make sure the graph looks like the right one. This issue proposes to create two-state InequalityGraph. One state shall represent the upper-bound problem, the other -- lower-bound. Constraints arising from statements like "a=b", "a=b+const" are the same in both states of the graph, whereas constraints arising from statements like "if (a < b)" are different (basically, the edges change direction to the opposite and negate their length)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4476) [drlvm][jit][opt][abcd] Two-state
Inequality Graph for both Lower and Upper problems, to ensure correctness
and simplify the code, ability to dump stats
Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12514565 ]
Egor Pasko commented on HARMONY-4476:
-------------------------------------
BTW, what do I need to do to assign an issue to myself?
> [drlvm][jit][opt][abcd] Two-state Inequality Graph for both Lower and Upper problems, to ensure correctness and simplify the code, ability to dump stats
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4476
> URL: https://issues.apache.org/jira/browse/HARMONY-4476
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Environment: all
> Reporter: Egor Pasko
> Attachments: 0001-Two-state-Inequality-Graph-with-ABCD-Stats-option.txt, 0002-uint32-ids-for-IOpndProxy.txt, igraph.png
>
>
> Creating two Inequality Graphs makes it difficult to make sure the graph looks like the right one. This issue proposes to create two-state InequalityGraph. One state shall represent the upper-bound problem, the other -- lower-bound. Constraints arising from statements like "a=b", "a=b+const" are the same in both states of the graph, whereas constraints arising from statements like "if (a < b)" are different (basically, the edges change direction to the opposite and negate their length)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4476) [drlvm][jit][opt][abcd] Two-state
Inequality Graph for both Lower and Upper problems, to ensure correctness
and simplify the code, ability to dump stats
Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12513056 ]
Egor Pasko commented on HARMONY-4476:
-------------------------------------
PS: now I am much more confident that ABCD works in the way it is supposed to.
> [drlvm][jit][opt][abcd] Two-state Inequality Graph for both Lower and Upper problems, to ensure correctness and simplify the code, ability to dump stats
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4476
> URL: https://issues.apache.org/jira/browse/HARMONY-4476
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Environment: all
> Reporter: Egor Pasko
> Attachments: 0001-Two-state-Inequality-Graph-with-ABCD-Stats-option.txt, igraph.png
>
>
> Creating two Inequality Graphs makes it difficult to make sure the graph looks like the right one. This issue proposes to create two-state InequalityGraph. One state shall represent the upper-bound problem, the other -- lower-bound. Constraints arising from statements like "a=b", "a=b+const" are the same in both states of the graph, whereas constraints arising from statements like "if (a < b)" are different (basically, the edges change direction to the opposite and negate their length)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4476) [drlvm][jit][opt][abcd] Two-state
Inequality Graph for both Lower and Upper problems, to ensure correctness
and simplify the code, ability to dump stats
Posted by "Pavel Ozhdikhin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12513434 ]
Pavel Ozhdikhin commented on HARMONY-4476:
------------------------------------------
reg.test passed except 2 failures which failed today on CC runs as well. So the check on win32 is clean.
> [drlvm][jit][opt][abcd] Two-state Inequality Graph for both Lower and Upper problems, to ensure correctness and simplify the code, ability to dump stats
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4476
> URL: https://issues.apache.org/jira/browse/HARMONY-4476
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Environment: all
> Reporter: Egor Pasko
> Attachments: 0001-Two-state-Inequality-Graph-with-ABCD-Stats-option.txt, igraph.png
>
>
> Creating two Inequality Graphs makes it difficult to make sure the graph looks like the right one. This issue proposes to create two-state InequalityGraph. One state shall represent the upper-bound problem, the other -- lower-bound. Constraints arising from statements like "a=b", "a=b+const" are the same in both states of the graph, whereas constraints arising from statements like "if (a < b)" are different (basically, the edges change direction to the opposite and negate their length)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4476) [drlvm][jit][opt][abcd] Two-state
Inequality Graph for both Lower and Upper problems, to ensure correctness
and simplify the code, ability to dump stats
Posted by "Pavel Ozhdikhin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12513425 ]
Pavel Ozhdikhin commented on HARMONY-4476:
------------------------------------------
"Build test" passed on Win32 (DRLVM debug build), now running VM regression tests...
> [drlvm][jit][opt][abcd] Two-state Inequality Graph for both Lower and Upper problems, to ensure correctness and simplify the code, ability to dump stats
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4476
> URL: https://issues.apache.org/jira/browse/HARMONY-4476
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Environment: all
> Reporter: Egor Pasko
> Attachments: 0001-Two-state-Inequality-Graph-with-ABCD-Stats-option.txt, igraph.png
>
>
> Creating two Inequality Graphs makes it difficult to make sure the graph looks like the right one. This issue proposes to create two-state InequalityGraph. One state shall represent the upper-bound problem, the other -- lower-bound. Constraints arising from statements like "a=b", "a=b+const" are the same in both states of the graph, whereas constraints arising from statements like "if (a < b)" are different (basically, the edges change direction to the opposite and negate their length)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (HARMONY-4476) [drlvm][jit][opt][abcd] Two-state
Inequality Graph for both Lower and Upper problems, to ensure correctness
and simplify the code, ability to dump stats
Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Egor Pasko resolved HARMONY-4476.
---------------------------------
Resolution: Fixed
committed at r565011
> [drlvm][jit][opt][abcd] Two-state Inequality Graph for both Lower and Upper problems, to ensure correctness and simplify the code, ability to dump stats
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4476
> URL: https://issues.apache.org/jira/browse/HARMONY-4476
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Environment: all
> Reporter: Egor Pasko
> Assignee: Egor Pasko
> Attachments: 0001-Two-state-Inequality-Graph-with-ABCD-Stats-option.txt, 0002-uint32-ids-for-IOpndProxy.txt, igraph.png
>
>
> Creating two Inequality Graphs makes it difficult to make sure the graph looks like the right one. This issue proposes to create two-state InequalityGraph. One state shall represent the upper-bound problem, the other -- lower-bound. Constraints arising from statements like "a=b", "a=b+const" are the same in both states of the graph, whereas constraints arising from statements like "if (a < b)" are different (basically, the edges change direction to the opposite and negate their length)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4476) [drlvm][jit][opt][abcd] Two-state
Inequality Graph for both Lower and Upper problems, to ensure correctness
and simplify the code, ability to dump stats
Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12513509 ]
Egor Pasko commented on HARMONY-4476:
-------------------------------------
I wrote the script for analysis:
echo checks:
cat $1 | awk '{print $8}' | perl -e 'BEGIN{$s=0;} while ($x = <>) { $s += $x; } print "$s\n";'
echo removed:
cat $1 | awk '{print $10}' | perl -e 'BEGIN{$s=0;} while ($x = <>) { $s += $x; } print "$s\n";'
> [drlvm][jit][opt][abcd] Two-state Inequality Graph for both Lower and Upper problems, to ensure correctness and simplify the code, ability to dump stats
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4476
> URL: https://issues.apache.org/jira/browse/HARMONY-4476
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Environment: all
> Reporter: Egor Pasko
> Attachments: 0001-Two-state-Inequality-Graph-with-ABCD-Stats-option.txt, igraph.png
>
>
> Creating two Inequality Graphs makes it difficult to make sure the graph looks like the right one. This issue proposes to create two-state InequalityGraph. One state shall represent the upper-bound problem, the other -- lower-bound. Constraints arising from statements like "a=b", "a=b+const" are the same in both states of the graph, whereas constraints arising from statements like "if (a < b)" are different (basically, the edges change direction to the opposite and negate their length)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (HARMONY-4476) [drlvm][jit][opt][abcd] Two-state
Inequality Graph for both Lower and Upper problems, to ensure correctness
and simplify the code, ability to dump stats
Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Egor Pasko closed HARMONY-4476.
-------------------------------
> [drlvm][jit][opt][abcd] Two-state Inequality Graph for both Lower and Upper problems, to ensure correctness and simplify the code, ability to dump stats
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4476
> URL: https://issues.apache.org/jira/browse/HARMONY-4476
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Environment: all
> Reporter: Egor Pasko
> Assignee: Egor Pasko
> Attachments: 0001-Two-state-Inequality-Graph-with-ABCD-Stats-option.txt, 0002-uint32-ids-for-IOpndProxy.txt, igraph.png
>
>
> Creating two Inequality Graphs makes it difficult to make sure the graph looks like the right one. This issue proposes to create two-state InequalityGraph. One state shall represent the upper-bound problem, the other -- lower-bound. Constraints arising from statements like "a=b", "a=b+const" are the same in both states of the graph, whereas constraints arising from statements like "if (a < b)" are different (basically, the edges change direction to the opposite and negate their length)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-4476) [drlvm][jit][opt][abcd] Two-state
Inequality Graph for both Lower and Upper problems, to ensure correctness
and simplify the code, ability to dump stats
Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Egor Pasko updated HARMONY-4476:
--------------------------------
Attachment: 0001-Two-state-Inequality-Graph-with-ABCD-Stats-option.txt
the patch attached
also implemented option: -XX:jit.arg.dump_abcd_stats=true that dumps ABCD stats (total vs. eliminated) to "bounds_checks.log" file.
amount of checks removed: is the same (tested on DaCapo hsqldb, the only benchmark I could run without problems)
tests from HARMONY-2141, HARMONY-2144, HARMONY-2147 pass as previously
the code is more readable, adds all PI instructions first (to both states of the graph) then marks upper- and lower- redundant checks using this graph. The dot file dumped for the graph depicts upper-only edges in blue color and lower-only in red. Both-states checks are default color (black).
could anybody please run 'build test' on windows just to make sure I did not break something? I do not have windows yet :)
if you find it difficult to apply, let me know, I will merge it quickly into the newest version
> [drlvm][jit][opt][abcd] Two-state Inequality Graph for both Lower and Upper problems, to ensure correctness and simplify the code, ability to dump stats
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4476
> URL: https://issues.apache.org/jira/browse/HARMONY-4476
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Environment: all
> Reporter: Egor Pasko
> Attachments: 0001-Two-state-Inequality-Graph-with-ABCD-Stats-option.txt
>
>
> Creating two Inequality Graphs makes it difficult to make sure the graph looks like the right one. This issue proposes to create two-state InequalityGraph. One state shall represent the upper-bound problem, the other -- lower-bound. Constraints arising from statements like "a=b", "a=b+const" are the same in both states of the graph, whereas constraints arising from statements like "if (a < b)" are different (basically, the edges change direction to the opposite and negate their length)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4476) [drlvm][jit][opt][abcd] Two-state
Inequality Graph for both Lower and Upper problems, to ensure correctness
and simplify the code, ability to dump stats
Posted by "Pavel Ozhdikhin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12513223 ]
Pavel Ozhdikhin commented on HARMONY-4476:
------------------------------------------
Egor, I've looked through your patch. Not very deep though, just a generic view.
The code now indeed became more readable! The new graph printing looks nice too.
I have a copule of comments/questions regarding your patch and ABCD implementation in general:
---
classic_abcd.cpp:
Typo in the comment ("constraints"):
// constrints (edges) rather than old ones;
---
This code:
static const uint64 min_const_opnd = (min_ssa_opnd) * 3;
...
setID((uint32)min_const_opnd + id);
looks potentially unsafe to me due to type conversion and possible overflow. There should be at least an assert checking that there is no overflow. It's better to be jitrino_assert to fire on release as well.
I've successfully built DRLVM on Win32 with your patch. I also can't run DaCapo on debug build in server_static mode - recent commit for a new BC mapping has broken this. This will be fixed soon.
On release build I ran into verifier issue (this is also a recent change). With verifier disabled I finally managed to run jython, got some info on bounds check but was too lazy to write a script to sum up the results - just made sure something is optimized.
Now I'm running "build test" on win32 and get back with the results later.
> [drlvm][jit][opt][abcd] Two-state Inequality Graph for both Lower and Upper problems, to ensure correctness and simplify the code, ability to dump stats
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4476
> URL: https://issues.apache.org/jira/browse/HARMONY-4476
> Project: Harmony
> Issue Type: Improvement
> Components: DRLVM
> Environment: all
> Reporter: Egor Pasko
> Attachments: 0001-Two-state-Inequality-Graph-with-ABCD-Stats-option.txt, igraph.png
>
>
> Creating two Inequality Graphs makes it difficult to make sure the graph looks like the right one. This issue proposes to create two-state InequalityGraph. One state shall represent the upper-bound problem, the other -- lower-bound. Constraints arising from statements like "a=b", "a=b+const" are the same in both states of the graph, whereas constraints arising from statements like "if (a < b)" are different (basically, the edges change direction to the opposite and negate their length)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.