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 |
|
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
|
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
|
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
|
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 |
|
Fabian
|
8f15b554ee
|
optimise cmp8/16 x, imm; jc
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
d629984627
|
optimise cmp reg, reg/imm; jz
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
19b2771c40
|
optimise getsf
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
db65dd352d
|
optimise test x, x followed by jz/js
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
0ea7c7cd81
|
optimise getof
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
6fcbe7b3d0
|
optimise cmp x, 0; jz
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
1d55116779
|
optimise get_last_op1 (for cmp32)
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
5a7c946e83
|
optimise get_last_result
|
2022-11-15 10:14:28 +09:00 |
|