Stefanos Kornilios Mitsis Poiitidis
0c1510e763
Merge pull request #641 from Sonicadvance1/uninstall_handlers
...
Uninstalls both the signal delegator and logmanager handlers on shutdown
2021-01-13 12:15:10 +02:00
Stefanos Kornilios Mitsis Poiitidis
709075de58
Merge pull request #639 from Sonicadvance1/fix_32bit_program_header
...
Makes sure to not calculate zero sized program headers on 32bit
2021-01-13 12:08:00 +02:00
Stefanos Kornilios Mitsis Poiitidis
f34f8981ab
Merge pull request #638 from Sonicadvance1/irvalidation_memoryleak
...
Fixes a memory leak in IRValidation
2021-01-13 12:07:33 +02:00
Ryan Houdek
067889c861
Merge pull request #644 from duck-37/faster-pmovmskb
...
Add specialized case for PMOVMSKB with vector ops
2021-01-12 12:25:50 -08:00
duck
ade89bba6a
XXX -> TODO
2021-01-12 15:19:45 -05:00
duck
059594cbd3
Add a quick comment for potential optimization
2021-01-12 15:15:41 -05:00
Ryan Houdek
f78a342a72
Merge pull request #645 from duck-37/dcse-flags
...
Make DCSE aware of OP_INVALIDATEFLAGS
2021-01-12 11:50:35 -08:00
duck
501bccdd80
Faster PMOVMSKB, part 2
2021-01-12 14:06:52 -05:00
duck
49afb6bceb
Faster PMOVMSKB instruction.
2021-01-12 14:06:51 -05:00
duck
c690e65365
Make sure to only record when necessary
2021-01-12 12:49:49 -05:00
duck
4e3934eddd
Make DeadContextStoreElimination aware of OP_INVALIDATEFLAGS
2021-01-12 12:47:32 -05:00
duck
464eb13b93
One-byte horizontal add support on x86-64.
2021-01-12 11:10:16 -05:00
Ryan Houdek
aa3b77e4c8
Uninstalls LogManager handlers on shutdown
...
In case something manages to have stayed alive and tried throwing a
message, this will no longer crash.
Noticed this with the previous commit
2021-01-11 09:03:56 -08:00
Ryan Houdek
a442489001
Makes sure to not calculate zero sized program headers on 32bit
...
This is the same thing as the 64bit side
2021-01-11 08:51:13 -08:00
Ryan Houdek
8d2eebd644
Fixes a memory leak in IRValidation
2021-01-11 08:47:45 -08:00
Stefanos Kornilios Mitsis Poiitidis
552895b896
Merge pull request #626 from Sonicadvance1/fix_16bit_addressing
...
Fixes 16bit ModRM rm decoding
2021-01-11 16:19:56 +02:00
Stefanos Kornilios Mitsis Poiitidis
50597b8fd2
Merge pull request #621 from Sonicadvance1/fix_idle_ref_count_on_fork
...
Ensure idle wait ref counter is 1 on fork
2021-01-11 10:55:36 +02:00
duck
a63339c50d
Fix JCC negative offsets as well
2021-01-11 03:34:52 -05:00
duck
e610b12c97
Fix negative offset jumps on x86-32 by using 32-bit RIP
2021-01-11 03:20:25 -05:00
duck
4c295e6dfc
Fix compilation issues, re-rename due to pre-existing variable
2021-01-10 17:54:29 -05:00
duck
3c86a55bea
Size -> GPRSize for a bit more clarity
2021-01-10 17:50:22 -05:00
duck
9290e19fc5
Fix JCXZ on X86
2021-01-10 17:46:03 -05:00
Ryan Houdek
7ee6b68d03
Fixes 16bit ModRM rm decoding
...
When we are running in 32bit mode then it is possible to have an
instruction's modrm working as 16bit mode.
All one needs to do is prefix the instruction with an address size
override
2021-01-10 02:18:30 -08:00
Ryan Houdek
63cc8c67f2
Ensure idle wait ref counter is 1 on fork
...
Once we fork, we no longer have any threads to track in the process.
Ensures we don't spin forever on forked process
2021-01-10 02:09:37 -08:00
Stefanos Kornilios Mitsis Poiitidis
1dd307f34b
JIT/x64: Implement distributed dispatch, jumps instead of call/ret
2021-01-10 03:23:40 +02:00
Stefanos Kornilios Mitsis Poiitidis
a76baf9a7f
JIT: Fix interpreter fallback path
2021-01-09 05:55:30 +02:00
Stefanos Kornilios Mitsis Poiitidis
f3d5635182
IR: Make ExitFunction take NewRip as an argument, instead of implicit ctx store
2021-01-08 18:41:33 +02:00
Stefanos Kornilios Mitsis Poiitidis
3729a33665
jit: Basic distributed dipatch for arm64
2021-01-08 17:43:18 +02:00
Ryan Houdek
ee8dfb8fc5
Merge pull request #606 from duck-37/sigsegv-fail-tests
...
Have tests that throw a non-HLT SIGSEGV fail
2021-01-06 15:28:38 -08:00
Stefanos Kornilios Mitsis Poiitidis
dd71a45175
Merge branch 'main' into skmp/static-ra
2021-01-07 01:04:16 +02:00
Stefanos Kornilios Mitsis Poiitidis
5600ffbb4b
L1C: Use constant for masking
2021-01-07 00:27:08 +02:00
Stefanos Kornilios Mitsis Poiitidis
aaa80d0678
BlockCache: Add a hash based L1 cache for lookups
2021-01-06 23:37:25 +02:00
Stefanos Kornilios Mitsis Poiitidis
101b29c5ee
ConstProp: Fix build breakage w/ operator ==
2021-01-06 23:31:50 +02:00
duck
f9cd0f0179
Have tests that throw a non-HLT SIGSEGV fail
...
Patch moves HandleSIGSEGV in HostFactory.cpp to a non-frontend host signal handler, then registers its own frontend signal handler to catch unhandled segfaults.
2021-01-06 05:07:47 -05:00
Stefanos Kornilios Mitsis Poiitidis
45b6c39e2c
SRA: reload SRA on signal handler entry, recover from guest on context marshaling
2021-01-05 17:14:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
86f74279e6
arm64: Fix SRA spills, OP_SYSCALL stack args
2021-01-05 17:14:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
fa35e79c3f
arm64: Fix lr pushing
2021-01-05 17:14:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
bcf382afc4
Interpreter: Fix LSHR to correctly zero extend
2021-01-05 17:14:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
193a72aa56
SRA: Address review feedback
2021-01-05 17:14:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
94fb009f4b
SRA: Address review feedback
2021-01-05 17:14:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
5fd77f8228
arm64: Fix FPR spilling
2021-01-05 17:14:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
41285865ba
arm64: Fix asserts
2021-01-05 17:14:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
c95d40e9be
arm64: Spill/Fill static ra around OP_SYSCALL
2021-01-05 17:14:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
82545796b8
static-ra: Use LogMan::* instead of assert/printf
2021-01-05 17:14:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
2ed8163a98
arm64: Cleanup & optimize Static and Dynamic spills on call
2021-01-05 17:14:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
b3600a453c
RA/SRA: Don't read-alias not full sized regs, it is not safe
2021-01-05 17:14:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
30d7c02b60
arm64: Really fix Popcount to take into account opsize
2021-01-05 17:14:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
5f481ff56d
IR: Fix Ashr, Ror OpSize calculation
2021-01-05 17:14:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
c518151800
IR: Fix Lshr op size detection
2021-01-05 17:14:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
20a9b93019
OpDisp: Fix CondJUMPRCXOp
2021-01-05 17:14:57 +02:00