Simon Lindholm

Results 104 issues of Simon Lindholm

update_menu is meant to be called from the setup thread, but is currently unsafe to use on macOS/win32, since the main thread may be updating the menu at the same...

This adds missing sp vars that were either only read from (due to being fake and actually part of structs that we fail to detect), or are structs/arrays which never...

E.g. `(x > 24` is a cast to u8/s8, sign depending on whether we have an arithmetical vs. logical right shift.

We detect ``` bgez $a3, .L00400100 cvt.s.w $reg, whatever lui $at, 0x4f80 mtc1 $at, $temp nop add.s $reg, $reg, $temp .L00400100: ``` but I once saw ``` cvt.s.w $reg, whatever...

E.g. `return x++;` currently emits something like ``` x = x + 1; return x; ``` which is wrong. Maybe we could iterate over all registers contents recursively on writes...

We currently emit e.g. `*(void*)0x1234 = 12.34f;`. Naively this is not too hard to fix by changing `Type.ptr()` to `Type.ptr(Type.f32())`, but #79 may cause problems, and the pointer may point...

Currently they must be named `L`, or they will be detected as functions, which breaks everything (you generally get a cryptic KeyError on `before_target = label_prev_instr[old_label]` due to non-existent labels)....

``` glabel test b .label nop .label: nop ``` prints "Cannot find branch target label"

IDO seems to use lower-numbered stack slots for this. I wonder if we can detect it... Maybe we can find all stack slots that are never read from (after the...