Magnus Norddahl
ccd2f58fb4
- implement emitter functions for LKP_R, META, CLSS, LO, LO_R, LP, LP_R, SO, SO_R, SP, SP_R
...
- add emit code for throwing exceptions on null pointers
2018-08-31 06:57:30 +02:00
Magnus Norddahl
999b3833ff
- improve jit debug output slightly
2018-08-30 19:55:00 +02:00
Magnus Norddahl
bba422ffcc
- fix offsetting bug when loading address registers
2018-08-30 19:47:38 +02:00
Magnus Norddahl
c7e14e63bc
- fix swapped operands in EmitSUBF_KR
2018-08-30 18:47:25 +02:00
Magnus Norddahl
4b22fa7bc8
- implement MODF_RR, MODF_RK and MODF_KR
2018-08-29 01:27:37 +02:00
Magnus Norddahl
a5719e73eb
- fix mul using wrong instruction
2018-08-29 01:07:36 +02:00
Magnus Norddahl
25e7042bc5
- implement BOUND opcodes and add logging the resulting assembly code if asmjit throws an exception
2018-08-26 14:27:46 +02:00
Magnus Norddahl
7b886cc434
- implement a few more opcodes and fix some bugs
2018-08-25 13:38:45 +02:00
Magnus Norddahl
f84028eeae
- implemented pow, min, max
2018-08-24 23:17:35 +02:00
Magnus Norddahl
53943c4dd2
Merge remote-tracking branch 'gzdoom/master' into asmjit
2018-08-24 23:16:50 +02:00
Rachael Alexanderson
a99b71e19a
- disable survey code, 3.5.0's is over
2018-08-23 15:09:40 -04:00
Magnus Norddahl
eb9d2b54f3
Merge remote-tracking branch 'gzdoom/master' into asmjit
2018-08-23 18:20:23 +02:00
Magnus Norddahl
01ea329cd4
- only render visual portals if they are front facing
2018-08-23 18:19:53 +02:00
Kevin Caccamo
cbbf4fb662
Add 1280x1024 to the resolution preset menu
2018-08-21 20:16:46 +02:00
argv-minus-one
1d930b45cf
Add ZScript method LevelLocals.SphericalCoords
.
...
It computes spherical coordinates from one point in the world to another. Useful for checking whether one actor is inside another actor's view cone.
2018-08-21 08:22:16 +02:00
Magnus Norddahl
17813e4b3e
- implement ATAN2 and FLOP
2018-08-20 01:40:37 +02:00
Christopher Bruns
03fa1a12cb
Avoid overriding vr eye-specific buffer binding during 2D rendering.
2018-08-20 00:59:52 +02:00
Magnus Norddahl
38fa25d0c5
- implement DYNCAST*, TEST, TESTN and JMP opcodes
2018-08-20 00:44:48 +02:00
Christoph Oelckers
fad406c4c9
- got rid of FNameNoInit and made the default constructor of FName non-initializing.
...
This setup has been a constant source of problems so now I reviewed all uses of FName to make sure that everything that needs to be initialized is done manually.
This also merges the player_t constructor into the class definition as default values.
2018-08-19 08:19:19 +02:00
Magnus Norddahl
302d753d17
- convert JitCompile's switch into a class to enable easier code reuse
2018-08-19 01:46:56 +02:00
Magnus Norddahl
c17be9eb21
- fix clang compile error
2018-08-18 22:46:18 +02:00
Magnus Norddahl
3453f05f06
- implement throwing by storing exception information in a struct, then return from the jitted function and throw from c++
2018-08-18 22:41:18 +02:00
Magnus Norddahl
b6f52c319a
Merge pull request #551 from Gutawer/asmjit
...
Add a first draft of exception handling
2018-08-18 21:41:14 +02:00
Jonathan Russell
d983ae66c7
- removed the ability to use printf-like formatting in emitAbortExceptionCall, it barely worked
2018-08-18 20:37:55 +01:00
Jonathan Russell
6424190cbf
- add first draft of abort exceptions
2018-08-18 18:03:18 +01:00
Magnus Norddahl
c89d8bb9bb
- call play sqrt when calculating lengths
2018-08-18 18:41:35 +02:00
Magnus Norddahl
b159b5667a
- fix 8 and 16 bit store
2018-08-18 18:21:52 +02:00
Magnus Norddahl
e557e8fac0
- destroy the jit runtime when all script functions are destroyed
2018-08-18 17:50:47 +02:00
alexey.lysiuk
34f2d8f310
- fixed typo in error message
2018-08-18 17:45:26 +03:00
alexey.lysiuk
12b8510574
- cleaned up inconsistent leading whitespaces
...
Bump copyright year as well
2018-08-18 16:05:33 +03:00
alexey.lysiuk
31bd7cfc04
- prohibit assignment of dynamic arrays
...
https://forum.zdoom.org/viewtopic.php?t=61682
2018-08-18 15:20:38 +03:00
Magnus Norddahl
9d68d43ce7
- disable all unimplemented opcodes in the switch to ensure 'Unknown VM opcode' fatal error is generated if CanJit has a bug
2018-08-18 13:18:52 +02:00
Magnus Norddahl
68b2cd58d8
Fix compile errors on macOS
2018-08-18 12:37:33 +02:00
alexey.lysiuk
d965c9aa76
- support static const arrays inside structs
...
https://forum.zdoom.org/viewtopic.php?t=61677
2018-08-18 13:00:33 +03:00
Magnus Norddahl
1757acacff
Merge pull request #549 from Gutawer/asmjit
...
Added remaining int arithmetic opcodes
2018-08-18 00:57:53 +02:00
Jonathan Russell
6a40e092fe
- added remaining int arithmetic opcodes (and fixed float loading offset issue)
2018-08-17 22:06:12 +01:00
Marisa Kirisame
20b6db30d7
Added missing check for HITOWNER on bouncers with 0 damage.
2018-08-17 21:39:41 +02:00
Magnus Norddahl
9bf47b7ed6
Merge pull request #546 from Gutawer/asmjit
...
Implemented CMP_APPROX for OP_EQF_*, making ~== work for doubles
2018-08-17 21:03:25 +02:00
Jonathan Russell
758ee5cbfb
- forgot to turn off debug switch in last commit
2018-08-17 19:15:27 +01:00
Jonathan Russell
08c0ac541f
- made absMaskInt const
2018-08-17 19:14:31 +01:00
Jonathan Russell
d137b3c94e
- implemented CMP_APPROX for OP_EQF_*, making ~== work for doubles
2018-08-17 19:08:19 +01:00
Marisa Kirisame
155afebb65
Add HITOWNER flag, when set, allows a projectile to collide with its shooter.
2018-08-17 19:47:12 +02:00
Chronos Ouroboros
079391e5ac
Updated CanJit's supported opcodes list.
2018-08-16 21:45:04 +02:00
Chronos Ouroboros
a8ce626708
Pointer addition opcodes must leave NULL pointers as they are.
2018-08-16 21:45:04 +02:00
Marisa Kirisame
02926a5567
Add "IsFinal" parameter for CheckReplacement.
...
If set to true it guarantees that the replacement is final and will not go through the rest of the replacement chain.
2018-08-16 21:44:21 +02:00
Marisa Kirisame
4e690b1f60
Fix SDL window "sticking" to the center of the screen after using vid_setsize.
2018-08-15 21:03:07 +02:00
Marisa Kirisame
e18b17217f
Added CheckReplacement to event handlers, a function inspired by its namesake in Unreal's Mutator class.
...
Performs runtime replacement of actor classes.
Takes priority over the "replaces" keyword in both DECORATE and ZScript.
2018-08-15 19:31:09 +02:00
Magnus Norddahl
ac462638d3
Merge pull request #540 from Doom2fan/asmjit
...
Changed binary int ops to use a temporary register, fixed some opcodes.
2018-08-15 01:33:21 +02:00
Chronos Ouroboros
591783087d
Changed binary int ops to use a temporary register, fixed some opcodes.
...
For some reason, binary ops might reuse one of the input registers as the output register.
This is a problem for very obvious reasons.
2018-08-14 20:08:04 -03:00
Magnus Norddahl
1a52c2ba00
Merge pull request #539 from Gutawer/asmjit
...
Added exact floating point comparison opcodes
2018-08-14 22:33:37 +02:00