From owner-cvs-sys Sat Sep 7 13:18:19 1996 Return-Path: owner-cvs-sys Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id NAA06381 for cvs-sys-outgoing; Sat, 7 Sep 1996 13:18:19 -0700 (PDT) Received: (from bde@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id NAA06354; Sat, 7 Sep 1996 13:18:06 -0700 (PDT) Date: Sat, 7 Sep 1996 13:18:06 -0700 (PDT) From: Bruce Evans Message-Id: <199609072018.NAA06354@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-sys Subject: cvs commit: src/sys/i386/boot/biosboot boot.c Sender: owner-cvs-sys@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk bde 96/09/07 13:18:06 Modified: sys/i386/boot/biosboot boot.c Log: Saved 48 bytes (56 before padding) by moving a variable declaration. gcc always generates large code for accesses to globals. For locals it only generates large code if there are more than 128 bytes of locals. It sorts scalar locals after array locals to pessimize for space in the usual case when there are more (static) references to scalars than to arrays. Saved another 16 bytes (13 before padding) by adding a `continue'. Fall-through tests normally save space, but here one of them made gcc do space-unoptimal register allocation (it allocates ch in %bl because preserving this register across function calls is "free", but comparisions with %bl take one byte fewer than comparsions with %bl). Revision Changes Path 1.58 +3 -2 src/sys/i386/boot/biosboot/boot.c