summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/drcbeut.cpp
Commit message (Collapse)AuthorAgeFilesLines
* -cpu/drcbeut.cpp: Don't allocate from the DRC cache unnecessarily. Vas Crabb2025-02-121-99/+97
| | | | | | | | | | | | | | * Allocate label helpers and map variable changes from the process heap. They're only used during code generation and have no business being in the DRC cache. * Keep map variable changes contiguous, don't deallocate label helpers and map variable changes on completing a block. * Got rid of simple_list, more const, tidied a little. -cpu/drcbearm64.cpp, cpu/drcbex64.cpp: Shuffled RECOVER instructions a bit to be nicer to the CPU's scheduler. -bus/hp_dio/hp_dio.cpp: Removed vestigial simple_list support code.
* cpu: Got rid of the rest of the static member function trampolines. Vas Crabb2025-02-041-5/+0
| | | | | | | | | | | cpu/drcbearm64.cpp, cpu/drcbex64.cpp: Removed static trampoline fallbacks for get map variable value and debugger instrcution hook functions. cpu/drcbex86.cpp: Removed static trampolines for get map variable value and debugger instrcution hook functions. cpu/drcbex64.cpp: Corrected stack diagram in comment.
* Cleanup: Vas Crabb2025-02-031-1/+10
| | | | | | | | | | | | | | | | | cpu/drcbex86.cpp: Don't use static address space accessors. This gives a big performance improvement. cpu/drcbeut.cpp: Made failure to resolve address space accessors fatal. cpu/drcbearm64.cpp: Removed fallback to static address space accessors. cpu/mips3/mibs3.cpp: Removed static address space accessors. All they were doing was hurting performance. cpu/drcbex64.cpp: Don't use goofy X64_WINDOWS_ABI macro, just check _WIN32. The only other environment that uses the Windows calling convention is (U)EFI, and we can move feature detection to util/abi.h if we ever need to care about it.
* DRC cleanup and minor optimisation: [Windy Fairy, Vas Crabb] Vas Crabb2025-01-161-13/+48
| | | | | | | | | | | | | | | * Build all native back-ends if any native back-end is enabled so errors caused by changing interfaces can be found faster. * cpu/drcbeut.cpp: Moved resolved member function stuff to a place where it can be shared by back-ends. * cpu/drcbearm64.cpp: Use ubfx instruction to extract unordered flag. * cpu/drcbearm64.cpp, cpu/drcbex64.cpp: Bypass trampolines when calling get map variable value and debugger instruction hook functions. * cpu/drcbearm64.cpp: Moved some internal helpers that don't need to be members to anonymous namespace. * cpu/drcbearm64.cpp: Added a comment with some info to help when debugging generated code. * cpu/drcbec.cpp: Put code in the drc namespace.
* Eliminate ARRAY_LENGTH template in favor of C++17's std::size AJR2021-02-141-2/+2
| | | | | | | | | | * osdcomm.h: Move definition of EQUIVALENT_ARRAY to coretmpl.h * sharc.cpp, gt64xxx.cpp, ym2413.cpp, gb_lcd.cpp, snes_ppu.cpp: Use STRUCT_MEMBER for save state registration * gio/newport.cpp, megadrive/svp.cpp, nes_ctrl/bcbattle.cpp, arm7.cpp, tms9995.cpp, pckeybrd.cpp, sa1110.cpp, sa1111.cpp, jangou_blitter.cpp, vic4567.cpp: Use std::fill(_n) instead of memset * emucore.h: Remove obsolete typedef
* cpu: Allow recompilers to work with W^X policy Vas Crabb2021-01-061-1/+1
|
* prettier, and fewer copies (nw) Vas Crabb2018-12-241-6/+4
|
* it's important to construct/destruct objects (nw) Vas Crabb2018-12-241-0/+4
|
* Do not use FUNC in delegate where applicable (nw) Miodrag Milanovic2016-11-061-1/+1
|
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-23/+23
| | | | | Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8 also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8
* use standard types uintptr_t, char16_t and char32_t instead of FPTR, ↵ Miodrag Milanovic2016-10-221-2/+2
| | | | utf16_char, unicode_char (nw)
* NULL->nullptr, instead of DEVCB_NULL use always DEVCB_NOOP to prevent ↵ Miodrag Milanovic2016-04-241-2/+2
| | | | confusion (nw)
* cleanup (nw) Miodrag Milanovic2015-12-261-1/+1
|
* clang-modernize part 3 Miodrag Milanovic2015-12-041-22/+22
|
* Rename *.c -> *.cpp in our source (nw) Miodrag Milanovic2015-11-081-0/+577