--- a/Array.st Fri May 01 11:00:32 2015 +0200
+++ b/Array.st Sun May 03 14:38:00 2015 +0200
@@ -1951,7 +1951,6 @@
not portable (i.e. other smalltalks do not offer this)"
%{ /* NOCONTEXT */
-
REGISTER INT index;
REGISTER OBJ o, el1, el2;
REGISTER OBJ *op;
@@ -2102,6 +2101,21 @@
- reimplemented for speed when searching in OrderedCollections"
%{ /* NOCONTEXT */
+#ifdef __SCHTEAM__
+ if (start.isSmallInteger()
+ && stop.isSmallInteger()) {
+ if (self.isVector()) {
+ int _start = start.intValue() - 1;
+ int _stop = stop.intValue() - 1;
+ for (int i=_start; i<=_stop; i++) {
+ if (self.vectorRef(i) == anElement) {
+ return context._RETURN(i+1);
+ }
+ }
+ return context._RETURN(STInteger._0);
+ }
+ }
+#else
REGISTER INT index;
REGISTER OBJ el;
@@ -2185,6 +2199,7 @@
}
RETURN ( __mkSmallInteger(0) );
}
+#endif /*not SCHTEAM */
%}.
^ super identityIndexOf:anElement startingAt:start endingAt:stop
@@ -2666,10 +2681,9 @@
!Array class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.169 2015-04-26 11:30:22 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.170 2015-05-03 12:38:00 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.169 2015-04-26 11:30:22 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.170 2015-05-03 12:38:00 cg Exp $'
! !
-