Help getting amd64 assembly patch into wine?
Dan Kegel
dank at kegel.com
Fri Oct 5 11:20:01 CDT 2012
On Fri, Oct 5, 2012 at 7:27 AM, <Joerg-Cyril.Hoehle at t-systems.com> wrote:
> I found your message very unclear.
>>The patch adds support for OpenMP programs like this:
> And then you start talking about vcomp_fork without telling us where
> it comes from and what it should do.
Good point - it's unfair to expect people to run Visual C and look
at its .cod / .asm listing files as my message suggests. I'll document
the vcomp execution model better in my next draft.
So I'll guess from the names.
> - vcomp_for_static/sections_init sound like startup code
> initialisation of BSS and DATA segments.
No, those are called at the start of a new parallel section
by every participating thread. They set up thread-local stuff.
> - fork sounds like running code with thread-local copies to BSS and DATA
> I guess vcomp eats up one register or parameter to keep a pointer to
> the thread-local storage.
It means 'Run this helper function on all cores, and pass it these
parameters, which are all pointers to local variables'.
>> p_vcomp_fork(0, 1, _test_vcomp_fork_worker1, &ncalls);
> Your code does not explain what the first parameter is.
It's a boolean saying whether to actually run in parallel, or just in
the current thread.
> I believe that va_list etc. is not going to lead you anywhere.
I'm going to give Maarten's suggestion a shot. If it works, the
only assembly left will be a nearly verbatim copy of code in oleaut32/typelib.c
> Does this help?
Yes, your questions are very helpful. I'll run the next draft by both
you and Maarten if you don't mind.
- Dan
More information about the wine-devel
mailing list