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

implement all special operators in bytecode #1622

Merged
merged 13 commits into from
Aug 28, 2024
Merged

Conversation

Bike
Copy link
Member

@Bike Bike commented Aug 27, 2024

what it says on the tin. removes the need for catch-function and stuff with bytecode. Improves parity with Maclina.

But they're not in there in Cleavir, so the BTB compiler doesn't work on some stuff. I'm going to call that optional, especially since I just noticed the ast-interpreter-n tests have been failing to compile for weeks and it hasn't caused any big issues.

Bike added 11 commits August 27, 2024 15:37
because i'm sick of seeing catch-function in backtraces, mostly,
which isn't a very good reason

A slightly better reason is that makes it easier to load Maclina
FASLs.
replacing the macro that expands into a funwind-protect call.
Assuming the name existed caused a weird type error when it didn't.
Whoops! Happens with e.g. signal handlers.
Also makes it so you can specify the thunk in C++, which will be
needed for bytecode.
that covers all the special operators.
Will be useful for compiling catch instructions... but we can't
right now since they're not actually represented in Cleavir. Oops!
@Bike Bike force-pushed the bytecode-all-special-operators branch from 185f714 to 060c448 Compare August 27, 2024 19:40
Bike added 2 commits August 27, 2024 16:02
Forgot I made that change to Cleavir. Should probably be better
thought out but this at least fixes the MISC.105 failure.

Currently I'm focusing on the bytecode bootstrapping stuff before
even worrying about Cleavir again. It's a lot, though.
@Bike Bike merged commit 66d916b into main Aug 28, 2024
9 checks passed
@Bike Bike deleted the bytecode-all-special-operators branch August 28, 2024 18:23
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.

1 participant