Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Dec 2000 18:02:44 -0500 (EST)
From:      Marc Tardif <intmktg@CAM.ORG>
To:        Iain Templeton <iain@research.canon.com.au>
Cc:        freebsd-hackers@FreeBSD.ORG, Alfred Perlstein <bright@wintelcom.net>, Drew Eckhardt <drew@PoohSticks.ORG>
Subject:   Re: syscall assembly
Message-ID:  <Pine.LNX.4.10.10012131759550.12720-100000@Gloria.CAM.ORG>
In-Reply-To: <Pine.LNX.4.10.10012140949390.22824-100000@blow.research.canon.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 14 Dec 2000, Iain Templeton wrote:
> On Wed, 13 Dec 2000, Alfred Perlstein wrote:
> 
> >         subl $8,%esp
> >         addl $-8,%esp
> >         pushl $0
> >         pushl $.LC0
> >         call open
> > 
> > why the subl then addl?
> > 
> Well, as a thoroughly rough guess, the subl is probably to create space
> on the stack for the args, and the addl is to align the stack to a 16
> byte address?
> 
Perhaps, but no matter the degree of optimisation, the
16 byte of space is performed in two instructions. This
leads me to believe is it most likely a pipelining issue
for the following pushl instructions. As for subl'ing and
addl'ing 8 bytes instead of 4, as required by each pushl,
that can very well be an aligning issue which would seem
to make more sense for the x86.




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.10.10012131759550.12720-100000>