--- a/Array.st Tue Sep 23 15:54:20 1997 +0200
+++ b/Array.st Wed Sep 24 04:48:12 1997 +0200
@@ -129,10 +129,15 @@
/* seems to be slightly faster */
# define FAST_ARRAY_MEMSET
#endif
+
#ifdef sparc
# define FAST_ARRAY_MEMSET_DOUBLES_UNROLLED
#endif
+#ifdef __VMS__
+# define FAST_ARRAY_MEMSET_LONGLONG_UNROLLED
+#endif
+
# if defined(FAST_ARRAY_MEMSET_DOUBLES_UNROLLED)
op = __InstPtr(newobj)->i_instvars;
if (nInstVars > 8) {
@@ -153,15 +158,21 @@
}
# else
# if defined(FAST_ARRAY_MEMSET_LONGLONG_UNROLLED)
+# ifdef INT64
+# define LONGLONG INT64
+# else
+# define LONGLONG long long
+# endif
+
op = __InstPtr(newobj)->i_instvars;
if (nInstVars > 8) {
*op++ = nil; /* for alignment */
nInstVars--;
while (nInstVars >= 8) {
- *(long long *)op = 0;
- ((long long *)op)[1] = 0;
- ((long long *)op)[2] = 0;
- ((long long *)op)[3] = 0;
+ *(LONGLONG *)op = 0;
+ ((LONGLONG *)op)[1] = 0;
+ ((LONGLONG *)op)[2] = 0;
+ ((LONGLONG *)op)[3] = 0;
op += 8;
nInstVars -= 8;
}
@@ -2220,5 +2231,5 @@
!Array class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.100 1997-09-18 20:11:01 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.101 1997-09-24 02:48:09 cg Exp $'
! !