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

Improvements to emit.mlp organization #754

Open
2 tasks
kayceesrk opened this issue Nov 23, 2021 · 0 comments
Open
2 tasks

Improvements to emit.mlp organization #754

kayceesrk opened this issue Nov 23, 2021 · 0 comments
Labels
post 5.00 Items to be worked on after OCaml 5.0 release

Comments

@kayceesrk
Copy link
Contributor

  • The preproc_fun function looks independent of the target processor, so eventually it should be moved to a target-independent module, e.g. Emitaux. But actually I'd prefer to refactor all the computations of various aspects of functions (whether they contain calls or not, initial stack size, maximal stack size, ...) to after Linearize and before Emit. (We had this discussion for poll point insertion already.)
  • Stack checking is done at the beginning of the function (in Emit.fundecl) while the rest of the function prologue is emitted by the Lprologue instruction since this PR: Add Lprologue ocaml/ocaml#2055 , for reasons related to "debugger support". (Say no more.) I would prefer all the prologue code to be emitted in one place. This could mean reverting PR#2055 and removing the Lprologue instruction.

These arose from the asynchronous reviews #742 (comment), and are scheduled to be done after MVP merge.

@kayceesrk kayceesrk added the post 5.00 Items to be worked on after OCaml 5.0 release label Nov 23, 2021
@kayceesrk kayceesrk changed the title Improvements to emit.mlp Improvements to emit.mlp organization Nov 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
post 5.00 Items to be worked on after OCaml 5.0 release
Projects
None yet
Development

No branches or pull requests

1 participant