diff --git a/inc/mkcelldefs.h b/inc/mkcelldefs.h index b2ba6d8..f30b79e 100644 --- a/inc/mkcelldefs.h +++ b/inc/mkcelldefs.h @@ -3,5 +3,4 @@ #include "lispemul.h" /* for LispPTR, DLword */ LispPTR N_OP_createcell(register LispPTR tos); DLword *createcell68k(unsigned int type); -LispPTR Create_n_Set_Cell(unsigned int type, LispPTR value); #endif diff --git a/src/mkcell.c b/src/mkcell.c index a156d68..0009561 100644 --- a/src/mkcell.c +++ b/src/mkcell.c @@ -158,45 +158,3 @@ retry: } } /* createcell68k end */ - -/**********************************************************/ -/* Create a Cell of Specified Type & Set to given Value */ -/* Works with 32 bit typed values only. */ -/* (Initially used only by native code) */ -/**********************************************************/ - -LispPTR Create_n_Set_Cell(unsigned int type, LispPTR value) { - register struct dtd *dtd68k; - register DLword *ptr, *lastptr; - register LispPTR newcell; - - dtd68k = (struct dtd *)GetDTD(type); - - if (dtd68k->dtd_size == 0) error("createcell : Attempt to create a cell not declared yet"); - -retry: - if ((newcell = (dtd68k->dtd_free & POINTERMASK)) != NIL) { - ptr = Addr68k_from_LADDR(newcell); - - /* replace dtd_free with newcell's top DLword (it may keep next chain)*/ - - dtd68k->dtd_free = (*((LispPTR *)ptr)) & POINTERMASK; - dtd68k->dtd_oldcnt++; - if (dtd68k->dtd_free & 0x8000000) error("bad entry on free chain."); - - /* clear 0 */ - for (lastptr = ptr + dtd68k->dtd_size; ptr != lastptr; ptr++) { GETWORD(ptr) = 0; } - - /* IncAllocCnt(1); */ - GCLOOKUP(newcell, DELREF); - (*((LispPTR *)Addr68k_from_LADDR(newcell))) = value; - return (newcell); - - } else { - dtd68k->dtd_free = initmdspage(alloc_mdspage(dtd68k->dtd_typeentry), dtd68k->dtd_size, NIL); - if (dtd68k->dtd_free & 0x8000000) error("bad entry on free chain."); - - goto retry; - } - -} /* createcell68k end */