equal
deleted
inserted
replaced
127 # undef FAST_ARRAY_MEMSET_DOUBLES_UNROLLED |
127 # undef FAST_ARRAY_MEMSET_DOUBLES_UNROLLED |
128 # undef FAST_ARRAY_MEMSET_LONGLONG_UNROLLED |
128 # undef FAST_ARRAY_MEMSET_LONGLONG_UNROLLED |
129 /* seems to be slightly faster */ |
129 /* seems to be slightly faster */ |
130 # define FAST_ARRAY_MEMSET |
130 # define FAST_ARRAY_MEMSET |
131 #endif |
131 #endif |
|
132 |
132 #ifdef sparc |
133 #ifdef sparc |
133 # define FAST_ARRAY_MEMSET_DOUBLES_UNROLLED |
134 # define FAST_ARRAY_MEMSET_DOUBLES_UNROLLED |
|
135 #endif |
|
136 |
|
137 #ifdef __VMS__ |
|
138 # define FAST_ARRAY_MEMSET_LONGLONG_UNROLLED |
134 #endif |
139 #endif |
135 |
140 |
136 # if defined(FAST_ARRAY_MEMSET_DOUBLES_UNROLLED) |
141 # if defined(FAST_ARRAY_MEMSET_DOUBLES_UNROLLED) |
137 op = __InstPtr(newobj)->i_instvars; |
142 op = __InstPtr(newobj)->i_instvars; |
138 if (nInstVars > 8) { |
143 if (nInstVars > 8) { |
151 *op++ = 0; |
156 *op++ = 0; |
152 nInstVars--; |
157 nInstVars--; |
153 } |
158 } |
154 # else |
159 # else |
155 # if defined(FAST_ARRAY_MEMSET_LONGLONG_UNROLLED) |
160 # if defined(FAST_ARRAY_MEMSET_LONGLONG_UNROLLED) |
|
161 # ifdef INT64 |
|
162 # define LONGLONG INT64 |
|
163 # else |
|
164 # define LONGLONG long long |
|
165 # endif |
|
166 |
156 op = __InstPtr(newobj)->i_instvars; |
167 op = __InstPtr(newobj)->i_instvars; |
157 if (nInstVars > 8) { |
168 if (nInstVars > 8) { |
158 *op++ = nil; /* for alignment */ |
169 *op++ = nil; /* for alignment */ |
159 nInstVars--; |
170 nInstVars--; |
160 while (nInstVars >= 8) { |
171 while (nInstVars >= 8) { |
161 *(long long *)op = 0; |
172 *(LONGLONG *)op = 0; |
162 ((long long *)op)[1] = 0; |
173 ((LONGLONG *)op)[1] = 0; |
163 ((long long *)op)[2] = 0; |
174 ((LONGLONG *)op)[2] = 0; |
164 ((long long *)op)[3] = 0; |
175 ((LONGLONG *)op)[3] = 0; |
165 op += 8; |
176 op += 8; |
166 nInstVars -= 8; |
177 nInstVars -= 8; |
167 } |
178 } |
168 } |
179 } |
169 while (nInstVars) { |
180 while (nInstVars) { |
2218 ! ! |
2229 ! ! |
2219 |
2230 |
2220 !Array class methodsFor:'documentation'! |
2231 !Array class methodsFor:'documentation'! |
2221 |
2232 |
2222 version |
2233 version |
2223 ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.100 1997-09-18 20:11:01 cg Exp $' |
2234 ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.101 1997-09-24 02:48:09 cg Exp $' |
2224 ! ! |
2235 ! ! |