// Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// VMOptions=--new_gen_heap_size=1 --no_inline_alloc

// Regression test for slow-path allocation in the allocation stub.

library map_test;
import 'dart:collection';

void testCollection(var collection, n) {
  for (int i = 0; i < n; i++) {
    if (i % 1000 == 0) print(i);
    collection.add(i);
  }
}

main() {
  const int N = 100000;
  testCollection(new LinkedHashSet(), N);
}
