Array.st
changeset 834 c68ed1088b42
parent 829 fc386319f41c
child 835 8bd6f4aa8130
equal deleted inserted replaced
833:b5485d985d65 834:c68ed1088b42
   169 		 * a GC will happen ...
   169 		 * a GC will happen ...
   170 		 * have to protect all context stuff
   170 		 * have to protect all context stuff
   171 		 * (especially for self, but also for backtrace in case of
   171 		 * (especially for self, but also for backtrace in case of
   172 		 *  allocation failure)
   172 		 *  allocation failure)
   173 		 */
   173 		 */
   174 		PROTECT_CONTEXT
   174 		__PROTECT_CONTEXT__
   175 		_qAlignedNew(newobj, instsize, SENDER);
   175 		_qAlignedNew(newobj, instsize, SENDER);
   176 		UNPROTECT_CONTEXT
   176 		__UNPROTECT_CONTEXT__
   177 		if (newobj != nil) {
   177 		if (newobj != nil) {
   178 		    goto ok;
   178 		    goto ok;
   179 		}
   179 		}
   180 	    }
   180 	    }
   181 	}
   181 	}
   390     REGISTER OBJ *srcP, *dstP;
   390     REGISTER OBJ *srcP, *dstP;
   391     REGISTER int spc;
   391     REGISTER int spc;
   392 
   392 
   393     if (__qClass(self) == Array) {
   393     if (__qClass(self) == Array) {
   394 	sz = __qSize(self) + sizeof(OBJ);
   394 	sz = __qSize(self) + sizeof(OBJ);
   395 	PROTECT(something);
   395 	__PROTECT__(something);
   396 	PROTECT(self);
   396 	__PROTECT__(self);
   397 	_qAlignedNew(nObj, sz, __context);
   397 	_qAlignedNew(nObj, sz, __context);
   398 	UNPROTECT(self);
   398 	__UNPROTECT__(self);
   399 	UNPROTECT(something);
   399 	__UNPROTECT__(something);
   400 
   400 
   401 	if (nObj) {
   401 	if (nObj) {
   402 	    _InstPtr(nObj)->o_class = Array;
   402 	    _InstPtr(nObj)->o_class = Array;
   403 
   403 
   404 	    nIndex = __BYTES2OBJS__(sz - OHDR_SIZE - sizeof(OBJ));
   404 	    nIndex = __BYTES2OBJS__(sz - OHDR_SIZE - sizeof(OBJ));
  1336 ! !
  1336 ! !
  1337 
  1337 
  1338 !Array class methodsFor:'documentation'!
  1338 !Array class methodsFor:'documentation'!
  1339 
  1339 
  1340 version
  1340 version
  1341 ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.51 1996-01-04 01:22:40 cg Exp $'! !
  1341 ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.52 1996-01-04 17:02:07 cg Exp $'! !