summaryrefslogtreecommitdiff
path: root/src/qcommon/vm_x86.c
AgeCommit message (Collapse)Author
2014-08-28guard against out-of-bounds jump table targets/dev/humancontroller
2013-05-31remove some redundant exit() calls/dev/humancontroller
2013-05-31add some noreturn annotations/dev/humancontroller
2013-02-16Update copyright noticesTim Angus
2013-01-12Fix passing arg9 (qvm only), arg10, and arg11 to vmMain for native libs and ↵Zack Middleton
non-i386 compiled or interpated qvms. (Currently they aren't use in vmMain in game, cgame, or ui.) Fix passing args[11] to args[15] from vm to engine on ppc64 and sparc64. Some of the args are used by game bot prediction syscalls. May have been causing bugs. Note: This was fixed for x86_64 in r2163.
2013-01-12Oops, still need thisThilo Schulz
2013-01-12Move argument passing from VM to engine to global variables which allows to ↵Thilo Schulz
get rid of lots of OS specific stuff and also fixes errors that happens when compilers add lots of boilerplate to the DoSyscall() function
2013-01-10Fix q3vm execution on x86/x86_64 MacOSXThilo Schulz
2013-01-10Support vm syscalls with up to 15 args using 64 bit compiled vm (like ↵Zack Middleton
interprated vms).
2013-01-10Fix warning on MacOSXThilo Schulz
2013-01-10- Add x86_64 platform for MacOSX - Fix compilation on MacOSX gccThilo Schulz
2013-01-10Bug 5094 - Code cleanup, patch by Zack Middleton and DevHC. Fixes ↵Thilo Schulz
unused-but-set gcc warnings
2013-01-10- Fix opStack size for vm_x86.c - Change opStack alignment to 16 for vm_x86_64.cThilo Schulz
2013-01-10Allow recursive VM entry for VM operations as wellThilo Schulz
2013-01-10Fix x64 compilation on MSVCThilo Schulz
2013-01-10Fix wrong macro. MSVC win32 build should work again now.Thilo Schulz
2013-01-10Various fixes to vm_interpreted.c: - Add opStack protection - Fix dataMask ↵Thilo Schulz
check for OP_BLOCK_COPY - Add instruction number check for conditional jumps - Make errors in VM_PrepareInterpreter nonfatal
2013-01-09Fix #if macros for idx64 and id386Thilo Schulz
2013-01-09- Add MASM assembler files for MSVC x64 projects to support vm_x86 in x64 ↵Thilo Schulz
mode - Clean up ftol()/snapvector() mess - Make use of SSE instructions for ftol()/snapvector() if available - move ftol/snapvector pure assembler to inline assembler, this will add x86_64 and improve support for different calling conventions - Set FPU control word at program startup to get consistent behaviour on all platforms
2013-01-09- Use EmitCallDoSyscall() to call the jump violations function which ↵Thilo Schulz
guarantees 16-byte stack alignment - Add x64 code for MSVC _asm() blocks, not tested yet.
2013-01-09- Add x86_64 support to vm_x86.c - Fix warning on mingw64Thilo Schulz
2013-01-09- Implement opStack protection: Use register %ebx for scaled indexed ↵Thilo Schulz
addressing mode to access opStack, make opStack push/pop operate on %bl portion only - Add a third pass to VM compilation for computation of jump address offsets, removing the need to dereference into vm->instructionPointers[] for every call/jump - Make use of 0F opcode prefix relative jumps - Call Com_Memcpy for OP_BLOCK_COPY - Fix several missing range checks for vm->dataBase memory access
2013-01-09I don't seem to get these constraints right. This should fix itThilo Schulz
2013-01-09Fix VM call for release version, bug introduced by myself in r1994Thilo Schulz
2013-01-09- Use edx for CALLs instead of ecx, as the latter does not require any push ↵Thilo Schulz
to stack - Make Linux AT&T asm code consistent with the MASM codeblock
2013-01-09- Add vm_x86.c optimization patch by Eugene C. - Remove ASM syntax specific ↵Thilo Schulz
code (AT&T vs MASM) for OP_CALL and replace with machine code
2013-01-09- Reverting accidentally committed vm_x86.c - Last commit contained some ↵Thilo Schulz
refactoring for vm_x86_64.c
2013-01-09ensure that ent->classname is always non-null (for entity numbers up to ↵Thilo Schulz
level.num_entities-1, and ENTITYNUM_WORLD and ENTITYNUM_NONE), for player entities and #ENTITYNUM_NONE in particular, patch by DevHC
2013-01-09Add error handling to malloc as wellThilo Schulz
2013-01-03* Merge ioq3-r1946Tim Angus
2013-01-03* Merge ioq3-r1813Tim Angus
2013-01-03* Update copyright noticesTim Angus
2013-01-03* Merge ioq3-r1708Tim Angus
2013-01-03* Merge ioq3-r1637Tim Angus
2013-01-03* Merge ioq3-r1458Tim Angus
2007-09-05* Merge of ioq3-r1163Tim Angus
+ SDL everywhere + New R_LoadImage + net_ip.c + Window icon + GUI based dedicated server support + Compile time linked OpenGL * Remove ui_menuFiles cvar
2007-08-24* Merged ioq3-r1133Tim Angus
+ PNG image loader + Non-gas dependent x86_64 VM + Collision optimisations + Slew of other bug fixes
2006-05-16* Merged ioq3-r783Tim Angus
* Added back the syscalls things I didn't mean to remove
2006-03-04* Merged ioq3-r620Tim Angus
- NX stuff
2006-02-24* Merged ioq3-r584Tim Angus
2006-01-15* Merged ioq3-r492Tim Angus
2006-01-06* Added traps to query demo stateTim Angus
* Demo state now displayed from cgame * Merged ioq3-r464 - gcc4/-O0 bug fix - zone/hunk megs faffage
2005-12-10* s/Quake III Arena source code/Tremulous/Tim Angus
* De-quaked various bits and pieces * Integrated Tremulous into the ioq3 source * Relicensed Tremulous to be GPL * It compiles!!!!!!!!11111111!!!!1
2005-12-10* Copied ioq3 src to trunkTim Angus