[vcomp] vcomp: better stub for _vcomp_fork (try 4)

Dan Kegel dank at kegel.com
Sun Sep 23 21:36:22 CDT 2012


Change since last time: break _vcomp_fork up into assembly
and C portions, since later patches are going to add interesting
logic to it, and that's best done in C rather than assembly.
(This meant adding one more assembly routine on win64.
It really should mean one more assembly routine in win32,
too, but abusing gcc's vararg support happens to work.
This section needs more careful review than the rest.)

The helper-calling assembly routine is nearly identical to the
one in oleaut32; the differences are a) no need to preserve
floats on amd64, since the varargs are always pointers;
and b) no need to report back the stack offset on x86.

(I have a demonstration patch on top of this one
showing why the switch to C was useful
at http://kegel.com/wine/openmp/0002-vcomp-better-stubs-for-omp_in_parallel-and-omp_set_n.patch
but that's cheating, since it only has to store one integer;
I'll probably wait until I have e.g. dynamic for loop state
in TLS before I submit anything using TLS.)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-vcomp-better-stub-for-_vcomp_fork.patch
Type: application/octet-stream
Size: 12832 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20120923/b3338645/attachment-0001.obj>


More information about the wine-patches mailing list