Updates:
        Status: Fixed

Comment #7 on issue 2060 by [email protected]: Segmentation fault when using code compiled with contracts.coffee
http://code.google.com/p/v8/issues/detail?id=2060

Fixed in r11264 and r11279.

And now comes the long story. First of all, thanks for using the new Harmony features, it's awesome to finally get some use-cases for them. The above two revisions fix corner cases that can happen when either keys or values in WeakMaps happen to fall onto pages the are then marked for compaction by the GC. The crash you observed should be gone.

But your benchmark also revealed an issue when it comes to incremental marking. The GC doesn't remove entries from WeakMaps when it performs incremental marking, entries are instead treated as strong references. The heap grows to about 750MB until a non-incremental emergency GC brings down the size to 9MB again. I have opened issue 2070 to track that problem.

So running your benchmark with "--noincremental-marking" consumes far less memory (i.e. up to 20MB) and improves performance. But I think it is time to fix that.

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to