• Ken Thomases's avatar
    kernel32: For Mac 64-bit, re-enable the inlining of various functions,… · 2e636d4f
    Ken Thomases authored
    kernel32: For Mac 64-bit, re-enable the inlining of various functions, leveraging the TEB self pointer at %gs:0x30.
    
    On other platforms, gsbase is set to point to Wine's TEB.  So, these functions
    can use %gs-relative addressing with the field offsets to access the fields of
    the TEB.
    
    On the Mac, gsbase points to internals of the pthread implementation and that
    wouldn't work.  However, Wine hijacks %gs:0x30 and stores the TEB address there.
    So, we access the TEB fields by first loading the TEB address and then
    accessing its fields relative to that.
    Signed-off-by: 's avatarKen Thomases <ken@codeweavers.com>
    Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
    2e636d4f
Name
Last commit
Last update
dlls Loading commit data...
documentation Loading commit data...
fonts Loading commit data...
include Loading commit data...
libs Loading commit data...
loader Loading commit data...
po Loading commit data...
programs Loading commit data...
server Loading commit data...
tools Loading commit data...
.mailmap Loading commit data...
ANNOUNCE Loading commit data...
AUTHORS Loading commit data...
COPYING.LIB Loading commit data...
LICENSE Loading commit data...
LICENSE.OLD Loading commit data...
MAINTAINERS Loading commit data...
Makefile.in Loading commit data...
README Loading commit data...
VERSION Loading commit data...
aclocal.m4 Loading commit data...
configure Loading commit data...
configure.ac Loading commit data...