# HG changeset patch # User Claus Gittinger # Date 1430656680 -7200 # Node ID efd9abe45fd73662c0e6e52b7310431b8749c541 # Parent e26e632b80a79f2b6a9c907b18411463f057a7a6 comment only diff -r e26e632b80a7 -r efd9abe45fd7 Array.st --- 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 $' ! ! -