mirror of
https://github.com/Interlisp/maiko.git
synced 2026-04-27 12:49:29 +00:00
Remove dead stores. (#240)
This commit is contained in:
@@ -471,12 +471,11 @@ ConsCell *find_close_prior_cell(struct conspage *page, LispPTR oldcell) {
|
|||||||
unsigned oldoffset = oldcell & 0xFF;
|
unsigned oldoffset = oldcell & 0xFF;
|
||||||
unsigned offset = page->next_cell;
|
unsigned offset = page->next_cell;
|
||||||
unsigned prior = 0;
|
unsigned prior = 0;
|
||||||
unsigned noffset, poffset;
|
unsigned noffset;
|
||||||
ConsCell *cell;
|
ConsCell *cell;
|
||||||
|
|
||||||
while (offset) {
|
while (offset) {
|
||||||
if ((offset < oldoffset) && (offset >= (oldoffset - 14))) {
|
if ((offset < oldoffset) && (offset >= (oldoffset - 14))) {
|
||||||
poffset = offset;
|
|
||||||
noffset = FREECONS(page, offset)->next_free;
|
noffset = FREECONS(page, offset)->next_free;
|
||||||
while ((noffset > offset) && (noffset < oldoffset)) {
|
while ((noffset > offset) && (noffset < oldoffset)) {
|
||||||
prior = offset;
|
prior = offset;
|
||||||
|
|||||||
@@ -193,11 +193,11 @@ ex:
|
|||||||
|
|
||||||
static ConsCell *find_pair_in_page(struct conspage *pg, LispPTR cdrval) {
|
static ConsCell *find_pair_in_page(struct conspage *pg, LispPTR cdrval) {
|
||||||
ConsCell *carcell, *cdrcell;
|
ConsCell *carcell, *cdrcell;
|
||||||
unsigned int offset, prior, priorprior, ppriorprior, noffset, nprior, poffset;
|
unsigned int offset, prior, priorprior, noffset, nprior, poffset;
|
||||||
|
|
||||||
if (pg->count < 2) return ((ConsCell *)0);
|
if (pg->count < 2) return ((ConsCell *)0);
|
||||||
|
|
||||||
ppriorprior = priorprior = prior = nprior = 0;
|
priorprior = prior = nprior = 0;
|
||||||
|
|
||||||
for (offset = pg->next_cell; offset; offset = FREECONS(pg, offset)->next_free) {
|
for (offset = pg->next_cell; offset; offset = FREECONS(pg, offset)->next_free) {
|
||||||
if (prior) {
|
if (prior) {
|
||||||
@@ -243,7 +243,6 @@ static ConsCell *find_pair_in_page(struct conspage *pg, LispPTR cdrval) {
|
|||||||
return (carcell);
|
return (carcell);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ppriorprior = priorprior;
|
|
||||||
priorprior = prior;
|
priorprior = prior;
|
||||||
prior = offset;
|
prior = offset;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -315,7 +315,6 @@ int sf(struct frameex1 *fx_addr68k) {
|
|||||||
ptr = Addr68k_from_LADDR(STK_OFFSET + bf->ivar);
|
ptr = Addr68k_from_LADDR(STK_OFFSET + bf->ivar);
|
||||||
i = 0;
|
i = 0;
|
||||||
while (ptr != (DLword *)bf) {
|
while (ptr != (DLword *)bf) {
|
||||||
ptrhi = ptr;
|
|
||||||
ptrlo = ptr + 1;
|
ptrlo = ptr + 1;
|
||||||
printf(" %6x : 0x%4x 0x%4x ", LADDR_from_68k(ptr), GETWORD(ptr), GETWORD(ptrlo));
|
printf(" %6x : 0x%4x 0x%4x ", LADDR_from_68k(ptr), GETWORD(ptr), GETWORD(ptrlo));
|
||||||
ivarindex = get_ivar_name(fx_addr68k, i++, &localivar);
|
ivarindex = get_ivar_name(fx_addr68k, i++, &localivar);
|
||||||
|
|||||||
@@ -79,7 +79,6 @@ void nnewframe(register struct frameex1 *newpfra2, register DLword *achain, regi
|
|||||||
register UNSIGNED i; /* temp for control */
|
register UNSIGNED i; /* temp for control */
|
||||||
register int nametablesize; /* NameTable size of current function header. */
|
register int nametablesize; /* NameTable size of current function header. */
|
||||||
register int ph; /* alink temp, also phase */
|
register int ph; /* alink temp, also phase */
|
||||||
struct frameex1 *onewpfra2, *oonewpfra2, *ooonewpfra2;
|
|
||||||
|
|
||||||
newframe:
|
newframe:
|
||||||
#ifdef SUN3_OS3_OR_OS4_IL
|
#ifdef SUN3_OS3_OR_OS4_IL
|
||||||
@@ -123,9 +122,6 @@ newframe:
|
|||||||
}
|
}
|
||||||
|
|
||||||
ph &= 0xFFFE; /* to mask off SLOW bit */
|
ph &= 0xFFFE; /* to mask off SLOW bit */
|
||||||
ooonewpfra2 = oonewpfra2;
|
|
||||||
oonewpfra2 = onewpfra2;
|
|
||||||
onewpfra2 = newpfra2;
|
|
||||||
newpfra2 = (struct frameex1 *)(-FRAMESIZE + Stackspace + ph);
|
newpfra2 = (struct frameex1 *)(-FRAMESIZE + Stackspace + ph);
|
||||||
|
|
||||||
{ /* open new block to try and conserve address register */
|
{ /* open new block to try and conserve address register */
|
||||||
@@ -433,7 +429,6 @@ LispPTR native_newframe(int slot)
|
|||||||
register DLword *achain; /* pointer to 1st word of the searching
|
register DLword *achain; /* pointer to 1st word of the searching
|
||||||
FVAR slot in CurrentFrameExtension */
|
FVAR slot in CurrentFrameExtension */
|
||||||
register int name; /* Atom# of target FVAR slot. */
|
register int name; /* Atom# of target FVAR slot. */
|
||||||
struct frameex2 *onewpfra2, *oonewpfra2, *ooonewpfra2;
|
|
||||||
|
|
||||||
{ /* LOCAL temp regs */
|
{ /* LOCAL temp regs */
|
||||||
register int rslot = slot;
|
register int rslot = slot;
|
||||||
@@ -470,9 +465,6 @@ LispPTR native_newframe(int slot)
|
|||||||
name, VALS_HI_RET(name)); */
|
name, VALS_HI_RET(name)); */
|
||||||
return (*((LispPTR *)achain) = VALS_HI_RET(name));
|
return (*((LispPTR *)achain) = VALS_HI_RET(name));
|
||||||
}
|
}
|
||||||
ooonewpfra2 = oonewpfra2;
|
|
||||||
oonewpfra2 = onewpfra2;
|
|
||||||
onewpfra2 = newpfra2;
|
|
||||||
newpfra2 = (struct frameex2 *)(-FRAMESIZE + Stackspace + (alink & 0xFFFE));
|
newpfra2 = (struct frameex2 *)(-FRAMESIZE + Stackspace + (alink & 0xFFFE));
|
||||||
|
|
||||||
{ /* open new block to try and conserve address register */
|
{ /* open new block to try and conserve address register */
|
||||||
|
|||||||
@@ -516,7 +516,6 @@ LispPTR reclaimstackp(LispPTR ptr) /* This is the entry function */
|
|||||||
|
|
||||||
void printarrayblock(LispPTR base) {
|
void printarrayblock(LispPTR base) {
|
||||||
struct arrayblock *bbase, *btrailer, *ptrailer;
|
struct arrayblock *bbase, *btrailer, *ptrailer;
|
||||||
struct arrayblock *bfwd, *bbwd;
|
|
||||||
LispPTR *addr;
|
LispPTR *addr;
|
||||||
|
|
||||||
LispPTR pbase, nbase;
|
LispPTR pbase, nbase;
|
||||||
@@ -524,8 +523,6 @@ void printarrayblock(LispPTR base) {
|
|||||||
bbase = (struct arrayblock *)Addr68k_from_LADDR(base);
|
bbase = (struct arrayblock *)Addr68k_from_LADDR(base);
|
||||||
btrailer = (struct arrayblock *)Addr68k_from_LADDR(Trailer(base, bbase));
|
btrailer = (struct arrayblock *)Addr68k_from_LADDR(Trailer(base, bbase));
|
||||||
ptrailer = (struct arrayblock *)Addr68k_from_LADDR(base - ARRAYBLOCKTRAILERWORDS);
|
ptrailer = (struct arrayblock *)Addr68k_from_LADDR(base - ARRAYBLOCKTRAILERWORDS);
|
||||||
bfwd = (struct arrayblock *)Addr68k_from_LADDR(bbase->fwd);
|
|
||||||
bbwd = (struct arrayblock *)Addr68k_from_LADDR(bbase->bkwd);
|
|
||||||
|
|
||||||
nbase = base + 2 * bbase->arlen;
|
nbase = base + 2 * bbase->arlen;
|
||||||
pbase = base - 2 * ptrailer->arlen;
|
pbase = base - 2 * ptrailer->arlen;
|
||||||
|
|||||||
@@ -300,25 +300,23 @@ returNIL: \n\
|
|||||||
LispPTR gcmapscan(void) {
|
LispPTR gcmapscan(void) {
|
||||||
register GCENTRY probe;
|
register GCENTRY probe;
|
||||||
register GCENTRY *entry;
|
register GCENTRY *entry;
|
||||||
GCENTRY offset, dbgentry, dbgcontents;
|
GCENTRY offset, dbgcontents;
|
||||||
register LispPTR ptr;
|
register LispPTR ptr;
|
||||||
|
|
||||||
probe = HTMAIN_ENTRY_COUNT;
|
probe = HTMAIN_ENTRY_COUNT;
|
||||||
nextentry:
|
nextentry:
|
||||||
while ((probe = gcscan1(probe)) != NIL) {
|
while ((probe = gcscan1(probe)) != NIL) {
|
||||||
entry = (GCENTRY *)HTmain + probe;
|
entry = (GCENTRY *)HTmain + probe;
|
||||||
dbgentry = GETGC(entry);
|
|
||||||
retry:
|
retry:
|
||||||
if (HENTRY->collision) {
|
if (HENTRY->collision) {
|
||||||
register GCENTRY *prev;
|
register GCENTRY *prev;
|
||||||
register GCENTRY *link;
|
register GCENTRY *link;
|
||||||
LispPTR content, dbgfree;
|
LispPTR content;
|
||||||
|
|
||||||
prev = (GCENTRY *)0;
|
prev = (GCENTRY *)0;
|
||||||
link = (GCENTRY *)HTcoll + GetLinkptr((content = HTLPTR->contents));
|
link = (GCENTRY *)HTcoll + GetLinkptr((content = HTLPTR->contents));
|
||||||
linkloop:
|
linkloop:
|
||||||
offset = ((struct htcoll *)link)->free_ptr;
|
offset = ((struct htcoll *)link)->free_ptr;
|
||||||
dbgfree = ((struct htcoll *)link)->next_free;
|
|
||||||
if (StkCntIsZero(offset)) {
|
if (StkCntIsZero(offset)) {
|
||||||
/* Reclaimable object */
|
/* Reclaimable object */
|
||||||
ptr = VAG2(GetSegnuminColl(offset), (probe << 1));
|
ptr = VAG2(GetSegnuminColl(offset), (probe << 1));
|
||||||
@@ -417,7 +415,6 @@ LispPTR gcscanstack(void) {
|
|||||||
register struct frameex1 *frameex;
|
register struct frameex1 *frameex;
|
||||||
register struct fnhead *fnheader;
|
register struct fnhead *fnheader;
|
||||||
frameex = (struct frameex1 *)basicframe;
|
frameex = (struct frameex1 *)basicframe;
|
||||||
scanptr = LADDR_from_68k(frameex);
|
|
||||||
{
|
{
|
||||||
register LispPTR fn_head;
|
register LispPTR fn_head;
|
||||||
#ifdef BIGVM
|
#ifdef BIGVM
|
||||||
|
|||||||
@@ -79,13 +79,10 @@ int sysout_loader(const char * sysout_file_name, int sys_size)
|
|||||||
struct stat stat_buf; /* file stat buf */
|
struct stat stat_buf; /* file stat buf */
|
||||||
int i, vp;
|
int i, vp;
|
||||||
|
|
||||||
int machinetype;
|
|
||||||
char errmsg[255];
|
char errmsg[255];
|
||||||
|
|
||||||
int j = 0;
|
int j = 0;
|
||||||
|
|
||||||
machinetype = 0;
|
|
||||||
|
|
||||||
/* Checks for specifying the process size (phase I) */
|
/* Checks for specifying the process size (phase I) */
|
||||||
/* If sys_size == 0 figure out the proper size later */
|
/* If sys_size == 0 figure out the proper size later */
|
||||||
if ((sys_size != 0) && (sys_size < DEFAULT_PRIME_SYSOUTSIZE)) {
|
if ((sys_size != 0) && (sys_size < DEFAULT_PRIME_SYSOUTSIZE)) {
|
||||||
@@ -222,8 +219,6 @@ int sysout_loader(const char * sysout_file_name, int sys_size)
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
machinetype = ifpage.machinetype;
|
|
||||||
|
|
||||||
if ((stat_buf.st_size & (BYTESPER_PAGE - 1)) != 0)
|
if ((stat_buf.st_size & (BYTESPER_PAGE - 1)) != 0)
|
||||||
printf("CAUTION::not an integral number of pages. sysout & 0x1ff = 0x%x\n",
|
printf("CAUTION::not an integral number of pages. sysout & 0x1ff = 0x%x\n",
|
||||||
(int)(stat_buf.st_size & (BYTESPER_PAGE - 1)));
|
(int)(stat_buf.st_size & (BYTESPER_PAGE - 1)));
|
||||||
|
|||||||
@@ -296,8 +296,6 @@ DLword *freestackblock(DLword n, StackWord *start68k, int align)
|
|||||||
{
|
{
|
||||||
register int wantedsize;
|
register int wantedsize;
|
||||||
register StackWord *scanptr68k;
|
register StackWord *scanptr68k;
|
||||||
StackWord *ooscan, *oscan;
|
|
||||||
register StackWord *orig68k;
|
|
||||||
register STKBLK *freeptr68k;
|
register STKBLK *freeptr68k;
|
||||||
register StackWord *easp68k;
|
register StackWord *easp68k;
|
||||||
register DLword freesize;
|
register DLword freesize;
|
||||||
@@ -338,8 +336,9 @@ SCAN:
|
|||||||
scanptr68k = (StackWord *)Addr68k_from_StkOffset(((FX *)scanptr68k)->nextblock);
|
scanptr68k = (StackWord *)Addr68k_from_StkOffset(((FX *)scanptr68k)->nextblock);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
orig68k = scanptr68k;
|
#ifdef STACKCHECK
|
||||||
|
StackWord *orig68k = scanptr68k;
|
||||||
|
#endif
|
||||||
while (STKWORD(scanptr68k)->flags != STK_BF) {
|
while (STKWORD(scanptr68k)->flags != STK_BF) {
|
||||||
S_WARN(STKWORD(scanptr68k)->flags == STK_NOTFLG, "NOTFLG not on", scanptr68k);
|
S_WARN(STKWORD(scanptr68k)->flags == STK_NOTFLG, "NOTFLG not on", scanptr68k);
|
||||||
scanptr68k = (StackWord *)(((DLword *)scanptr68k) + DLWORDSPER_CELL);
|
scanptr68k = (StackWord *)(((DLword *)scanptr68k) + DLWORDSPER_CELL);
|
||||||
@@ -382,8 +381,6 @@ FREESCAN:
|
|||||||
freeptr68k = (STKBLK *)scanptr68k;
|
freeptr68k = (STKBLK *)scanptr68k;
|
||||||
freesize = FSB_size(freeptr68k);
|
freesize = FSB_size(freeptr68k);
|
||||||
FREE:
|
FREE:
|
||||||
ooscan = oscan;
|
|
||||||
oscan = scanptr68k;
|
|
||||||
scanptr68k = (StackWord *)(((DLword *)freeptr68k) + freesize);
|
scanptr68k = (StackWord *)(((DLword *)freeptr68k) + freesize);
|
||||||
if (freesize == 0) error("FREESIZE = 0");
|
if (freesize == 0) error("FREESIZE = 0");
|
||||||
|
|
||||||
|
|||||||
@@ -271,10 +271,7 @@ LispPTR make_value_list(int argcount, LispPTR *argarray) {
|
|||||||
|
|
||||||
void simulate_unbind(FX2 *frame, int unbind_count, FX2 *returner) {
|
void simulate_unbind(FX2 *frame, int unbind_count, FX2 *returner) {
|
||||||
int unbind;
|
int unbind;
|
||||||
LispPTR *stackptr;
|
LispPTR *stackptr = (LispPTR *)(Stackspace + frame->nextblock);
|
||||||
DLword *nextblock;
|
|
||||||
stackptr = (LispPTR *)(Stackspace + frame->nextblock);
|
|
||||||
nextblock = (DLword *)stackptr;
|
|
||||||
for (unbind = 0; unbind < unbind_count; unbind++) {
|
for (unbind = 0; unbind < unbind_count; unbind++) {
|
||||||
register int value;
|
register int value;
|
||||||
register LispPTR *lastpvar;
|
register LispPTR *lastpvar;
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ LispPTR rpc(LispPTR *args)
|
|||||||
register int s, msec_until_timeout, msec_between_tries, out_length;
|
register int s, msec_until_timeout, msec_between_tries, out_length;
|
||||||
register int received;
|
register int received;
|
||||||
register int port;
|
register int port;
|
||||||
int dontblock, dest;
|
int dest;
|
||||||
unsigned fromlen;
|
unsigned fromlen;
|
||||||
fd_set read_descriptors;
|
fd_set read_descriptors;
|
||||||
struct timeval pertry_timeout, total_timeout, time_waited;
|
struct timeval pertry_timeout, total_timeout, time_waited;
|
||||||
@@ -111,8 +111,6 @@ LispPTR rpc(LispPTR *args)
|
|||||||
/* Open the socket; Might want to make this non-blocking */
|
/* Open the socket; Might want to make this non-blocking */
|
||||||
if ((s = socket(AF_INET, SOCK_DGRAM, 0)) < 0) goto handle_error;
|
if ((s = socket(AF_INET, SOCK_DGRAM, 0)) < 0) goto handle_error;
|
||||||
|
|
||||||
dontblock = 1;
|
|
||||||
|
|
||||||
/* The sockets that rpc controls don't block */
|
/* The sockets that rpc controls don't block */
|
||||||
fcntl(s, F_SETFL, fcntl(s, F_GETFL, 0) | O_NONBLOCK);
|
fcntl(s, F_SETFL, fcntl(s, F_GETFL, 0) | O_NONBLOCK);
|
||||||
|
|
||||||
|
|||||||
@@ -41,18 +41,17 @@ LispPTR N_OP_rplcons(register LispPTR list, register LispPTR item) {
|
|||||||
#ifndef NEWCDRCODING
|
#ifndef NEWCDRCODING
|
||||||
register struct conspage *conspage;
|
register struct conspage *conspage;
|
||||||
register ConsCell *new_cell;
|
register ConsCell *new_cell;
|
||||||
#endif
|
|
||||||
register ConsCell *list68k;
|
register ConsCell *list68k;
|
||||||
|
|
||||||
LispPTR register page;
|
LispPTR register page;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!Listp(list)) ERROR_EXIT(item);
|
if (!Listp(list)) ERROR_EXIT(item);
|
||||||
|
|
||||||
|
/* There are some rest Cell and "list" must be ONPAGE cdr_coded */
|
||||||
|
#ifndef NEWCDRCODING
|
||||||
page = POINTER_PAGE(list);
|
page = POINTER_PAGE(list);
|
||||||
list68k = (ConsCell *)Addr68k_from_LADDR(list);
|
list68k = (ConsCell *)Addr68k_from_LADDR(list);
|
||||||
|
|
||||||
/* There are some rest Cell and "list" must be ONPAGE cdr_coded */
|
|
||||||
#ifndef NEWCDRCODING
|
|
||||||
if ((GetCONSCount(page) != 0) && (list68k->cdr_code > CDR_MAXINDIRECT)) {
|
if ((GetCONSCount(page) != 0) && (list68k->cdr_code > CDR_MAXINDIRECT)) {
|
||||||
GCLOOKUP(item, ADDREF);
|
GCLOOKUP(item, ADDREF);
|
||||||
GCLOOKUP(cdr(list), DELREF);
|
GCLOOKUP(cdr(list), DELREF);
|
||||||
|
|||||||
@@ -1148,7 +1148,7 @@ void all_stack_dump(DLword start, DLword end, DLword silent)
|
|||||||
{
|
{
|
||||||
STKH *stkptr;
|
STKH *stkptr;
|
||||||
DLword *start68k, *end68k, *orig68k;
|
DLword *start68k, *end68k, *orig68k;
|
||||||
DLword size, dummy;
|
DLword size;
|
||||||
int sdlines = 0;
|
int sdlines = 0;
|
||||||
extern IFPAGE *InterfacePage;
|
extern IFPAGE *InterfacePage;
|
||||||
|
|
||||||
@@ -1165,7 +1165,6 @@ void all_stack_dump(DLword start, DLword end, DLword silent)
|
|||||||
stkptr = (STKH *)start68k;
|
stkptr = (STKH *)start68k;
|
||||||
|
|
||||||
while (((DLword *)stkptr) < end68k) {
|
while (((DLword *)stkptr) < end68k) {
|
||||||
dummy = LADDR_from_68k(stkptr);
|
|
||||||
switch (STKHPTR(stkptr)->flags1) {
|
switch (STKHPTR(stkptr)->flags1) {
|
||||||
case STK_GUARD:
|
case STK_GUARD:
|
||||||
case STK_FSB:
|
case STK_FSB:
|
||||||
|
|||||||
@@ -197,7 +197,6 @@ void set_Xcursor(DspInterface dsp, const uint8_t *bitmap, int hotspot_x, int hot
|
|||||||
unsigned char image[32];
|
unsigned char image[32];
|
||||||
int i;
|
int i;
|
||||||
Pixmap Cursor_src, Cursor_msk;
|
Pixmap Cursor_src, Cursor_msk;
|
||||||
Screen *screen;
|
|
||||||
|
|
||||||
#ifdef BYTESWAP
|
#ifdef BYTESWAP
|
||||||
if (from_lisp)
|
if (from_lisp)
|
||||||
@@ -209,7 +208,6 @@ void set_Xcursor(DspInterface dsp, const uint8_t *bitmap, int hotspot_x, int hot
|
|||||||
#endif /* BYTESWAP */
|
#endif /* BYTESWAP */
|
||||||
|
|
||||||
XLOCK;
|
XLOCK;
|
||||||
screen = ScreenOfDisplay(dsp->display_id, DefaultScreen(dsp->display_id));
|
|
||||||
Cursor_src = XCreatePixmapFromBitmapData(dsp->display_id, dsp->DisplayWindow, (char *)image,
|
Cursor_src = XCreatePixmapFromBitmapData(dsp->display_id, dsp->DisplayWindow, (char *)image,
|
||||||
16, 16, 1, 0, 1); /* Has to have a depth of 1! */
|
16, 16, 1, 0, 1); /* Has to have a depth of 1! */
|
||||||
Cursor_msk = XCreatePixmapFromBitmapData(dsp->display_id, dsp->DisplayWindow, (char *)image,
|
Cursor_msk = XCreatePixmapFromBitmapData(dsp->display_id, dsp->DisplayWindow, (char *)image,
|
||||||
|
|||||||
Reference in New Issue
Block a user