--- a/WeakArray.st Mon Aug 26 09:28:09 2019 +0200
+++ b/WeakArray.st Mon Aug 26 09:28:35 2019 +0200
@@ -531,50 +531,50 @@
if (__isBlockLike(aBlock)
&& (__BlockInstPtr(aBlock)->b_nargs == __mkSmallInteger(1))) {
- {
- /*
- * the most common case: a static compiled block, with home on the stack ...
- */
- REGISTER OBJFUNC codeVal;
+ {
+ /*
+ * the most common case: a static compiled block, with home on the stack ...
+ */
+ REGISTER OBJFUNC codeVal;
- if (((codeVal = __BlockInstPtr(aBlock)->b_code) != (OBJFUNC)nil)
- && (! ((INT)(__BlockInstPtr(aBlock)->b_flags) & __MASKSMALLINT(F_DYNAMIC)))) {
+ if (((codeVal = __BlockInstPtr(aBlock)->b_code) != (OBJFUNC)nil)
+ && (! ((INT)(__BlockInstPtr(aBlock)->b_flags) & __MASKSMALLINT(F_DYNAMIC)))) {
#ifdef NEW_BLOCK_CALL
# define BLOCK_ARG aBlock
#else
# define BLOCK_ARG rHome
- REGISTER OBJ rHome;
+ REGISTER OBJ rHome;
- rHome = __BlockInstPtr(aBlock)->b_home;
- if ((rHome == nil) || (__qSpace(rHome) >= STACKSPACE))
+ rHome = __BlockInstPtr(aBlock)->b_home;
+ if ((rHome == nil) || (__qSpace(rHome) >= STACKSPACE))
#endif
- {
- for (; index < nIndex; index++) {
- if (InterruptPending != nil) __interruptL(@line);
+ {
+ for (; index < nIndex; index++) {
+ if (InterruptPending != nil) __interruptL(@line);
- element = __InstPtr(self)->i_instvars[index];
- if (__isNonNilObject(element)) {
- element = __WEAK_READ__(self, element);
+ element = __InstPtr(self)->i_instvars[index];
+ if (__isNonNilObject(element)) {
+ element = __WEAK_READ__(self, element);
#ifdef WEAK_DEBUG
- if (! __ISVALIDOBJECT(element)) {
- fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
- __dumpObject__(element, __LINE__,__FILE__);
- element = nil;
- }
+ if (! __ISVALIDOBJECT(element)) {
+ fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
+ __dumpObject__(element, __LINE__,__FILE__);
+ element = nil;
+ }
#endif
- }
- (*codeVal)(BLOCK_ARG, element);
- }
- RETURN (self);
- }
- }
- }
+ }
+ (*codeVal)(BLOCK_ARG, element);
+ }
+ RETURN (self);
+ }
+ }
+ }
- /*
- * sorry, must check code-pointer in the loop
- * it could be recompiled or flushed
- */
+ /*
+ * sorry, must check code-pointer in the loop
+ * it could be recompiled or flushed
+ */
# undef BLOCK_ARG
#ifdef NEW_BLOCK_CALL
# define BLOCK_ARG aBlock
@@ -584,44 +584,44 @@
# define IBLOCK_ARG (__BlockInstPtr(aBlock)->b_home)
#endif
- for (; index < nIndex; index++) {
- REGISTER OBJFUNC codeVal;
+ for (; index < nIndex; index++) {
+ REGISTER OBJFUNC codeVal;
- if (InterruptPending != nil) __interruptL(@line);
+ if (InterruptPending != nil) __interruptL(@line);
- element = __InstPtr(self)->i_instvars[index];
- if (__isNonNilObject(element)) {
- element = __WEAK_READ__(self, element);
+ element = __InstPtr(self)->i_instvars[index];
+ if (__isNonNilObject(element)) {
+ element = __WEAK_READ__(self, element);
#ifdef WEAK_DEBUG
- if (! __ISVALIDOBJECT(element)) {
- fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
- __dumpObject__(element, __LINE__,__FILE__);
- element = nil;
- }
+ if (! __ISVALIDOBJECT(element)) {
+ fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
+ __dumpObject__(element, __LINE__,__FILE__);
+ element = nil;
+ }
#endif
- }
- if ((codeVal = __BlockInstPtr(aBlock)->b_code) != (OBJFUNC)nil) {
- (*codeVal)(BLOCK_ARG, element);
- } else {
- if (__BlockInstPtr(aBlock)->b_bytecodes != nil) {
- /*
- * arg is a compiled block with bytecode -
- * directly call interpreter without going through Block>>value
- */
+ }
+ if ((codeVal = __BlockInstPtr(aBlock)->b_code) != (OBJFUNC)nil) {
+ (*codeVal)(BLOCK_ARG, element);
+ } else {
+ if (__BlockInstPtr(aBlock)->b_bytecodes != nil) {
+ /*
+ * arg is a compiled block with bytecode -
+ * directly call interpreter without going through Block>>value
+ */
#ifdef PASS_ARG_POINTER
- __interpret(aBlock, 1, nil, IBLOCK_ARG, nil, nil, &element);
+ __interpret(aBlock, 1, nil, IBLOCK_ARG, nil, nil, &element);
#else
- __interpret(aBlock, 1, nil, IBLOCK_ARG, nil, nil, element);
+ __interpret(aBlock, 1, nil, IBLOCK_ARG, nil, nil, element);
#endif
- } else {
- /*
- * arg is something else - call it with #value
- */
- (*val.ilc_func)(aBlock, @symbol(value:), nil, &val, element);
- }
- }
- }
- RETURN (self);
+ } else {
+ /*
+ * arg is something else - call it with #value
+ */
+ (*val.ilc_func)(aBlock, @symbol(value:), nil, &val, element);
+ }
+ }
+ }
+ RETURN (self);
# undef BLOCK_ARG
# undef IBLOCK_ARG
@@ -632,29 +632,29 @@
* not a block - send it #value:
*/
for (; index < nIndex; index++) {
- if (InterruptPending != nil) __interruptL(@line);
+ if (InterruptPending != nil) __interruptL(@line);
- element = __InstPtr(self)->i_instvars[index];
- if (__isNonNilObject(element)) {
- element = __WEAK_READ__(self, element);
+ element = __InstPtr(self)->i_instvars[index];
+ if (__isNonNilObject(element)) {
+ element = __WEAK_READ__(self, element);
#ifdef WEAK_DEBUG
- if (! __ISVALIDOBJECT(element)) {
- fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
- __dumpObject__(element, __LINE__,__FILE__);
- element = nil;
- }
+ if (! __ISVALIDOBJECT(element)) {
+ fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
+ __dumpObject__(element, __LINE__,__FILE__);
+ element = nil;
+ }
#endif
- }
- (*val.ilc_func)(aBlock,
- @symbol(value:),
- nil, &val,
- element);
+ }
+ (*val.ilc_func)(aBlock,
+ @symbol(value:),
+ nil, &val,
+ element);
}
RETURN (self);
%}.
- ^ super do:[:each |
- each notNil ifTrue:[aBlock value:each]
- ]
+ super do:[:each |
+ each notNil ifTrue:[aBlock value:each]
+ ]
"Modified: / 23-07-2015 / 15:35:24 / cg"
!
@@ -714,57 +714,57 @@
nIndex = __BYTES2OBJS__(__qSize(self) - OHDR_SIZE);
if (__isBlockLike(aBlock)
&& (__BlockInstPtr(aBlock)->b_nargs == __mkSmallInteger(1))) {
- {
- /*
- * the most common case: a static compiled block, with home on the stack ...
- */
- REGISTER OBJFUNC codeVal;
+ {
+ /*
+ * the most common case: a static compiled block, with home on the stack ...
+ */
+ REGISTER OBJFUNC codeVal;
- if (((codeVal = __BlockInstPtr(aBlock)->b_code) != (OBJFUNC)nil)
- && (! ((INT)(__BlockInstPtr(aBlock)->b_flags) & __MASKSMALLINT(F_DYNAMIC)))) {
+ if (((codeVal = __BlockInstPtr(aBlock)->b_code) != (OBJFUNC)nil)
+ && (! ((INT)(__BlockInstPtr(aBlock)->b_flags) & __MASKSMALLINT(F_DYNAMIC)))) {
#ifdef NEW_BLOCK_CALL
# define BLOCK_ARG aBlock
#else
# define BLOCK_ARG rHome
- REGISTER OBJ rHome;
+ REGISTER OBJ rHome;
- rHome = __BlockInstPtr(aBlock)->b_home;
- if ((rHome == nil) || (__qSpace(rHome) >= STACKSPACE))
+ rHome = __BlockInstPtr(aBlock)->b_home;
+ if ((rHome == nil) || (__qSpace(rHome) >= STACKSPACE))
#endif
- {
- for (; index < nIndex; index++) {
- element = __InstPtr(self)->i_instvars[index];
- if (element) {
- if (InterruptPending != nil) {
- __interruptL(@line);
- element = __InstPtr(self)->i_instvars[index];
- }
+ {
+ for (; index < nIndex; index++) {
+ element = __InstPtr(self)->i_instvars[index];
+ if (element) {
+ if (InterruptPending != nil) {
+ __interruptL(@line);
+ element = __InstPtr(self)->i_instvars[index];
+ }
- if (__isNonNilObject(element)) {
- element = __WEAK_READ__(self, element);
+ if (__isNonNilObject(element)) {
+ element = __WEAK_READ__(self, element);
#ifdef WEAK_DEBUG
- if (! __ISVALIDOBJECT(element)) {
- fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
- __dumpObject__(element, __LINE__,__FILE__);
- element = nil;
- }
+ if (! __ISVALIDOBJECT(element)) {
+ fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
+ __dumpObject__(element, __LINE__,__FILE__);
+ element = nil;
+ }
#endif
- }
- if (element) {
- (*codeVal)(BLOCK_ARG, element);
- }
- }
- }
- RETURN (self);
- }
- }
- }
+ }
+ if (element) {
+ (*codeVal)(BLOCK_ARG, element);
+ }
+ }
+ }
+ RETURN (self);
+ }
+ }
+ }
- /*
- * sorry, must check code-pointer in the loop
- * it could be recompiled or flushed
- */
+ /*
+ * sorry, must check code-pointer in the loop
+ * it could be recompiled or flushed
+ */
# undef BLOCK_ARG
#ifdef NEW_BLOCK_CALL
# define BLOCK_ARG aBlock
@@ -774,50 +774,50 @@
# define IBLOCK_ARG (__BlockInstPtr(aBlock)->b_home)
#endif
- for (; index < nIndex; index++) {
- REGISTER OBJFUNC codeVal;
+ for (; index < nIndex; index++) {
+ REGISTER OBJFUNC codeVal;
- element = __InstPtr(self)->i_instvars[index];
- if (element) {
- if (InterruptPending != nil) {
- __interruptL(@line);
- element = __InstPtr(self)->i_instvars[index];
- }
- if (__isNonNilObject(element)) {
- element = __WEAK_READ__(self, element);
+ element = __InstPtr(self)->i_instvars[index];
+ if (element) {
+ if (InterruptPending != nil) {
+ __interruptL(@line);
+ element = __InstPtr(self)->i_instvars[index];
+ }
+ if (__isNonNilObject(element)) {
+ element = __WEAK_READ__(self, element);
#ifdef WEAK_DEBUG
- if (! __ISVALIDOBJECT(element)) {
- fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
- __dumpObject__(element, __LINE__,__FILE__);
- element = nil;
- }
+ if (! __ISVALIDOBJECT(element)) {
+ fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
+ __dumpObject__(element, __LINE__,__FILE__);
+ element = nil;
+ }
#endif
- }
- if (element) {
- if ((codeVal = __BlockInstPtr(aBlock)->b_code) != (OBJFUNC)nil) {
- (*codeVal)(BLOCK_ARG, element);
- } else {
- if (__BlockInstPtr(aBlock)->b_bytecodes != nil) {
- /*
- * arg is a compiled block with bytecode -
- * directly call interpreter without going through Block>>value
- */
+ }
+ if (element) {
+ if ((codeVal = __BlockInstPtr(aBlock)->b_code) != (OBJFUNC)nil) {
+ (*codeVal)(BLOCK_ARG, element);
+ } else {
+ if (__BlockInstPtr(aBlock)->b_bytecodes != nil) {
+ /*
+ * arg is a compiled block with bytecode -
+ * directly call interpreter without going through Block>>value
+ */
#ifdef PASS_ARG_POINTER
- __interpret(aBlock, 1, nil, IBLOCK_ARG, nil, nil, &element);
+ __interpret(aBlock, 1, nil, IBLOCK_ARG, nil, nil, &element);
#else
- __interpret(aBlock, 1, nil, IBLOCK_ARG, nil, nil, element);
+ __interpret(aBlock, 1, nil, IBLOCK_ARG, nil, nil, element);
#endif
- } else {
- /*
- * arg is something else - call it with #value
- */
- (*val.ilc_func)(aBlock, @symbol(value:), nil, &val, element);
- }
- }
- }
- }
- }
- RETURN (self);
+ } else {
+ /*
+ * arg is something else - call it with #value
+ */
+ (*val.ilc_func)(aBlock, @symbol(value:), nil, &val, element);
+ }
+ }
+ }
+ }
+ }
+ RETURN (self);
# undef BLOCK_ARG
# undef IBLOCK_ARG
@@ -827,35 +827,35 @@
* not a block - send it #value:
*/
for (; index < nIndex; index++) {
- element = __InstPtr(self)->i_instvars[index];
- if (element) {
- if (InterruptPending != nil) {
- __interruptL(@line);
- element = __InstPtr(self)->i_instvars[index];
- }
- if (__isNonNilObject(element)) {
- element = __WEAK_READ__(self, element);
+ element = __InstPtr(self)->i_instvars[index];
+ if (element) {
+ if (InterruptPending != nil) {
+ __interruptL(@line);
+ element = __InstPtr(self)->i_instvars[index];
+ }
+ if (__isNonNilObject(element)) {
+ element = __WEAK_READ__(self, element);
#ifdef WEAK_DEBUG
- if (! __ISVALIDOBJECT(element)) {
- fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
- __dumpObject__(element, __LINE__,__FILE__);
- element = nil;
- }
+ if (! __ISVALIDOBJECT(element)) {
+ fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
+ __dumpObject__(element, __LINE__,__FILE__);
+ element = nil;
+ }
#endif
- }
- if (element) {
- (*val.ilc_func)(aBlock,
- @symbol(value:),
- nil, &val,
- element);
- }
- }
+ }
+ if (element) {
+ (*val.ilc_func)(aBlock,
+ @symbol(value:),
+ nil, &val,
+ element);
+ }
+ }
}
RETURN (self);
%}.
- ^ super do:[:each |
- each notNil ifTrue:[aBlock value:each]
- ]
+ super do:[:each |
+ each notNil ifTrue:[aBlock value:each]
+ ]
!
validElementsDo:aBlock
@@ -871,57 +871,57 @@
nIndex = __BYTES2OBJS__(__qSize(self) - OHDR_SIZE);
if (__isBlockLike(aBlock)
&& (__BlockInstPtr(aBlock)->b_nargs == __mkSmallInteger(1))) {
- {
- /*
- * the most common case: a static compiled block, with home on the stack ...
- */
- REGISTER OBJFUNC codeVal;
+ {
+ /*
+ * the most common case: a static compiled block, with home on the stack ...
+ */
+ REGISTER OBJFUNC codeVal;
- if (((codeVal = __BlockInstPtr(aBlock)->b_code) != (OBJFUNC)nil)
- && (! ((INT)(__BlockInstPtr(aBlock)->b_flags) & __MASKSMALLINT(F_DYNAMIC)))) {
+ if (((codeVal = __BlockInstPtr(aBlock)->b_code) != (OBJFUNC)nil)
+ && (! ((INT)(__BlockInstPtr(aBlock)->b_flags) & __MASKSMALLINT(F_DYNAMIC)))) {
#ifdef NEW_BLOCK_CALL
# define BLOCK_ARG aBlock
#else
# define BLOCK_ARG rHome
- REGISTER OBJ rHome;
+ REGISTER OBJ rHome;
- rHome = __BlockInstPtr(aBlock)->b_home;
- if ((rHome == nil) || (__qSpace(rHome) >= STACKSPACE))
+ rHome = __BlockInstPtr(aBlock)->b_home;
+ if ((rHome == nil) || (__qSpace(rHome) >= STACKSPACE))
#endif
- {
- for (; index < nIndex; index++) {
- element = __InstPtr(self)->i_instvars[index];
- if (__isNonNilObject(element)) {
- if (InterruptPending != nil) {
- __interruptL(@line);
- element = __InstPtr(self)->i_instvars[index];
- }
+ {
+ for (; index < nIndex; index++) {
+ element = __InstPtr(self)->i_instvars[index];
+ if (__isNonNilObject(element)) {
+ if (InterruptPending != nil) {
+ __interruptL(@line);
+ element = __InstPtr(self)->i_instvars[index];
+ }
- if (__isNonNilObject(element)) {
- element = __WEAK_READ__(self, element);
+ if (__isNonNilObject(element)) {
+ element = __WEAK_READ__(self, element);
#ifdef WEAK_DEBUG
- if (! __ISVALIDOBJECT(element)) {
- fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
- __dumpObject__(element, __LINE__,__FILE__);
- element = nil;
- }
+ if (! __ISVALIDOBJECT(element)) {
+ fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
+ __dumpObject__(element, __LINE__,__FILE__);
+ element = nil;
+ }
#endif
- if (__isNonNilObject(element)) {
- (*codeVal)(BLOCK_ARG, element);
- }
- }
- }
- }
- RETURN (self);
- }
- }
- }
+ if (__isNonNilObject(element)) {
+ (*codeVal)(BLOCK_ARG, element);
+ }
+ }
+ }
+ }
+ RETURN (self);
+ }
+ }
+ }
- /*
- * sorry, must check code-pointer in the loop
- * it could be recompiled or flushed
- */
+ /*
+ * sorry, must check code-pointer in the loop
+ * it could be recompiled or flushed
+ */
# undef BLOCK_ARG
#ifdef NEW_BLOCK_CALL
# define BLOCK_ARG aBlock
@@ -931,50 +931,50 @@
# define IBLOCK_ARG (__BlockInstPtr(aBlock)->b_home)
#endif
- for (; index < nIndex; index++) {
- REGISTER OBJFUNC codeVal;
+ for (; index < nIndex; index++) {
+ REGISTER OBJFUNC codeVal;
- element = __InstPtr(self)->i_instvars[index];
- if (__isNonNilObject(element)) {
- if (InterruptPending != nil) {
- __interruptL(@line);
- element = __InstPtr(self)->i_instvars[index];
- }
- if (__isNonNilObject(element)) {
- element = __WEAK_READ__(self, element);
+ element = __InstPtr(self)->i_instvars[index];
+ if (__isNonNilObject(element)) {
+ if (InterruptPending != nil) {
+ __interruptL(@line);
+ element = __InstPtr(self)->i_instvars[index];
+ }
+ if (__isNonNilObject(element)) {
+ element = __WEAK_READ__(self, element);
#ifdef WEAK_DEBUG
- if (! __ISVALIDOBJECT(element)) {
- fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
- __dumpObject__(element, __LINE__,__FILE__);
- element = nil;
- }
+ if (! __ISVALIDOBJECT(element)) {
+ fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
+ __dumpObject__(element, __LINE__,__FILE__);
+ element = nil;
+ }
#endif
- if (__isNonNilObject(element)) {
- if ((codeVal = __BlockInstPtr(aBlock)->b_code) != (OBJFUNC)nil) {
- (*codeVal)(BLOCK_ARG, element);
- } else {
- if (__BlockInstPtr(aBlock)->b_bytecodes != nil) {
- /*
- * arg is a compiled block with bytecode -
- * directly call interpreter without going through Block>>value
- */
+ if (__isNonNilObject(element)) {
+ if ((codeVal = __BlockInstPtr(aBlock)->b_code) != (OBJFUNC)nil) {
+ (*codeVal)(BLOCK_ARG, element);
+ } else {
+ if (__BlockInstPtr(aBlock)->b_bytecodes != nil) {
+ /*
+ * arg is a compiled block with bytecode -
+ * directly call interpreter without going through Block>>value
+ */
#ifdef PASS_ARG_POINTER
- __interpret(aBlock, 1, nil, IBLOCK_ARG, nil, nil, &element);
+ __interpret(aBlock, 1, nil, IBLOCK_ARG, nil, nil, &element);
#else
- __interpret(aBlock, 1, nil, IBLOCK_ARG, nil, nil, element);
+ __interpret(aBlock, 1, nil, IBLOCK_ARG, nil, nil, element);
#endif
- } else {
- /*
- * arg is something else - call it with #value
- */
- (*val.ilc_func)(aBlock, @symbol(value:), nil, &val, element);
- }
- }
- }
- }
- }
- }
- RETURN (self);
+ } else {
+ /*
+ * arg is something else - call it with #value
+ */
+ (*val.ilc_func)(aBlock, @symbol(value:), nil, &val, element);
+ }
+ }
+ }
+ }
+ }
+ }
+ RETURN (self);
# undef BLOCK_ARG
# undef IBLOCK_ARG
@@ -984,35 +984,35 @@
* not a block - send it #value:
*/
for (; index < nIndex; index++) {
- element = __InstPtr(self)->i_instvars[index];
- if (__isNonNilObject(element)) {
- if (InterruptPending != nil) {
- __interruptL(@line);
- element = __InstPtr(self)->i_instvars[index];
- }
- if (__isNonNilObject(element)) {
- element = __WEAK_READ__(self, element);
+ element = __InstPtr(self)->i_instvars[index];
+ if (__isNonNilObject(element)) {
+ if (InterruptPending != nil) {
+ __interruptL(@line);
+ element = __InstPtr(self)->i_instvars[index];
+ }
+ if (__isNonNilObject(element)) {
+ element = __WEAK_READ__(self, element);
#ifdef WEAK_DEBUG
- if (! __ISVALIDOBJECT(element)) {
- fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
- __dumpObject__(element, __LINE__,__FILE__);
- element = nil;
- }
+ if (! __ISVALIDOBJECT(element)) {
+ fprintf(stderr, "****** OOPS - invalid Weak-Read\n");
+ __dumpObject__(element, __LINE__,__FILE__);
+ element = nil;
+ }
#endif
- if (__isNonNilObject(element)) {
- (*val.ilc_func)(aBlock,
- @symbol(value:),
- nil, &val,
- element);
- }
- }
- }
+ if (__isNonNilObject(element)) {
+ (*val.ilc_func)(aBlock,
+ @symbol(value:),
+ nil, &val,
+ element);
+ }
+ }
+ }
}
RETURN (self);
%}.
- ^ super do:[:each |
- (each notNil and:[each class ~~ SmallInteger]) ifTrue:[aBlock value:each]
- ]
+ super do:[:each |
+ (each notNil and:[each class ~~ SmallInteger]) ifTrue:[aBlock value:each]
+ ]
"Modified: / 23-07-2015 / 15:32:44 / cg"
! !