Jan Beich
17aa7971da
JIT: use MAP_32BIT on Linux and FreeBSD
...
Unless RLIMIT_DATA is low enough FreeBSD by default reserves lower 2Gb
for brk(2) style heap, ignoring mmap(2) address hint requested by RPCS3.
Passing MAP_32BIT fixes the following crash
Assertion failed: ((Type == ELF::R_X86_64_32 && (Value <= UINT32_MAX)) || (Type == ELF::R_X86_64_32S && ((int64_t)Value <= INT32_MAX && (int64_t)Value >= INT32_MIN))), function resolveX86_64Relocation, file /usr/ports/devel/llvm40/work/llvm-4.0.1.src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp, line 287.
2017-11-20 17:27:12 +00:00
Aurora
7e1c6a5819
Make it build on macOS with Clang
2017-08-08 23:20:07 +03:00
Nekotekina
0fa148e65e
Improve CPU feature check
...
Damn exit on SSSE3 failure
Check AVX for Intel processors
2017-07-20 17:22:09 +03:00
Nekotekina
2ef2f0f63b
PPU LLVM: simplify module loading
2017-07-17 16:49:46 +03:00
Nekotekina
3c064439b3
PPU LLVM: new mptr/cptr format
2017-06-29 17:48:55 +03:00
Nekotekina
6561ddae41
PPU LLVM: multithread compilation
2017-06-24 19:12:19 +03:00
Nekotekina
aea094730b
PPU LLVM: paradigm shift
...
For now, compile only one block at time
Use tail calls to move between blocks
Fully write PPU context (except CIA)
This fixes many compatibility problems
2017-06-23 20:09:33 +03:00
Nekotekina
3e6f9faf71
Use LLVM 4.0
2017-03-21 23:32:14 +03:00
Nekotekina
ad72168143
LLVM: load .pdata section
2017-03-21 20:16:41 +03:00
Nekotekina
560d6776af
LLVM: generate trampolines
...
Must fix issues with older CPUs
JIT.cpp refactored to use utils::memory*
2017-03-21 20:16:41 +03:00
Nekotekina
07646c2124
LLVM CPU override option
2017-03-14 16:12:03 +03:00
Nekotekina
1f17109203
__chkstk workaround
2017-03-11 19:49:32 +03:00
Nekotekina
0eb6bf6a67
LLVM: splitting and caching
2017-02-26 20:14:18 +03:00
Nekotekina
bb111d325f
memory fix
2017-02-10 23:27:58 +03:00
Ivan
fb56c14853
LLVM fix (skylake) ( #2269 )
2017-01-21 23:40:37 +03:00
Nekotekina
dafb6b5c92
%p fmt fix
2016-08-15 16:57:51 +03:00
Nekotekina
84d0d396ed
EXPECTS usage removed
2016-08-15 16:29:38 +03:00
Nekotekina
0f87c4485d
Silly macro removed-2
2016-08-14 18:19:42 +03:00
Nekotekina
912072e60c
LLVM: minor fixes (JIT.cpp)
2016-08-10 13:09:11 +03:00
Nekotekina
a7e808b35b
EXCEPTION macro removed
...
fmt::throw_exception<> implemented
::narrow improved
Minor fixes
2016-08-08 19:19:32 +03:00
Nekotekina
44bee7d0ba
LLVM: Use small code model
...
Global variables modified:
__mptr: pointer to memory base addr
__cptr: pointer to function map addr
Use 32 bit pointers in function map
2016-07-25 18:26:02 +03:00
Nekotekina
06c6c8212d
Minor fixes
...
elf_object
Loader fix
Analyser fix
2016-07-11 16:30:11 +03:00
Nekotekina
a19b721c26
LLVM: Added JIT.cpp
...
Refactoring, used -fno-rtti option
2016-06-27 16:43:53 +03:00