-
Notifications
You must be signed in to change notification settings - Fork 85
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
Remove Failure CompileError #520
Comments
Note that this issue goes against #186. |
A potentially less intrusive approach could be to leave the compiler One could prove that, given such a tweaked compiler configuration, Use of such defensively written compiler configurations might not have a |
What's going to happen if I feed code that would be >4GB compiled to a 32-bit backend? Also, this seems to be in contradiction with #544. |
This should be taken into account by #1080 and will be superseded by that. |
Currently, the compiler is allowed to return
Failure CompileError
for any input program. At present, these compiler errors can only
occur when a code label is too far from the current program location,
i.e. the jump offset that needs to be encoded in the instruction just
does not fit the instruction encoding.
This issue is about removing such compiler errors completely by:
annotating each instruction that might cause such an encoding
error with two registers that can safely be used as temporaries
when computing the target address
adjust the
lab_to_target
compiler so that it makes use ofthese temporaries
adjust the semantics of
LabLang
andStackLang
so that theseinstructions delete the registers mentioned in temporary
register annotations
I suspect the
word_to_stack
compiler knows which two registers areavailable to be used as temporaries on the
StackLang
side.The text was updated successfully, but these errors were encountered: