equal
deleted
inserted
replaced
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 $'! ! |