Magnus Norddahl
|
f082a8af98
|
- removed the SetupSimpleFrameMissingArgs logic as the number of args are now guaranteed
|
2018-11-17 00:49:22 +01:00 |
|
Magnus Norddahl
|
ac28f0d34f
|
- remove unused argument
|
2018-11-16 01:33:41 +01:00 |
|
Magnus Norddahl
|
34b037c9db
|
- avoid calling VMFillParams for simple stack frames
- split Setup into more functions
|
2018-11-16 01:13:25 +01:00 |
|
Magnus Norddahl
|
6c31d2e965
|
- add dword store to memset code
|
2018-11-15 23:04:11 +01:00 |
|
Magnus Norddahl
|
5ef2175c38
|
- fix wrong offsets
|
2018-11-15 22:40:12 +01:00 |
|
Magnus Norddahl
|
0394dc56b7
|
- generate a memset for the allocated stack memory because that's what the VM does
(this really shouldn't be done by the VM either - the compiler backend should clear its registers if it wants them to be zero!)
|
2018-11-15 22:33:13 +01:00 |
|
Magnus Norddahl
|
e6023c55a8
|
- modify exception checks to jump ahead if the exception is to be thrown as it limits static misprediction
|
2018-11-10 22:48:20 +01:00 |
|
Magnus Norddahl
|
173fe94736
|
- fix the throw messages
|
2018-11-10 19:52:41 +01:00 |
|
Magnus Norddahl
|
295fc7d7f7
|
Revert "- the build tests are using some ancient dino 7.1 Windows SDK where UnwindInfoAddress isn't part of the struct yet."
This reverts commit 20516e1c0b .
|
2018-10-17 08:54:41 +02:00 |
|
Magnus Norddahl
|
20516e1c0b
|
- the build tests are using some ancient dino 7.1 Windows SDK where UnwindInfoAddress isn't part of the struct yet.
|
2018-10-15 03:06:40 +02:00 |
|
Magnus Norddahl
|
1a2e5b12d0
|
- RUNTIME_FUNCTION only exists in 64-bit Windows
|
2018-10-14 22:54:30 +02:00 |
|
Magnus Norddahl
|
cd211da2d8
|
- fix wrong shift direction
|
2018-10-14 08:53:18 +02:00 |
|
Magnus Norddahl
|
a3f6950a4f
|
- build enough of the unwind opcodes for visual studio's debugger to produce the correct call stack
|
2018-10-14 08:27:27 +02:00 |
|
Magnus Norddahl
|
cf9bae67a8
|
- construct our own runtime as the one provided by asmjit is too primitive
|
2018-10-14 00:46:54 +02:00 |
|
Magnus Norddahl
|
300553a21f
|
- add more names to asmjit objects
|
2018-10-12 08:02:35 +02:00 |
|
Magnus Norddahl
|
7ca598de2d
|
- remove the frameX registers as they were just constant offsets to vmframe that could be merged into other constant offsets
|
2018-10-12 07:41:16 +02:00 |
|
Magnus Norddahl
|
b15ca09486
|
- give the remaining virtual registers names
|
2018-10-12 07:05:42 +02:00 |
|
Magnus Norddahl
|
c86e4480b6
|
- give temp registers names and reuse the FString object for formatting names
|
2018-10-12 06:59:03 +02:00 |
|
Magnus Norddahl
|
44294a051a
|
- clean up assembly output slightly by only generating labels for the opcodes jumped to
|
2018-10-12 06:14:27 +02:00 |
|
Magnus Norddahl
|
0120ea190c
|
- remove the need to do any VARF_Native runtime checks by making native functions use the same calling convention as the script version
|
2018-10-10 23:47:56 +02:00 |
|
Magnus Norddahl
|
01825231ec
|
- add -dumpjit command line parameter that dumps the JIT log for all functions to dumpjit.txt
|
2018-10-10 06:17:35 +02:00 |
|
Magnus Norddahl
|
884e185db0
|
- switch to using setjmp/longjmp for exception handling
|
2018-10-09 16:30:55 +02:00 |
|
Magnus Norddahl
|
3f4638ca31
|
- add disabled code that attempts to load registers directly from function arguments
|
2018-10-09 14:46:27 +02:00 |
|
Magnus Norddahl
|
f0d9b49099
|
- allocate VMFrame on the stack for simple functions with no strings
|
2018-10-09 05:19:29 +02:00 |
|
Magnus Norddahl
|
b7c0cd5d05
|
- move VM creation into the jitted function. this will allow the jit compiler to skip vm frame creation when possible
|
2018-10-09 03:37:11 +02:00 |
|
Magnus Norddahl
|
d643fbd077
|
- removed CanJit as all opcodes are now implemented
- fix some store bugs
|
2018-10-07 22:21:48 +02:00 |
|
Magnus Norddahl
|
47bcf318a5
|
- fix 32 bit compile errors
|
2018-10-07 20:55:06 +02:00 |
|
Magnus Norddahl
|
f321f64a05
|
- catch and rethrow c++ exceptions
|
2018-10-07 20:38:08 +02:00 |
|
Magnus Norddahl
|
47485194f4
|
- reuse temp virtual registers
|
2018-10-07 09:02:28 +02:00 |
|
Magnus Norddahl
|
d47988202a
|
- workaround bug in asmjit's register allocator for calls where the return register is already allocated in a physical register needed by one of the call arguments
|
2018-10-07 06:29:54 +02:00 |
|
Magnus Norddahl
|
5bf76523d6
|
- switch ToMemAddress to imm_ptr where allowed
|
2018-09-18 18:13:53 +02:00 |
|
Magnus Norddahl
|
05ac219ba6
|
- switch from ASMJIT_ARCH_X64 to ASMJIT_ARCH_64BIT when checking if we need to use 64-bit pointers
|
2018-09-18 18:05:53 +02:00 |
|
Magnus Norddahl
|
ad260aa971
|
- create a very basic OP_IJMP implementation
|
2018-09-17 21:52:21 +02:00 |
|
Magnus Norddahl
|
f61df60240
|
- implement OP_TAIL and OP_TAIL_K
|
2018-09-17 09:02:23 +02:00 |
|
Magnus Norddahl
|
da040e818c
|
- implement string version of OP_CAST
|
2018-09-17 00:17:32 +02:00 |
|
Magnus Norddahl
|
102c00ce13
|
- implement string part of OP_CASTB
|
2018-09-16 22:39:48 +02:00 |
|
Magnus Norddahl
|
c8e4bf089c
|
- implement OP_LFP
|
2018-09-16 03:39:54 +02:00 |
|
Magnus Norddahl
|
ba4606c1d5
|
- read the parameters and registers directly off the stack
|
2018-09-16 03:20:56 +02:00 |
|
Jonathan Russell
|
69bc39914b
|
- changed a bunch of manual address additions in string opcodes to leas
|
2018-09-15 21:09:43 +01:00 |
|
Jonathan Russell
|
b83f4f48d6
|
- implemented SS_R, LCS_R, and LKS_R
|
2018-09-15 00:25:13 +01:00 |
|
Magnus Norddahl
|
7e7bce4965
|
- fixed OP_VTBL bug
|
2018-09-15 00:28:34 +02:00 |
|
Magnus Norddahl
|
663e61a4fb
|
- simplify some code
|
2018-09-14 23:38:57 +02:00 |
|
Jonathan Russell
|
11fbd9a0a4
|
- added string PARAM and RET
|
2018-09-14 18:20:31 +01:00 |
|
Magnus Norddahl
|
d09a377f12
|
- fix clang errors and warnings
|
2018-09-14 01:07:05 +02:00 |
|
Jonathan Russell
|
0b6c514067
|
- added OP_MOVES, OP_CONCAT, OP_LENS, OP_CMPS
|
2018-09-13 20:31:06 +01:00 |
|
Magnus Norddahl
|
c359601737
|
- fix opcodes not being listed in jit debug assembly
|
2018-09-13 19:03:30 +02:00 |
|
Magnus Norddahl
|
fad8c9c7b4
|
- minor cleanups in header file
|
2018-09-13 02:38:51 +02:00 |
|
Magnus Norddahl
|
ef170883ef
|
- split JitCompiler into multiple files
|
2018-09-13 02:29:04 +02:00 |
|
Jonathan Russell
|
b8bdc3b4c8
|
- added strings and a few string opcodes
|
2018-09-12 23:56:04 +01:00 |
|
Magnus Norddahl
|
afc3c6b562
|
- fix CALL_K and disable CALL
|
2018-09-12 21:58:31 +02:00 |
|