Skip to content
This repository has been archived by the owner on Aug 22, 2019. It is now read-only.

Revert branch probs remove #215

Closed
wants to merge 4 commits into from

Conversation

mrigger
Copy link
Collaborator

@mrigger mrigger commented Apr 29, 2016

I previously assumed that branch probability profiling for successors in #211 made the profiling in switches, selects, and indirect branches redundant. However, removing them made most benchmarks slower. For example, removing the indirect branch profiling for indirect branches alone makes the whetstone benchmark 10% slower. Hence, this change reverts the removal of the branch profiling in the switch, br, and select nodes.

@lukasstadler
Copy link
Member

lukasstadler commented Apr 29, 2016

hm, the problem might be that public double getBranchProbability(int successorIndex) only does transferToInterpreter if the total execution count is zero, but not if the execution count of the specific successor is zero. Since normal counting profiles do this, I'd suggest to try this before reverting everything.

@mrigger
Copy link
Collaborator Author

mrigger commented Apr 29, 2016

Yes, thanks! Unfortunately the comment in the code only pretended to deopt if the count of a successor is zero, and did not implement it. ;)

Fixed in #217

@mrigger mrigger closed this Apr 29, 2016
@mrigger
Copy link
Collaborator Author

mrigger commented May 2, 2016

It seems that this is still a problem for switch, since the comparisons have all the same (wrong) probability.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants