Commit Graph

15166 Commits

Author SHA1 Message Date
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 61735ddd8b - create CreateCall helper to get rid of a lot of the cc.call boilerplate 2018-09-17 12:00:25 +02:00
Magnus Norddahl f61df60240 - implement OP_TAIL and OP_TAIL_K 2018-09-17 09:02:23 +02:00
Magnus Norddahl d032914c3d - use the ParamOpcodes array for finding the OP_PARAM's used by a call 2018-09-17 00:31:25 +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
Magnus Norddahl 30fb6268bd
Merge pull request #581 from Gutawer/asmjit
Changed a bunch of manual address additions in string opcodes to leas
2018-09-15 23:57:08 +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
Magnus Norddahl 3477b22714 - more load fixes 2018-09-15 18:08:01 +02:00
Magnus Norddahl 4364feea9a - fix truncated load addresses due to a bug in asmjit
- change ToMemAddress to use uint64_t
2018-09-15 15:38:16 +02:00
Magnus Norddahl 06b54d3aaa - avoid certain x86::ptr overloads as the last argument is not always an offset 2018-09-15 15:05:52 +02:00
Magnus Norddahl c505e4eb79
Merge pull request #575 from Gutawer/asmjit
Implemented SS_R, LCS_R, and LKS_R
2018-09-15 13:09:07 +02:00
Jonathan Russell 407418a92e - fixed typo in last commit 2018-09-15 00:26:14 +01:00
Jonathan Russell b83f4f48d6 - implemented SS_R, LCS_R, and LKS_R 2018-09-15 00:25:13 +01:00
Magnus Norddahl ce9925d257 - fix bug in LKF_R 2018-09-15 01:06:48 +02:00
Magnus Norddahl 7e7bce4965 - fixed OP_VTBL bug 2018-09-15 00:28:34 +02:00
Magnus Norddahl 266f838de7 - fix crash in OP_RET handling 2018-09-15 00:12:12 +02:00
Magnus Norddahl 663e61a4fb - simplify some code 2018-09-14 23:38:57 +02:00
Magnus Norddahl 90d8d4af24
Merge pull request #573 from Gutawer/asmjit
Added string PARAM and RET
2018-09-14 20:07:47 +02:00
Jonathan Russell 11fbd9a0a4 - added string PARAM and RET 2018-09-14 18:20:31 +01:00
Magnus Norddahl 4e85134d8e Merge remote-tracking branch 'gzdoom/master' into asmjit 2018-09-14 02:09:17 +02:00
Magnus Norddahl d09a377f12 - fix clang errors and warnings 2018-09-14 01:07:05 +02:00
Magnus Norddahl 2ea97bac6d
Merge pull request #571 from Gutawer/asmjit
Added OP_MOVES, OP_CONCAT, OP_LENS, OP_CMPS
2018-09-14 00:50:50 +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 b92e5fbf2a - move EmitRESULT to jit_call 2018-09-13 02:56:02 +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
Magnus Norddahl 567a069df5
Merge pull request #569 from Gutawer/asmjit
Added strings and a few string opcodes
2018-09-13 00:58:44 +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
Magnus Norddahl ced793b791 - implement OP_CALL and OP_CALL_K 2018-09-12 01:37:30 +02:00
Magnus Norddahl 981950fef0 - fix misc integer opcodes and remove mov statements when they have no effect 2018-09-11 23:31:32 +02:00
Magnus Norddahl 5fab45d275
Merge pull request #568 from Gutawer/asmjit
Changed the way EmitComparisonOpcode works to get rid of the temporary register that was used previously
2018-09-11 23:08:36 +02:00
Jonathan Russell 4d3c496121 - changed the way EmitComparisonOpcode works to get rid of the temporary register that was used previously 2018-09-11 21:48:02 +01:00
Magnus Norddahl 4d1cb258d6 - implement PARAM and PARAMI 2018-09-11 17:08:51 +02:00
Magnus Norddahl 6f55c76f05 - fix missing zero extend 2018-09-09 23:21:47 +02:00
Magnus Norddahl 4076ce791b - fix that the code for META and CLSS was swapped 2018-09-09 22:42:59 +02:00
Magnus Norddahl 19442732d4 - some jump fixes 2018-09-09 22:03:57 +02:00
Magnus Norddahl b40cbfb22e - fix jump direction in EmitComparisonOpcode 2018-09-09 20:35:37 +02:00
Christoph Oelckers 2d53ad6f10 - fixed misplaced parenthesis. 2018-09-09 19:18:22 +02:00
Christoph Oelckers 1eb1d8d280 - fixed math imprecisions in horizon vertex generation.
Floats are not precise enough to be used as a loop counter.
2018-09-09 08:57:50 +02:00
Christoph Oelckers 1c3d4b46c6 - fixed the use of Doom-Legacy-style 3D floor lighting in light mode 8.
Legacy used some strange blending formula to calculate its colormaps for colored 3D floor lighting, this is not available in the software lighting mode, so for these the engine has to temporarily revert to light mode 2 to render them correctly.
2018-09-08 13:08:04 +02:00
Christoph Oelckers 3dcaa509ef Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-09-08 12:10:34 +02:00
Christoph Oelckers dd971805af - fixed: The viewpoint buffer was mapped write only but read from. On old hardware it wasn't even mapped.
Changed to cache the needed value in a CPU-side array so that the buffer access is not needed.
2018-09-08 10:16:31 +02:00