Toby Hutton

Results 16 issues of Toby Hutton

When switching from AST -> ASM to AST -> IR -> ASM all the new IR -> ASM code went in `from_ir.rs` to keep it simple and contained. But the...

code quality
compiler: ir
compiler: codegen

When reviewing #2472 I noticed it's possible to accidentally make an invalid `CompileResult`, where the author intended to return an 'ok' but set value to `None`. We should make it...

enhancement
good first issue
code quality
P: medium
compiler: frontend

As of #2363 we have explicit reference semantics for mutable args including copy-type args. ## Problem This is a bit of a stop-gap measure though as memory management in the...

enhancement
compiler: ir

As we add new optimisation passes we need a structured way to call them. Some potential features: - Levels of optimisation mimicking `-O0`, `-Os`, `-O3`, etc. - Pass categories and...

compiler: optimization

We could either find a tool or write our own Sway source code fuzzer. In the past I've used [AFL](https://en.wikipedia.org/wiki/American_fuzzy_lop_(fuzzer)) to generate files as input to algorithm tests and it...

code quality
testing
compiler: ir
compiler: frontend
compiler: parser

At [VM initialization](https://github.com/FuelLabs/fuel-specs/blob/master/specs/vm/main.md#vm-initialization) it says: > `$hp = VM_MAX_RAM - 1`: the heap area begins at the top and is empty to start. It makes more sense for `$hp` to...

comp:FVM

First draft. To do: * [x] Unit test failures. * [ ] Fix storage stack use in stdlib. * [ ] Add a couple more ir_generation tests. * [ ]...

enhancement
big
P: critical
compiler: codegen

Although the distinction between copy and reference types is more explicit within the compiler now, it wasn't always the case and this is apparent in the IR design. E.g., *...

enhancement
code quality
compiler: ir

As noted in https://github.com/FuelLabs/sway/issues/2674#issuecomment-1233636209 when compiling large libraries with several `dep`s in `lib.sw` we can use a metric tonne of RAM. I have a feeling we're just leaking a whole...

bug
P: medium
compiler: frontend

When reading the printed IR it can get a bit verbose, as constants are always assigned to values. E.g., ``` v54 = const u64 3, !62 v55 = const u64...

enhancement
compiler: ir