Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix #9829 #11849

Merged
merged 1 commit into from
Aug 4, 2019
Merged

fix #9829 #11849

merged 1 commit into from
Aug 4, 2019

Conversation

krux02
Copy link
Contributor

@krux02 krux02 commented Jul 29, 2019

fix #9829

@krux02 krux02 force-pushed the fix-infinite-compilation branch from 238e989 to 8fe1c8b Compare July 30, 2019 15:25
@Araq
Copy link
Member

Araq commented Jul 31, 2019

This fix makes no sense to me... the number of iterations that the "jump optimizer" performs is bounded by 10.

@krux02
Copy link
Contributor Author

krux02 commented Jul 31, 2019

It is not the jump optimizer that runs forever, it is the optimized code that causes the problem. The optimizer optimizes the bytecode in a way that opcJmpBack isn't executed anymore. Only opcJmpBack decreses the counter for loop iterations. This means that the optimization changed the semantics of the code.

dec(c.loopIterations)

@Araq Araq merged commit b73d097 into nim-lang:devel Aug 4, 2019
narimiran pushed a commit that referenced this pull request Aug 12, 2019
(cherry picked from commit b73d097)
narimiran pushed a commit that referenced this pull request Aug 13, 2019
(cherry picked from commit b73d097)
narimiran pushed a commit that referenced this pull request Aug 13, 2019
(cherry picked from commit b73d097)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Nim check hangs in macro
2 participants