Commit graph

3840 commits

Author SHA1 Message Date
Fabian 948fcc1c55 Use exit label over return (reduces generated code size by ~10%) 2020-12-31 19:14:33 -06:00
Fabian 8ba65bffe3 Replace depth by labels for br/br_if instructions 2020-12-31 19:14:33 -06:00
Fabian 7a0d213429 Proper xtermjs integration (#172) 2020-12-31 19:14:33 -06:00
Fabian 54d413304a Assume a modern browser 2020-12-31 19:14:33 -06:00
Fabian 6d5a275128 Fix screenshot in Chromium 2020-12-31 19:14:33 -06:00
Fabian ef6911ca51 msr 277h, IA32_PAT 2020-12-31 19:14:33 -06:00
Fabian 7eee24aaec Dead code 2020-12-31 19:14:33 -06:00
Fabian d67a0ced96 Use custom type for WasmTableIndex 2020-12-31 19:14:32 -06:00
Fabian 6352bfe3ed Multi-page wasm modules 2020-12-31 19:14:32 -06:00
Fabian 8221936a11 Update gitignore 2020-12-31 19:14:32 -06:00
Fabian 78a87d1869 ioapic improvements for 9front (#332) 2020-12-31 19:14:32 -06:00
Fabian 0988d030fa Make apci+apic configurable at runtime (#247, #332) 2020-12-31 19:14:32 -06:00
Fabian 19d862d672 Remove no_mangle 2020-12-31 19:14:32 -06:00
Fabian 9f54954cb5 Delete some code 2020-12-31 19:14:32 -06:00
Fabian 72096ad986 Disable const item mutation warning (triggers on pointers) 2020-12-31 19:14:32 -06:00
Fabian 599b31b9b4 Remove #[no_mangle] from extern blocks 2020-12-31 19:14:32 -06:00
Fabian 3bce2c5ecc Expand _ 2020-12-31 19:14:32 -06:00
Fabian 1f1eb37970 Detect rmw (read-modify-write) smc (self-modifying code) 2020-12-31 19:14:32 -06:00
Fabian d446c09fb3 print stats: Add wasm memory size 2020-12-31 19:14:32 -06:00
Fabian 397eff0494 Rename imports to call_indirect 2020-12-31 19:14:32 -06:00
Fabian f2759f72d2 Move mem8 to memory.rs 2020-12-31 19:14:32 -06:00
Fabian 9a68bc4315 Fix assertion in ide 2020-12-31 19:14:32 -06:00
Fabian ddb9c6ae55 Fix compilation with profiler enabled 2020-12-31 19:14:32 -06:00
Fabian 8c7413d896 Remove profiler_instrument cargo flag (merged into profiler) 2020-12-31 19:14:32 -06:00
Fabian ad22c98247 Implement reboot via PCI 2020-12-31 19:14:32 -06:00
Fabian d4aec0967f Dead code 2020-12-31 19:14:32 -06:00
Fabian 316a30f2df Dead 2020-12-31 19:14:32 -06:00
Fabian 8b046a11c7 Improve speed of jit_clear_cache 2020-12-31 19:14:32 -06:00
Fabian d896f58dfa state test: Add filesystem 2020-12-31 19:14:32 -06:00
Fabian cd3f48c0a3 Simplify recursive state handling (don't require get_state for set_state) 2020-12-31 19:14:32 -06:00
Fabian faadca9f35 Update expect tests 2020-12-31 19:14:32 -06:00
Fabian f6b67202f2 Simplify fxsave and fxrstor 2020-12-31 19:14:32 -06:00
Fabian c835023c0c Dead code 2020-12-31 19:14:32 -06:00
Fabian b96f984963 Use softfloat f80 for x87 fpu
This fixes several long-standing issues with x87 float emulation, in particular:

- 80 bit precision floats, fixing Haiku after its switch to musl libc (hrev53728)
- the precision bit in the x87 control word
- fucom and fucomi (unordered comparisons)
- aliasing of x87 and mmx registers
- rounding during conversion to integers

Operations that are not implemented in softfloat were implemented by
converting to f64 (sine, pow, ln, etc.) and thus operate with lower
precision.

Softfloat has been combined into a single file using a script [0] and checked into the repository.

[0] 57df21e2eb/contrib/single_file_libs/combine.sh
2020-12-31 19:14:32 -06:00
Fabian 1d22abda38 Allow type section larger than 128 bytes 2020-12-31 19:14:32 -06:00
Fabian 0e8e9ae853 Remove some unnecessary no_mangle (sse instructions) 2020-12-31 19:14:32 -06:00
Fabian 754b10e576 Remove some unnecessary no_mangle (fpu instructions) 2020-12-31 19:14:32 -06:00
Fabian 406653bd38 Remove some unnecessary no_mangle 2020-12-31 19:14:32 -06:00
Fabian e464427def Minor: Remove trailing newlines 2020-12-31 19:14:32 -06:00
Fabian 3e3ca2b556 Add some fpu tests 2020-12-31 19:14:32 -06:00
Fabian 18e7741f3f Enable some qemu fpu tests that were previously not working 2020-12-31 19:14:32 -06:00
Fabian e2a055481b Refactor fpu instructions 2020-12-31 19:14:32 -06:00
Fabian 1de3592cd6 Add qemu release tests to all-tests target 2020-12-31 19:14:32 -06:00
Fabian 99d66c2e45 Refactor creation of integration test fs 2020-12-31 19:14:32 -06:00
Fabian fbb92ca76c Fix fpu stack pointer overflow in ffree 2020-12-31 19:14:32 -06:00
Fabian c05ea1465f Remove unused wasm imports 2020-12-31 19:14:32 -06:00
Fabian 906c934945 Remove Rust import panic_bounds_check bug workaround 2020-12-31 19:14:32 -06:00
Fabian 14214fe113 Update expect tests 2020-12-31 19:14:32 -06:00
Fabian 7be85004c6 Remove tlb_data from global pointers 2020-12-31 19:14:32 -06:00
Fabian 6334e0965a Better message 2020-12-31 19:14:32 -06:00