MerryMage
28d3c09df9
fixup! Common: Common::make_unique -> std::make_unique
2016-04-07 00:26:09 +01:00
MerryMage
71d1031b4c
fixup! RunJittedCode: Remove C-style casts
2016-04-07 00:02:06 +01:00
MerryMage
420d3afdf8
fixup! Jit: Remove unnecessary headers
2016-04-06 20:34:33 +01:00
MerryMage
b3a257fd8f
fixup! JitX64: Add const to relevant member functions, add initialisers to members of CondManager
2016-04-06 20:34:33 +01:00
MerryMage
eb03919c36
fixup! JitX64: Default values for primitive members
2016-04-06 20:34:33 +01:00
MerryMage
90a9e758bb
fixup! JitX64::LocationDescriptorHash: Use static_cast
2016-04-06 20:34:33 +01:00
MerryMage
d7348adbba
fixup! Tests/JitX64: Use std::generate_n and factor pass-testing into DoesBehaviorMatch
2016-04-06 20:34:33 +01:00
MerryMage
a9767d514f
fixup! MMIO: UnmapRegion
2016-04-06 20:34:33 +01:00
MerryMage
257e130572
fixup! RegAlloc: Simplify code
2016-04-06 20:34:33 +01:00
MerryMage
b5e96a5b77
fixup! JitX64: Move thumb_BLX_* variables below ArmDecoder::Visitor functions
2016-04-06 20:34:33 +01:00
MerryMage
10786333b3
fixup! Make JitX64::CondManager::CurrentCond() const
2016-04-06 20:34:33 +01:00
MerryMage
cf24142769
fixup! JitState: Should be final and should have initial values
2016-04-06 20:34:33 +01:00
MerryMage
ecb66ecdec
fixup! arm_dyncom_interpreter
2016-04-06 20:34:33 +01:00
MerryMage
6ccde4718e
fixup! Common: Move SignExtend and bits into BitUtil
2016-04-06 20:34:33 +01:00
MerryMage
ad46ecb125
fixup! ARM/Decoder: Misc fixes
2016-04-06 20:34:33 +01:00
MerryMage
9555adb4f1
fixup! ARM/Decoder: Various fixes
...
* Use C++14 std::integer_sequence.
* Split ArmDecoder::Instruction into ArmInstruction and ThumbInstruction
* Make Cond, Register, ShiftType and SignExtendRotation enum classes.
* ThumbMatcher is no longer allocated on the heap.
* JitX64::CondManager now uses Cond instead of SkyEye's ConditionCode.
* Add utility functions IsArmRegValid and MakeArmRegList.
2016-04-06 20:34:33 +01:00
MerryMage
d9cf6474cf
JitX64: Removed old page table code
2016-04-06 20:34:33 +01:00
MerryMage
6eddd09f30
ARM/Decoder: Fill out more instructions
2016-04-06 20:34:33 +01:00
MerryMage
8ee5ba3e8f
ARM_Jit: ClearCache upon construct
2016-04-06 20:34:33 +01:00
MerryMage
a5e3874db8
JitX64: Implement exception-generating instructions
2016-04-06 20:34:33 +01:00
MerryMage
1f8217a09b
JitX64: Implement synchronisation instructions
2016-04-06 20:34:33 +01:00
MerryMage
8bd590ed99
tests/JitX64: Fix thumb tests
2016-04-06 20:34:33 +01:00
MerryMage
20d87c315a
JitX64: Load/Store: Add UNPREDICTABLE ASSERTs, correct LDR R15 behavior
2016-04-06 20:34:33 +01:00
MerryMage
32d81463cf
fixup! Fix non-MSVC builds
2016-04-06 20:34:33 +01:00
MerryMage
903d39cee5
tests/JitX64: Improve thumb instruction test coverage
2016-04-06 20:34:33 +01:00
MerryMage
089d9ddb05
JitX64: Implement SETEND
2016-04-06 20:34:33 +01:00
MerryMage
d4fc4e209a
JitX64: Implement load and store multiple
2016-04-06 20:34:33 +01:00
MerryMage
67553cf56c
JitX64: Implement load/store instructions
2016-04-06 20:34:33 +01:00
MerryMage
bef912b7ec
MMIO: UnmapRegion
2016-04-06 20:34:33 +01:00
MerryMage
5e8d1e0289
x64 ABI: Be explicit about Gen:: namespace
2016-04-06 20:34:33 +01:00
MerryMage
ec7c34ec92
JitX64: Data Processing: Implement shift-by-register (_rsr) instructions
2016-04-06 20:34:33 +01:00
MerryMage
fc1f126ec5
JitX64: Data Processing: Implement shift-by-immediate (_reg) instructions
2016-04-06 20:34:33 +01:00
MerryMage
1e57d34c0b
JitX64: Implement 32-bit thumb BL(X) instruction
2016-04-06 20:34:33 +01:00
MerryMage
c5dc3fedd5
JitX64: Implement branch instructions
2016-04-06 20:34:33 +01:00
MerryMage
578e5881cc
ARM_Disasm: Disassemble BLX
2016-04-06 20:34:33 +01:00
MerryMage
7aaef09f7d
Common: Add MathUtil::SignExtend
2016-04-06 20:34:33 +01:00
MerryMage
e3eb4c068d
tests/JitX64: Initial thumb tests
2016-04-06 20:34:33 +01:00
MerryMage
d00db8c525
fixup! tests/JitX64: Address comments
2016-04-06 20:34:33 +01:00
MerryMage
9874fae84b
fixup! Addressed comments regarding JitX64::JitX64
2016-04-06 20:34:33 +01:00
MerryMage
25201712db
fixup! JitX64/RegAlloc: Rename member functions to (Lock|Bind)ArmFor(Read|ReadWrite|Write).
2016-04-06 20:34:33 +01:00
MerryMage
67ed95cb7d
tests/JitX64: Add tests for testing data processing instructions with Rd=R15
2016-04-06 20:34:33 +01:00
MerryMage
be46235efe
tests/JitX64: Improve tests
2016-04-06 20:34:33 +01:00
MerryMage
550fef508e
JitX64/RegAlloc: Improve documentation and improve method names
2016-04-06 20:34:33 +01:00
MerryMage
26c18cc21e
fixup! Fix bugs in thumb decoder & have it use boost::optional
2016-04-06 20:34:33 +01:00
MerryMage
e86f27ad72
fixup! Builds on OS X now
2016-04-06 20:34:33 +01:00
MerryMage
486d14b7d8
fixup! Arm/ArmDecoder: Address comments regarding the arm decoder and check versions of all arm instructions
2016-04-06 20:34:33 +01:00
MerryMage
52558ae8be
JitX64: Implement immediate data processing instructions
2016-04-06 20:34:33 +01:00
MerryMage
a80f9d8a66
JitX64: Implement ADC_imm
2016-04-06 20:34:33 +01:00
MerryMage
5331b7c4a5
JitX64: Implement ARM_Jit::ClearCache()
2016-04-06 20:34:33 +01:00
MerryMage
02c3484dbc
tests/JitX64: Fuzz ARM data processing instructions
2016-04-06 20:34:33 +01:00