Lioncache
03410ed4a2
config_generator: Remove unnecessary format() in print_parse_jsonloader_options()
...
This format call essentially does nothing since it has no specifier.
We can also fix up the indentation of the else case too, for consistency.
2025-09-06 10:51:02 -04:00
Tony Wasserka
71d42d7e73
Merge pull request #4840 from lioncash/internal
...
InternalThreadState: Make bool operator explicit
2025-09-06 09:20:08 +02:00
Lioncache
2613762ac2
InternalThreadState: Make bool operator explicit
...
We definitely don't want the boolean null test to be able to be implicitly converted
(e.g. to an int or whatever else).
For example a non-explicit bool operator allows for silly things like:
NonMovableUniquePtr<...> ptr;
// ...
auto k = 5 + ptr;
to build without issue, which we should really force the user to be explicit about if it's *really* a desired behavior.
2025-09-05 16:29:19 -04:00
LC
3df3999138
Merge pull request #4838 from lioncash/dumper
...
IRDumper: Add missing PrintArg for IndexNamedVectorConstant
2025-09-05 13:06:53 -04:00
Ryan Houdek
1ca6443c9d
Merge pull request #4836 from neobrain/refactor_irscript_cleanup
...
json_ir_generator: Clean up generated assertion statements
2025-09-04 11:21:10 -07:00
Ryan Houdek
a804cb5d07
Merge pull request #4833 from lioncash/ptr
...
CPUBackend: Remove unused variable in CheckCodeBufferUpdate
2025-09-04 11:20:42 -07:00
Ryan Houdek
a0883c9615
Merge pull request #4832 from lioncash/threads
...
Utils/Threads: Minor cleanup
2025-09-04 11:20:24 -07:00
Ryan Houdek
03c968a8fe
Merge pull request #4831 from lioncash/header
...
IntrusiveIRList/RegisterAllocationData: Remove unused headers
2025-09-04 11:20:14 -07:00
Ryan Houdek
e34de22cf4
Merge pull request #4829 from lioncash/clz
...
VixlUtils: Use std::countl_zero where applicable
2025-09-04 11:19:54 -07:00
Ryan Houdek
3db1f1e01f
Merge pull request #4826 from Sonicadvance1/classify_features
...
unittests/ASM: Adds support for classifying more requirements
2025-09-04 11:19:41 -07:00
Ryan Houdek
5e467c737f
Merge pull request #4822 from bylaws/ecent
...
Dispatcher: Move the EC entrypoint check prior to the L1 lookup
2025-09-04 11:19:29 -07:00
Lioncache
dfc42fa7c5
IRDumper: Add missing PrintArg for IndexNamedVectorConstant
...
Results in better named output for these.
2025-09-04 12:04:48 -04:00
LC
f1016e82c7
Merge pull request #4834 from neobrain/refactor_async_simplify_ancbuffer
...
AsyncNet: Simplify declaration of ancillary buffer
2025-09-04 11:28:41 -04:00
Tony Wasserka
5e099a5dbd
IR: Fix indentation
2025-09-04 15:39:40 +02:00
Tony Wasserka
8dceec9316
IR: Fix array emptiness check
2025-09-04 15:39:40 +02:00
Tony Wasserka
6f51092998
AsyncNet: Simplify declaration of ancillary buffer
2025-09-04 14:40:39 +02:00
Lioncache
4e83ca67f5
CPUBackend: std::move shared_ptr where applicable
...
Very minor, just avoids churning reference count increments and decrements.
2025-09-03 21:20:58 -04:00
Lioncache
76e6c6f8ea
CPUBackend: Remove unused shared_ptr in CheckCodeBufferUpdate()
...
Just gets rid of an unused variable.
2025-09-03 21:19:16 -04:00
Ryan Houdek
343a529e63
Merge pull request #4824 from bylaws/tf2
...
OpDispatcher: Force a recheck of TF after POPF
2025-09-03 15:24:40 -07:00
Ryan Houdek
c6ccc68607
Merge pull request #4823 from bylaws/mbooo
...
Frontend: Always explore fallthrough branches with multiblock
2025-09-03 15:24:29 -07:00
Ryan Houdek
8009f4a6ee
Merge pull request #4820 from bylaws/neg
...
AtomicOps: Reimplement AtomicNeg using 8.1 CAS atomics
2025-09-03 15:23:40 -07:00
Tony Wasserka
e126cecb16
Merge pull request #4818 from lioncash/at
...
General: Replace usages of .at(0) with .data() where applicable
2025-09-03 22:37:50 +02:00
Tony Wasserka
5e19202540
Merge pull request #4816 from lioncash/float
...
F80Fallbacks: Remove unnecessary memset
2025-09-03 22:36:59 +02:00
Billy Laws
06466bac0e
Dispatcher: Drop the L1 lookup
...
This is almost never hit outside of exceptional cases like signals/SMC,
for which other overheads dominate.
2025-09-03 18:26:47 +01:00
Billy Laws
156edcacb2
Dispatcher: Move the EC entrypoint check prior to the L1 lookup
...
Profiling shows this is by far the hottest path, as every DX call will
hit this (as arm64ec functions in a vtable). L2 hits are much rarer and
L1 almost never hits since that is looked up inline in most cases.
2025-09-03 18:26:47 +01:00
Lioncache
bf4b8d246a
Threads: Simplify copying in SetInternalPointers
...
We can just use assignment here, which lets us also
remove <cstring> since this is the only usage of memcpy.
2025-09-03 11:01:12 -04:00
Lioncache
abc37ec35e
Threads: Mark default handler functions as static
...
These aren't used outside of the translation unit.
2025-09-03 11:01:12 -04:00
Lioncache
dd735464a2
Threads: Remove unnecessary includes
...
We have quite a few unnecessary includes here left over from code movement,
so we can clean those out.
Also fix an indirect include in the header.
2025-09-03 11:00:57 -04:00
Lioncache
7041bdb144
IntrusiveIRList: Remove unused headers
...
Gets rid of unnecessary dependencies and clarifies previously indirect dependencies.
2025-09-03 10:39:45 -04:00
Lioncache
19e8c3fcb6
RegisterAllocationData: Remove unused headers
...
Gets rid of unnecessary header dependencies.
2025-09-03 10:31:41 -04:00
LC
06c5135d4e
Merge pull request #4815 from lioncash/abi
...
Dispatcher: Reduce header dependencies
2025-09-03 09:45:36 -04:00
LC
f66066cbd8
Merge pull request #4819 from lioncash/constprop
...
ConstProp: Remove file
2025-09-03 09:45:01 -04:00
Lioncache
a144622a06
VixlUtils: Remove IsPowerOf2()
...
std::has_single_bit already does this.
2025-09-03 05:46:29 -04:00
Lioncache
05c814b8c1
VixlUtils: Use std::countl_zero where applicable
...
Makes for a little less code.
2025-09-03 05:45:02 -04:00
Ryan Houdek
e0af51fb06
unittests/ASM: Classify unittests with new flags
...
Necessary for running on old hardware.
2025-09-02 18:37:59 -07:00
Ryan Houdek
7b749558df
HostRunner: Add support for non-fsgsbase hardware
2025-09-02 18:37:59 -07:00
Ryan Houdek
1797c3c617
unittests/ASM: Add support for more feature flags
2025-09-02 18:15:31 -07:00
Billy Laws
7c9c97f2b9
Update InstCountCI
2025-09-02 22:23:41 +01:00
Billy Laws
d72e121fd4
AtomicOps: Reimplement AtomicNeg using 8.1 CAS atomics
2025-09-02 22:23:14 +01:00
Billy Laws
003fc3dab5
Update InstCountCI
2025-09-02 22:21:56 +01:00
Billy Laws
2c883d7cdc
OpDispatcher: Force a recheck of TF after POPF
...
The dispatcher/block linker will handle this, but if the instruction
following a POPF flag doesn't otherwise trigger one of those the
interrupt would be missed.
2025-09-02 22:21:42 +01:00
Billy Laws
959af9c3af
Frontend: Always explore fallthrough branches with multiblock
2025-09-02 22:02:53 +01:00
Lioncache
1edacf05e9
ConstProp: Remove file
...
This was left in the tree, but the functionality was removed a while ago, so we can delete this.
2025-09-02 14:50:22 -04:00
Lioncache
1f756fb386
General: Replace usages of .at(0) with .data() where applicable
...
This is generally more straightforward in cases where bounds checking isn't necessary.
2025-09-02 13:03:37 -04:00
Lioncache
5ebdc01783
F80Fallbacks: Remove unnecessary memset
...
X80SoftFloat instances already initialize zeroed out in the default constructor.
2025-09-02 12:25:03 -04:00
Lioncache
aa29201e00
Dispatcher: Reduce header dependencies
...
Gets rid of some unnecessary dependencies and also resolves some indirect dependencies.
2025-09-02 12:10:05 -04:00
LC
b98acdf97a
Merge pull request #4814 from neobrain/refactor_code_cache_remove_legacy
...
CodeCache: Remove legacy interfaces
2025-09-02 07:41:57 -04:00
LC
7aeb4788ed
Merge pull request #4813 from Sonicadvance1/movsxd_test
...
unittests: Adds missing movsxd edge case
2025-09-02 07:40:24 -04:00
Tony Wasserka
7b1db40d4a
Config: Remove legacy code caching interfaces
2025-09-02 12:06:57 +02:00
Tony Wasserka
dcaa90a855
CodeCache: Remove legacy interfaces
2025-09-02 12:06:52 +02:00