Commit Graph

3 Commits

Author SHA1 Message Date
Robert Nystrom 35da19ac07 Migrate standalone_2 to null safety.
Change-Id: I0e97add738bc79314a210cf137525b7391467fc2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152595
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
2020-06-26 19:17:50 +00:00
Siva Annamalai f1689b6eb0 Migrate first block of tests in standalone to standalone_2
R=bkonyi@google.com

Review-Url: https://codereview.chromium.org/2984363004 .
2017-08-01 09:05:01 -07:00
Erik Corry 37b320d381 Avoid scanning huge freelists for large enough free blocks.
The current old-space allocation implementation performs a
linear search in a single (potentially *very long*) free list for
allocations > 2k.

This CL will change this behavior to limit the number of free list
entries traversed, falling back to allocate a new page if the maximum
number of steps was reached. The new page will be pushed onto the
front of the free list, therefore making new allocations go there
immediately.

For the new tests/standalone/fragmentation_test.dart we
      - pay around 11-12% increase in memory
      - to gain a 6x speedup (125x speedup with sweepers disabled)

I tried a much more complicated version that had power-of-two
buckets for freelist items > 2k.  This turned out to regress
dart2js and splay for reasons that I could not determine. This
version is much simpler and fixes the issue as observed in the
bug.

Closes #29588

R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2872883003 .
2017-05-11 09:41:50 +02:00