Theodore Dubois
|
00ec13cb6e
|
Implement log base 2 (fyl2x)
|
2018-10-30 14:41:39 -07:00 |
|
Theodore Dubois
|
c10fac176f
|
Implement frndint
|
2018-10-29 17:13:05 -07:00 |
|
Theodore Dubois
|
67a94999a9
|
Implement atomic operations on x86
|
2018-10-28 20:39:14 -07:00 |
|
Theodore Dubois
|
ed5cf3b432
|
Add decoder support for atomics
|
2018-10-28 18:27:00 -07:00 |
|
Theodore Dubois
|
52bca8ece0
|
Attempt to fix the stack alignment once and for all
|
2018-10-28 15:12:15 -07:00 |
|
Theodore Dubois
|
e112675f74
|
Use the correct size for loads and stores in scas and cmps
|
2018-10-22 14:59:28 -07:00 |
|
Theodore Dubois
|
a6236c7545
|
Fix build for x86 darwin
|
2018-10-08 17:18:19 -07:00 |
|
Theodore Dubois
|
c4837720ff
|
Implement fabs/fchs
|
2018-10-08 15:25:45 -07:00 |
|
Theodore Dubois
|
a0cc2e77e4
|
Implement overflow conditionals in jit
|
2018-10-07 20:53:58 -07:00 |
|
Theodore Dubois
|
6eaaed4451
|
Fix instruction pointer after segfault or illegal instruction
|
2018-10-07 20:46:18 -07:00 |
|
Theodore Dubois
|
0cfe10729b
|
Improve jit log messages
|
2018-10-06 20:57:10 -07:00 |
|
Theodore Dubois
|
137ba5a0d8
|
Correctly report the segfault address
|
2018-10-06 20:56:43 -07:00 |
|
Theodore Dubois
|
a085694d0e
|
Implement xadd in the JIT
|
2018-10-05 16:32:43 -07:00 |
|
Theodore Dubois
|
2ec1247dc0
|
Implement fidivr
|
2018-10-05 12:48:08 -07:00 |
|
Theodore Dubois
|
cf1578cddb
|
Add a quick cache for jit blocks
|
2018-09-30 12:40:21 -07:00 |
|
Theodore Dubois
|
0cf553e968
|
Chain jcxz instructions
|
2018-09-30 12:40:05 -07:00 |
|
Theodore Dubois
|
1a9fa6712e
|
Correctly test for errors from crosspage accesses
|
2018-09-30 12:09:30 -07:00 |
|
Theodore Dubois
|
6ad7596546
|
Fix stack alignment on linux
|
2018-09-30 11:56:02 -07:00 |
|
Theodore Dubois
|
986bcdaf72
|
Use correct size for helper reads and writes
|
2018-09-30 10:40:39 -07:00 |
|
Theodore Dubois
|
7ebc060632
|
Keep the stack 16 byte aligned on x86
|
2018-09-28 13:21:52 -07:00 |
|
Theodore Dubois
|
a55f83be34
|
Terminate blocks longer than a page with a gen_exit
|
2018-09-28 12:33:59 -07:00 |
|
Theodore Dubois
|
7282fa2639
|
Unfuck bsr for aarch64
|
2018-09-26 15:15:57 -07:00 |
|
Theodore Dubois
|
2dd5be2228
|
Use TRACELN instead of println like I meant to do all along
|
2018-09-25 18:16:41 -07:00 |
|
Theodore Dubois
|
c6a53be55f
|
Log blocks as they're compiled
|
2018-09-25 17:10:50 -07:00 |
|
Theodore Dubois
|
5e7c17d703
|
Unfuck pushf and popf for aarch64
|
2018-09-25 15:52:35 -07:00 |
|
Theodore Dubois
|
e674d88fe7
|
Fix initializing of jit blocks
Correctly initialize end_addr and initialize linked lists after any realloc calls might have happened.
|
2018-09-25 14:43:01 -07:00 |
|
Theodore Dubois
|
fe4092ed0f
|
Fix jit build for iOS
|
2018-09-20 14:43:19 -07:00 |
|
Theodore Dubois
|
006f5a1587
|
Fix jit build on linux
|
2018-09-18 20:22:50 -07:00 |
|
Theodore Dubois
|
f58063dddf
|
Fix jit build on macOS
|
2018-09-18 19:44:29 -07:00 |
|
Theodore Dubois
|
83174880d8
|
Fix TLB thrashing with a new hash function
|
2018-09-18 15:15:32 -07:00 |
|
Theodore Dubois
|
93696f16db
|
Use correct sized memory reads/writes in aarch64 math
|
2018-09-18 11:57:53 -07:00 |
|
Theodore Dubois
|
515a93010e
|
Implement mul for aarch64
|
2018-09-18 11:57:44 -07:00 |
|
Theodore Dubois
|
304c4a6fea
|
Correctly handle BT with memory
|
2018-09-16 08:51:11 -07:00 |
|
Theodore Dubois
|
76feac71a5
|
Correctly set CF for both adc and sbb
|
2018-09-16 08:50:47 -07:00 |
|
Theodore Dubois
|
34850a1f48
|
Correctly set OF for inc and dec
|
2018-09-11 09:41:39 -07:00 |
|
Theodore Dubois
|
3774d61725
|
Implement xchg for aarch4
|
2018-09-11 09:41:03 -07:00 |
|
Theodore Dubois
|
eaefba6fc0
|
Implement rol and ror for aarch64
|
2018-09-11 09:39:43 -07:00 |
|
Theodore Dubois
|
d01e1485ee
|
Unfuck cmpxchg
|
2018-09-10 15:50:26 -07:00 |
|
Theodore Dubois
|
acc0155bd7
|
Implement unary imul
|
2018-09-10 15:50:25 -07:00 |
|
Theodore Dubois
|
1be828d925
|
Fix checking of flags when their value is not in res
|
2018-09-03 01:12:22 +00:00 |
|
Theodore Dubois
|
dae9776d91
|
Implement bsr/bsf
|
2018-09-03 01:12:05 +00:00 |
|
Theodore Dubois
|
12a4dccd29
|
Implement adc and sbc
|
2018-09-02 17:14:31 +00:00 |
|
Theodore Dubois
|
109ba1384b
|
Fix test for sign-xor-overflow condition
|
2018-09-02 17:13:41 +00:00 |
|
Theodore Dubois
|
5d64d03f79
|
Implement idiv
|
2018-09-02 00:43:17 +00:00 |
|
Theodore Dubois
|
24b2572792
|
Implement register high byte operations
|
2018-09-02 00:43:01 +00:00 |
|
Theodore Dubois
|
1b6d4623c8
|
Implement sar
|
2018-09-02 00:42:44 +00:00 |
|
Theodore Dubois
|
33f02b0d06
|
Fix some bugs in string instructions
|
2018-09-01 23:47:46 +00:00 |
|
Theodore Dubois
|
9fe170e830
|
Implement shrd/shld for aarch64
|
2018-09-01 23:47:23 +00:00 |
|
Theodore Dubois
|
06529dae54
|
Implement multi-operand imul
|
2018-09-01 20:41:52 +00:00 |
|
Theodore Dubois
|
1255c1cae6
|
Implement neg and not
|
2018-08-31 00:28:12 +00:00 |
|