equal
deleted
inserted
replaced
216 bool is_full() const { return _len == _max; } |
216 bool is_full() const { return _len == _max; } |
217 DEBUG_ONLY(E* data_addr() const { return _data; }) |
217 DEBUG_ONLY(E* data_addr() const { return _data; }) |
218 |
218 |
219 void print(); |
219 void print(); |
220 |
220 |
221 inline static bool safe_equals(oop obj1, oop obj2) { |
|
222 return oopDesc::equals(obj1, obj2); |
|
223 } |
|
224 |
|
225 template <class X> |
|
226 inline static bool safe_equals(X i1, X i2) { |
|
227 return i1 == i2; |
|
228 } |
|
229 |
|
230 int append(const E& elem) { |
221 int append(const E& elem) { |
231 check_nesting(); |
222 check_nesting(); |
232 if (_len == _max) grow(_len); |
223 if (_len == _max) grow(_len); |
233 int idx = _len++; |
224 int idx = _len++; |
234 _data[idx] = elem; |
225 _data[idx] = elem; |
309 raw_at_put_grow(i, elem, fill); |
300 raw_at_put_grow(i, elem, fill); |
310 } |
301 } |
311 |
302 |
312 bool contains(const E& elem) const { |
303 bool contains(const E& elem) const { |
313 for (int i = 0; i < _len; i++) { |
304 for (int i = 0; i < _len; i++) { |
314 if (safe_equals(_data[i], elem)) return true; |
305 if (_data[i] == elem) return true; |
315 } |
306 } |
316 return false; |
307 return false; |
317 } |
308 } |
318 |
309 |
319 int find(const E& elem) const { |
310 int find(const E& elem) const { |