Skip to content

(Possibly temporary) fix for meet_equals_tagged_immediates#729

Merged
mshinwell merged 1 commit intooxcaml:mainfrom
mshinwell:flambda2-fix-invalid-2022-07-14
Jul 14, 2022
Merged

(Possibly temporary) fix for meet_equals_tagged_immediates#729
mshinwell merged 1 commit intooxcaml:mainfrom
mshinwell:flambda2-fix-invalid-2022-07-14

Conversation

@mshinwell
Copy link
Copy Markdown
Collaborator

This fixes the Invalid seen on the JS builds (on a comparison primitive) and matches the semantics prior to #726. We can discuss whether this is the best solution when @lthls is back.

@mshinwell mshinwell added bug Something isn't working flambda2 Prerequisite for, or part of, flambda2 labels Jul 14, 2022
@mshinwell mshinwell requested review from chambart and lthls as code owners July 14, 2022 12:58
@mshinwell mshinwell merged commit 748a05e into oxcaml:main Jul 14, 2022
@lthls
Copy link
Copy Markdown
Contributor

lthls commented Jul 15, 2022

This doesn't look right. Is it possible that one of the JS modules cheats and uses an integer comparison on pointers for speed ?

@lthls
Copy link
Copy Markdown
Contributor

lthls commented Jul 15, 2022

For future reference, a bit of context from Slack:

the code is complicated but I think it might have come from ppx_compare. I'm still not completely certain about the provers code here. If we have an arithmetic operation, and the type involves blocks, shouldn't that be Invalid?
The actual primitive producing Invalid before was a comparison where one side was a constant integer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working flambda2 Prerequisite for, or part of, flambda2

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants