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

Try SimpleInt / SimpleReal in context for lazy and !refl #1279

Open
skrynski opened this issue May 6, 2024 · 0 comments
Open

Try SimpleInt / SimpleReal in context for lazy and !refl #1279

skrynski opened this issue May 6, 2024 · 0 comments
Labels
enhancement interpreter needs to be implemented in the interpreter (/interpreter, /runtime) rir concerns the R to RIR compiler, or RIR bytecode (/ir)

Comments

@skrynski
Copy link
Collaborator

skrynski commented May 6, 2024

Sometimes we get a context flagged with SimpleInt, NoRefl, Lazy . This means we get a promise which is, most likely, just a variable lookup that is bound (eventually, after several promises in between) to a simple int. We would get a simple int as long this is not modified by reflection. Currently, when translating the context to the type of the arg, we ONLY set the type simpleInt when the argument is already Eager.
We could optimize for this missing case. For example, if the arguments are forced right away and are all flagged with 'NoRefl'. Then it's safe to assume we got an integer.

@skrynski skrynski added enhancement rir concerns the R to RIR compiler, or RIR bytecode (/ir) interpreter needs to be implemented in the interpreter (/interpreter, /runtime) labels May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement interpreter needs to be implemented in the interpreter (/interpreter, /runtime) rir concerns the R to RIR compiler, or RIR bytecode (/ir)
Projects
None yet
Development

No branches or pull requests

1 participant