8000 SH4: The One Big Jit Rewrite · Issue #16 · skmp/minicast · GitHub
[go: up one dir, main page]

Skip to content

SH4: The One Big Jit Rewrite #16

Open

Description

@skmp

Current SH4 -> ARMv7 jit has several limitations and can be much improved. It is the typical armv7 jit from the nullDCe/reicast lineage.

  • No constant propagation
  • No constant folding of page locked memory reads
  • No block dependency graph for selective invalidation / graceful page unlocking
  • No multi block support
  • No read/write pointer merging
  • No read/write pointer ofsetting
  • Bad djump/T bit handling
  • No static register allocation (can only be done for fprs, experimental impl in https://github.com/skmp/minicast/tree/static-fpr-alloc but it didn't help)
  • Semi-broken SQ write optimization path (aka "Unstable SH4 Optimizations"
  • No block relocation metadata/support
  • No block precompilation

These and many more could be quickly iterated on now with Fable I think. Maybe it's time we move on from the 2009-era design.

Activity

  1. changed the title [-]the One Big SH4 Jit Rewrite[/-] [+]SH4: the One Big Jit Rewrite[/+] on Jul 19, 2026
  2. changed the title [-]SH4: the One Big Jit Rewrite[/-] [+]SH4: The One Big Jit Rewrite[/+] on Jul 19, 2026
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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0