--- a/Array.st Tue May 26 01:06:42 2015 +0200
+++ b/Array.st Tue May 26 20:55:30 2015 +0200
@@ -1537,7 +1537,14 @@
"reimplemented for speed if receiver is an Array"
%{ /* NOCONTEXT */
-
+#ifdef __SCHTEAM__
+ if (bothSmallInteger(index1, index2)) {
+ int _start = index1.intValue();
+ int _stop = index2.intValue();
+ self.from_to_put(_start, _stop, anObject);
+ return context._RETURN(self);
+ }
+#else
REGISTER INT index;
unsigned INT nIndex;
unsigned INT endIndex;
@@ -1552,20 +1559,20 @@
if ((endIndex >= index) && (endIndex < nIndex)) {
dst = &(__InstPtr(self)->i_instvars[index]);
-#ifdef memset4
+# ifdef memset4
{
int n4 = endIndex-index+1;
memset4(dst, anObject, n4);
}
-#else
-# ifdef FAST_MEMSET
+# else
+# ifdef FAST_MEMSET
if ((INT)anObject == 0) {
memset(dst, 0, __OBJS2BYTES__(endIndex-index+1));
} else
-# endif
+# endif
{
-# ifdef __UNROLL_LOOPS__
+# ifdef __UNROLL_LOOPS__
{
INT i8;
@@ -1576,17 +1583,18 @@
index = i8;
}
}
-# endif
+# endif
for (; index <= endIndex; index++) {
*dst++ = anObject;
}
}
-#endif
+# endif
__STORE(self, anObject);
RETURN ( self );
}
}
}
+#endif
%}.
^ super from:index1 to:index2 put:anObject
!
@@ -1883,10 +1891,10 @@
receiver refers to aLiteral (i.e. a deep search)"
self do:[:el |
- el == aLiteral ifTrue:[^true].
- (el class == Array or:[el class == ImmutableArray]) ifTrue:[
- (el refersToLiteral: aLiteral) ifTrue: [^true]
- ]
+ el == aLiteral ifTrue:[^true].
+ (el class == Array or:[el class == ImmutableArray]) ifTrue:[
+ (el refersToLiteral: aLiteral) ifTrue: [^true]
+ ]
].
^ false
@@ -1904,10 +1912,10 @@
receiver is symbolic and matches aMatchPattern (i.e. a deep search)"
self do:[ :el |
- (el isSymbol and:[ aMatchPattern match: el]) ifTrue:[^true].
- (el class == Array or:[el class == ImmutableArray]) ifTrue:[
- (el refersToLiteralMatching: aMatchPattern) ifTrue: [^true]
- ]
+ (el isSymbol and:[ aMatchPattern match: el]) ifTrue:[^true].
+ (el class == Array or:[el class == ImmutableArray]) ifTrue:[
+ (el refersToLiteralMatching: aMatchPattern) ifTrue: [^true]
+ ]
].
^ false
@@ -2680,10 +2688,9 @@
!Array class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.171 2015-05-08 10:29:19 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.172 2015-05-26 18:55:30 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.171 2015-05-08 10:29:19 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.172 2015-05-26 18:55:30 cg Exp $'
! !
-
--- a/Context.st Tue May 26 01:06:42 2015 +0200
+++ b/Context.st Tue May 26 20:55:30 2015 +0200
@@ -1233,7 +1233,8 @@
%{
#ifdef __SCHTEAM__
- ERROR("unimplemented");
+ return __c__._RETURN_TO(value, self.asSTContinuation());
+ /* NOTREACHED */
#else
OBJ sndr;
@@ -1284,7 +1285,8 @@
%{
#ifdef __SCHTEAM__
- ERROR("unimplemented");
+ return __c__._RETURN_TO(value, self.asSTContinuation());
+ /* NOTREACHED */
#else
OBJ theContext, sndr;
@@ -1330,7 +1332,8 @@
%{
#ifdef __SCHTEAM__
- ERROR("unimplemented");
+ return __c__._RETURN_TO(value, self.asSTContinuation());
+ /* NOTREACHED */
#else
OBJ theContext, sndr;
@@ -1384,7 +1387,8 @@
%{ /* NOCONTEXT */
#ifdef __SCHTEAM__
- ERROR("unimplemented");
+ return __c__._RETURN_FROM(value, self.asSTContinuation());
+ /* NOTREACHED */
#else
if (__INST(sender_) == nil) {
RETURN(nil);
@@ -2367,7 +2371,21 @@
%{ /* NOCONTEXT */
#ifdef __SCHTEAM__
- ERROR("unimplemented");
+ {
+ if (self == aContext) {
+ return __c__._RETURN(self);
+ }
+
+ STContinuation theContext = self.sender();
+
+ while (theContext != null) {
+ if ((theContext == aContext)
+ || theContext.isMarkedForUnwind()) {
+ return __c__._RETURN(theContext);
+ }
+ theContext = theContext.sender();
+ }
+ }
#else
OBJ theContext;
@@ -2872,11 +2890,11 @@
!Context class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Context.st,v 1.222 2015-05-25 23:06:42 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Context.st,v 1.223 2015-05-26 18:55:30 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/Context.st,v 1.222 2015-05-25 23:06:42 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Context.st,v 1.223 2015-05-26 18:55:30 cg Exp $'
!
version_HG