Skip to content

Improve generated code and flexibility #176

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

Merged
merged 4 commits into from
Sep 27, 2017

Conversation

retronym
Copy link
Member

@retronym retronym commented Sep 27, 2017

  • allow custom macros based on async to control error handling, name freshening
  • eliminate dead states and compact state id to emit a minimal tableswitch

If a state does nothing but unconditionally transition to the
next state, remove it and rewrite predecessors to directly jump
to the successor state (or to the first non-dead successor.)

While we're doing this, compact the remaining state IDs to be
contiguous, which will allow use of a tableswitch in bytecode.

Sample bytecode demonstrating a tableswitch:

  https://gist.github.com/retronym/6880c35b501fc1c91bed7f30c0f2c045
@retronym retronym changed the title Improve generated code and add flexibility Improve generated code and flexibility Sep 27, 2017
@retronym retronym merged commit 1fe789a into scala:master Sep 27, 2017
@retronym retronym added this to the 0.10.0 milestone Apr 8, 2019
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