[quake3-bugzilla] [Bug 4977] New: x86 qvm improvements

bugzilla-daemon at icculus.org bugzilla-daemon at icculus.org
Thu May 5 10:29:49 EDT 2011


https://bugzilla.icculus.org/show_bug.cgi?id=4977

           Summary: x86 qvm improvements
           Product: ioquake3
           Version: SVN HEAD
          Platform: PC
        OS/Version: other
            Status: NEW
          Severity: enhancement
          Priority: P3
         Component: Platform
        AssignedTo: zakk at icculus.org
        ReportedBy: mine at ukr.net
         QAContact: quake3-bugzilla at icculus.org


Created attachment 2691
  --> https://bugzilla.icculus.org/attachment.cgi?id=2691
Patch

In x86 jit compiler there is variable callMask which is just not used properly

Suggested patch adds call-out-of-qvm protection which prevents code execution
out of the compiled segment. Also it will help to avoid crashes that may be
caused by such code:

int (*func)(void);
func = (void*)0x07400000; // in qvm it is actually an instruction count not
address
func();

Similar call in actual code segment will probably cause crash but its still
better than nothing IMO

Also, more or less modern x86 CPUs have branch predictors so execution of added
cmp/jae instruction costs almost nothing

-- 
Configure bugmail: https://bugzilla.icculus.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the quake3-bugzilla mailing list