Skip to content

Jump size fix design discussion #1288

Description

@IridescentVoid

Some context: #806

Ideally, we want to fix (ab)using jumps for iota compression, but we don't want to have this limit what we can do in terms of hex control flow. Notably, it should be possible to pause a hex by creating a jump (intending to serialize it and then stop the current cast) without instantly doubling the size taken by the continuation stack (since post #806, everything in the castingimage is counted towards the serialization limit). This is almost possible already if you Iris' Gambit another jump that does your serialization and halting, but I believe that other jump exists within a FrameEvaluate for a moment before replacing the continuation, which means stack size taken is still doubled for that one moment.
There might be better ways to implement this though, as jumps are pretty opaque which means hexes using this are hard to maintain. Perhaps we add a way to add a single iota as a tag to a jump? (Then a serialization jump could be labeled Scribe's Gambit, etc.) These two changes might be enough that we can go ahead and patch jump compression without breaking everything else, though it'd not be too intuitive for anyone not well-versed with jump mechanics.

Yes, this is another incoherent brain dump. Sorry.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions