summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/x86log.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Got rid of global_alloc/global_free. Vas Crabb2020-10-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | The global_alloc/global_free functions have outlived their usefulness. They don't allow consistently overriding the default memory allocation behaviour because they aren't used consistently, and we don't have standard library allocator wrappers for them that we'd need to use them consistently with all the standard library containers we're using. If you need to change the default allocator behaviour, you can override the new/delete operators, and there are ways to get more fine-grained control that way. We're already doing that to pre-fill memory in debug builds. Code was already starting to depend on global_alloc/global_free wrapping new/delete. For example some parts of the code (including the UI and Windows debugger) was putting the result of global_alloc in a std::unique_ptr wrappers without custom deleters, and the SPU sound device was assuming it could use global_free to release memory allocated with operator new. There was also code misunderstanding the behaviour of global_alloc, for example the GROM port cartridge code was checking for nullptr when a failure will actually throw std::bad_alloc. As well as substituting new/delete, I've made several things use smart pointers to reduce the chance of leaks, and fixed a couple of leaks, too.
* dvdisasm: Overhaul [O. Galibert] Olivier Galibert2017-11-261-1/+29
| | | | | | | | Disassemblers are now independant classes. Not only the code is cleaner, but unidasm has access to all the cpu cores again. The interface to the disassembly method has changed from byte buffers to objects that give a result to read methods. This also adds support for lfsr and/or paged PCs.
* Create explicit i386dasm include for x86 DRC (nw) AJR2017-08-011-1/+1
|
* Changed the x86 disassembler to use 'std::ostream &' internally Nathan Woods2016-10-251-9/+11
|
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-4/+4
| | | | | 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-1/+1
| | | | utf16_char, unicode_char (nw)
* Clean up a bit more legacy code Vas Crabb2016-02-291-5/+1
|
* removed memory tracking (nw) Miodrag Milanovic2016-01-081-1/+1
|
* Modernize x86log.h and x86log.cpp: Vittorio Romeo2015-12-211-114/+6
| | | | | | | | | | | * Use variadic template functions instead of `va_list` * In `x86log_mark_as_data` and `x86log_printf` * Add `noexcept` where appropriate/safe * Use `constexpr std::size_t` instead of macros for constants * Nest `nullptr` check to prevent useless check, add assertion * In `x86log_printf` * Move definitions of `log_comment`, `data_range_t`, `x86log_context` to `x86_log.h` from `x86_log.cpp` * Adapt usages of `x86log_printf` in `drcbex64.cpp` and `drcbex86.cpp`
* clang-modernize part 3 Miodrag Milanovic2015-12-041-4/+4
|
* Rename *.c -> *.cpp in our source (nw) Miodrag Milanovic2015-11-081-0/+300