Skip to content

Fix bugs in the increment/decrement operator.#391

Merged
dvander merged 1 commit intomasterfrom
more-tests
Oct 14, 2019
Merged

Fix bugs in the increment/decrement operator.#391
dvander merged 1 commit intomasterfrom
more-tests

Conversation

@dvander
Copy link
Member

@dvander dvander commented Oct 13, 2019

The post-incdec operator is particularly broken in the old code
generator. We make no attempt to fix it here, since it is not worth
trying to preserve old behavior in this case. The new parser avoids
calling emit_userop since it is complicated and inefficient.

New tests for this will fail on the current parser, so they are
disabled.

Unfortunately, the new code generation patterns wildly trip up the
optimizer. The optimizer has many patterns that result in incorrect
replacements (for example, exchanging a move+push for a push). Since
the long term plan is to remove the optimizer and simply emit better
code, we now disable the optimizer for expressions using the new parser.

The post-incdec operator is particularly broken in the old code
generator. We make no attempt to fix it here, since it is not worth
trying to preserve old behavior in this case. The new parser avoids
calling emit_userop since it is complicated and inefficient.

New tests for this will fail on the current parser, so they are
disabled.

Unfortunately, the new code generation patterns wildly trip up the
optimizer. The optimizer has many patterns that result in incorrect
replacements (for example, exchanging a move+push for a push). Since
the long term plan is to remove the optimizer and simply emit better
code, we now disable the optimizer for expressions using the new parser.
@dvander dvander merged commit 93cf3f0 into master Oct 14, 2019
@dvander dvander deleted the more-tests branch October 14, 2019 01:25
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.

1 participant