Skip to content

omarandlorraine/strop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

strop

Build Status crates.io

strop, the stochastic optimizer, written in Rust.

Like a compiler, strop generates assembly that computes a given function. But unlike a compiler, it generates assembly-language subroutines by a random search or a brute-force search.

Ancillary documents:

What it's for

To see what strop could be used for:

  • opt optimizes an existing machine code function
  • gen generates a Z80 function matching the Rust function, after a fashion compiling Rust to Z80.
  • peephole discovers lacunae in the peephole optimizers and other constraints

Supported instruction sets:

Strop currently has the following back-ends:

  • armv4t, which targets the ARMv4T processors, such as the ARM7TDMI
    • Build Status
  • m68000, which targets the Motorola 68000
    • Build Status
    • NB. This back-end is gated by the m68k feature since it requires nightly Rust
  • m6502, targets various models of the MOS 6502
    • Build Status
    • Supports the NMOS and CMOS variants and others, thanks to the mos6502 dependency.
  • m6809, which targets the Motorola 6809
    • Build Status
  • z80, which targets the Zilog Z80
    • Build Status

About

Stochastically generates machine code

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages