Commit graph

3715 commits

Author SHA1 Message Date
Fabian 61b429c0b6 jit more sse instructions (660FE*) 2020-12-31 19:14:32 -06:00
Fabian 98ecc0d244 jit more sse instructions (660FF*) 2020-12-31 19:14:32 -06:00
Fabian 09c0099632 jit pmovmsk (0fd7/660fd7) 2020-12-31 19:14:32 -06:00
Fabian 78e6bc5995 jit more mmx instructions (0FD*) 2020-12-31 19:14:32 -06:00
Fabian 2711a3b356 jit more mmx instructions (0FE*) 2020-12-31 19:14:32 -06:00
Fabian 0b47c75a06 jit more mmx instructions (0FF*) 2020-12-31 19:14:32 -06:00
Fabian d93308f7d8 Remove code duplication (global pointers) 2020-12-31 19:14:32 -06:00
Fabian c8ddbbba22 Fix sse scratch registers overlaps fpu status word 2020-12-31 19:14:32 -06:00
Fabian 56272ca397 s/cpu2/cpu 2020-12-31 19:14:32 -06:00
Fabian b97c5661f5 Allow creating more than one nasmtest per instruction 2020-12-31 19:14:32 -06:00
Fabian 84fb38ae92 Implement SSE rounding modes for float-to-int conversions 2020-12-31 19:14:32 -06:00
Fabian 584ab0cca0 Support null segment #gp in jit mode (Windows 98 / Windows ME / QNX) 2020-12-31 19:14:32 -06:00
Fabian c88391d7fc Track whether segment offset is optimised away 2020-12-31 19:14:32 -06:00
Fabian c916e59dcb Simplify 2020-12-31 19:14:31 -06:00
Fabian 584c1e93ac Avoid aliasing reg128 structs (fixes pshuf*) 2020-12-31 19:14:31 -06:00
Fabian 1ff541997d Simplify pmovmskb 2020-12-31 19:14:31 -06:00
Fabian 143f74fd9f Fix benchmarks 2020-12-31 19:14:31 -06:00
Fabian 8646ee00a8 Clean up 2020-12-31 19:14:31 -06:00
Fabian dca4e7bb1e Add qemu release test 2020-12-31 19:14:31 -06:00
Fabian 91b43687e7 Experiment support for synchronous compilation (only node) 2020-12-31 19:14:31 -06:00
Fabian 159aaaa01f Move imm reads into generate_jit 2020-12-31 19:14:31 -06:00
Fabian ab46fe4f37 Refactor modrm decoding for jit 2020-12-31 19:14:31 -06:00
Fabian 9ccef87b88 Port arpl to rust 2020-12-31 19:14:31 -06:00
Fabian a348d2db96 Delete last_virt_esp and esp_phys 2020-12-31 19:14:31 -06:00
Fabian 46cb7eb212 Accept expect tests (order of types changed) 2020-12-31 19:14:31 -06:00
Fabian 44a2838f4b Remove translate_address_read from JS api 2020-12-31 19:14:31 -06:00
Fabian fea30501db Use readable_or_pagefault 2020-12-31 19:14:31 -06:00
Fabian 1c78a09c93 Simplify 2020-12-31 19:14:31 -06:00
Fabian 42ecf896bb Remove remaining uses of reg8 and reg16 2020-12-31 19:14:31 -06:00
Fabian 7d064e1927 Use {read,write}_reg32 2020-12-31 19:14:31 -06:00
Fabian 3b9b5e5717 Use {read,write}_reg8 2020-12-31 19:14:31 -06:00
Fabian 75f223d543 Use {read,write}_reg16 2020-12-31 19:14:31 -06:00
Fabian 31f02905b2 Avoid use cpu2::cpu::* in interpreter 2020-12-31 19:14:31 -06:00
Fabian 98af62a808 Avoid use cpu2::cpu::* in memory 2020-12-31 19:14:31 -06:00
Fabian 0187766059 Avoid use cpu2::cpu::* 2020-12-31 19:14:31 -06:00
Fabian 56f2a0f700 Avoid use foo::* 2020-12-31 19:14:31 -06:00
Fabian a1da780f5e Move some code around 2020-12-31 19:14:31 -06:00
Fabian 9340def411 Move code around 2020-12-31 19:14:31 -06:00
Fabian 959ed86a7f Delete code 2020-12-31 19:14:31 -06:00
Fabian 7b4e1fe07d Delete some code 2020-12-31 19:14:31 -06:00
Fabian 6ff18e0b80 Refactor more 2020-12-31 19:14:31 -06:00
Fabian 0dd6740526 Refactor 2020-12-31 19:14:31 -06:00
Fabian d6c7078c46 Move code around 2020-12-31 19:14:31 -06:00
Fabian 6364c76ded Add message to assertion 2020-12-31 19:14:31 -06:00
Fabian d47f0125ef Update OS tests 2020-12-31 19:14:31 -06:00
Fabian 5251ab11e5 refactor: Move function calling into wasm builder (part 2) 2020-12-31 19:14:31 -06:00
Fabian 37c9ee1021 Refactor 2020-12-31 19:14:31 -06:00
Fabian e9cceb76bc refactor: Move function calling into wasm builder (part 1) 2020-12-31 19:14:31 -06:00
Fabian 5dd03792c2 jit RDTSC 2020-12-31 19:14:31 -06:00
Fabian 0091338c6b jit more variants of imul (69/6B) 2020-12-31 19:14:31 -06:00