[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    Re: wine/dlls/ntdll signal_i386.c exception.c
From:       Marcus Meissner <marcus () jet ! franken ! de>
Date:       2005-10-31 17:20:40
Message-ID: 20051031172040.GI7152 () galeere ! franken ! de
[Download RAW message or body]

> >+"	leal	-12(%ebp), %eax\n"
> >+"	.byte 0x64\n"
> >+"	movl (0),%ecx\n"
> > 
> >
> 
> Is it not possible to use the proper %fs prefix instead of having to put 
> a bytecode in manually?

It will likely not build with all assemblers. This is taken from the
wine_push_frame() inline assemblercode directly.

> >+"	movl %ecx,(%eax)\n"
> >+"	.byte 0x64\n"
> >+"	movl %eax,(0)\n"
> >+"	movl	20(%ebp), %eax\n"
> >+"	pushl	%eax\n"
> > 
> >
> 
> There is no need to move the variable into %eax before pushing, as 
> "pushl 20(%ebp)" will work as shortens the assembly.

I used the assembler code that gcc generated directly. :/
 
> >+ * For i386 this function is implemented in assembler in signal_i386.c.
> > 
> >
> 
> It seems bad to split the function's implementation up like this? We 
> also now lose the TRACE's that were previously printed from within 
> EXC_CallHandler. If they are superfluous to requirements we might as 
> well delete them from the generic function too.

I did not want to merge the TRACE()s into assembler, because this one might
change and thenthe assembler would need to be ported.

They could go from the generic one, yes.
 
Ciao, Marcus


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic