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 rir inlining promises #1231

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Fix rir inlining promises #1231

wants to merge 2 commits into from

Conversation

JanJecmen
Copy link
Collaborator

No description provided.

…iler

`function() invisible(return(5))` would trip the bytecode verifier since we'd emit ret_ in the inlined promise in the middle of the `invisible` call sequence, leaving stuff on the stack...
For now, track when inlining promises and emit return_ in those cases (since return_ does a longjump and resets stack).
Ideally we would just not emit any code after finding a call to return, but this would be more involved to change.
@o-
Copy link
Contributor

o- commented Aug 4, 2022

Here are some stats for your PR:

  • WARNING: the longest CI job test_release_2 took 2.15h
  • fasta_naive_2 regressed by 0.87
  • binarytrees_naive regressed by 0.91
  • mandelbrot_ascii regressed by 0.92
  • Overall benchmarks regressed by 1.0

Please find your performance results at https://rir-benchmarks.prl.fit.cvut.cz/diff?job_ids[]=2814499241&job_ids[]=2793868035&selection=all

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.

2 participants