Commit graph

4111 commits

Author SHA1 Message Date
Fabian 3c81e70794 fsave: set high bits of 16-bit fields 2022-11-26 14:11:19 -06:00
Fabian 530105e934 nasmtests: mask fpu eip for fsave 2022-11-26 14:11:19 -06:00
Fabian 69e8eafeba test mov reg, sreg manually 2022-11-26 14:11:19 -06:00
Fabian 6b91f91c45 test pushf manually 2022-11-26 14:11:19 -06:00
Fabian 4932c821e8 jit: generate code for sse moves (f20f1[01], 660f6e, f30f7e, 660fd6) 2022-11-26 14:11:19 -06:00
Fabian 3ed118e790 jit: generate code for punpckldq (660f62) 2022-11-26 14:11:19 -06:00
Fabian de2a1439aa jit: generate code for {66,}0f{c4,c5} (pinsrw, pextrw) 2022-11-26 14:11:19 -06:00
Fabian 625fdcd4a2 generate slightly better code for ud2 2022-11-26 14:11:19 -06:00
Fabian cf61ac635a vga: correctly advertise the latest bochs version, and make it r/w (fix #768) 2022-11-26 14:11:19 -06:00
Fabian baffa6c0d6 generate code for pshufd (660F70) 2022-11-26 14:11:19 -06:00
Fabian 752869dbff movs: allow overlapping strings, as long as they don't overlay within a page 2022-11-26 14:11:19 -06:00
Fabian 3bcd997904 fix: rare conditional jump with double fallthrough doesn't set eip correctly 2022-11-26 14:11:19 -06:00
Fabian 1588687e2a optimise flag generation after adc/sbb 2022-11-26 14:11:19 -06:00
Fabian 6524bbc569 Use local for condition generation after shifts 2022-11-26 14:11:19 -06:00
Belle Aerni aaa583659c Correct docker image for no limiter 2022-11-21 08:52:56 +09:00
Fabian 3880583470 Use uint8array.slice over new Uint8Array().set(uint8array.subarray) 2022-11-15 10:14:28 +09:00
Fabian adb7fe5441 allow entering jit after page walk 2022-11-15 10:14:28 +09:00
Fabian fc520f2876 allow directory as partfile 2022-11-15 10:14:28 +09:00
Fabian 756ce66888 movs: fast path for unaligned src/dst 2022-11-15 10:14:28 +09:00
Fabian 685c39177f movs: fast copy into svga lfb 2022-11-15 10:14:28 +09:00
Fabian 70cf369d18 collect stats about segment offsets 2022-11-15 10:14:28 +09:00
Fabian eea5cb67b0 include CS in flat_segments 2022-11-15 10:14:28 +09:00
Fabian 23a6994a14 test v86-in-v86 2022-11-15 10:14:28 +09:00
Fabian 8bf7a6aac0 generate better conditions after shl/shr/sar with constant shift count 2022-11-15 10:14:28 +09:00
Fabian 71d36b234f when generating code for a page, use original state flags 2022-11-15 10:14:28 +09:00
Fabian 753a6d1fb3 jit: handle fpu DA group 2022-11-15 10:14:28 +09:00
Fabian c5ff1d4961 dead code 2022-11-15 10:14:28 +09:00
Fabian 16662ec979 jit: handle {66,}0f17 2022-11-15 10:14:28 +09:00
Fabian 1c8e1bbdfa jit: handle {66,}0f16 2022-11-15 10:14:28 +09:00
Fabian 3e22884a4a improve logging in elf 2022-11-15 10:14:28 +09:00
Fabian d254a6b7b6 refactor cycle_internal 2022-11-15 10:14:28 +09:00
Fabian cdaf8dca3d inline function that is only called once 2022-11-15 10:14:28 +09:00
Fabian 7fb9654920 avoid calling jit_dirty_page after page walk in jit mode 2022-11-15 10:14:28 +09:00
Fabian 9ecee545c8 fix spurious make error 2022-11-15 10:14:28 +09:00
Fabian 0596b25f70 improve page heat calculation (combine with recording of entry points) 2022-11-15 10:14:28 +09:00
Fabian af32a64a3e log reason for running in interpreted mode when state flags don't match 2022-11-15 10:14:28 +09:00
Fabian 43271295c0 late c2rust cleanup, fix panic in idiv16 in debug build 2022-11-15 10:14:28 +09:00
Fabian 574673e476 add tests for idiv overflow 2022-11-15 10:14:28 +09:00
Fabian 6989ba001a log the remaining unoptimised conditionals 2022-11-15 10:14:28 +09:00
Fabian e9a3fc5b00 consider add/inc/dec; jbe optimised in its current form 2022-11-15 10:14:28 +09:00
Fabian 37841eb0c9 optimise and/or/xor/test; jc/jo/jbe/jl/jle 2022-11-15 10:14:28 +09:00
Fabian da1c713252 optimise inc/dec; jcc 2022-11-15 10:14:28 +09:00
Fabian 625ad2802c optimise add; jo 2022-11-15 10:14:28 +09:00
Fabian f8cbf3b2bd optimise add; jc 2022-11-15 10:14:28 +09:00
Fabian 60b555107f identify add for the purpose of optimising conditions 2022-11-15 10:14:28 +09:00
Fabian 92313f582c optimise sub; jle 2022-11-15 10:14:28 +09:00
Fabian 228934d616 optimise sub; jl 2022-11-15 10:14:28 +09:00
Fabian 949081837b optimise sub; jbe 2022-11-15 10:14:28 +09:00
Fabian 7d6a3c67e4 optimise sub8; jo/jb 2022-11-15 10:14:28 +09:00
Fabian bb0f37bbce optimise sub; jc 2022-11-15 10:14:28 +09:00