Hi Gabor, Den 28. nov. 2011 15:25, skrev ext [email protected]: > Hi all! > > We've found and fixed a bug in the ExternalResource patch. > The problem was in heap-inl.h in the FinalizeExternalString() > function: > > if (value->IsSmi()) { > resource = reinterpret_cast<v8::Object::ExternalResource*>( > Internals::GetExternalPointerFromSmi(value)); > } else if (value->IsForeign()) { > resource = reinterpret_cast<v8::Object::ExternalResource*>( > Foreign::cast(value)->foreign_address()); > > The last line of the original patch was: > > Foreign::cast(value)->address()); > > It caused segfault on 64bit systems with ExternalResource objects > with high memory address. > The fixed patch has been attached to this mail. It has been modified > to meet V8's style guide and three tests have been added as well. > Now that the test are working I'm gonna start the upstreaming process > to V8.
Excellent news! Did you prepare the benchmark that demonstrates the vastly reduced memory consumption compared to the MakeWeak/MarkAsIndependent approach as well? That's the compelling reason to add this API; at the very least it would alert the V8 developers that the current MakeWeak/MarkAsIndependent implementation can be improved. Did you have a chance to try whether V8's new incremental GC makes a difference? Best regards, Kent > > Best regards, > Gabor Ballabas > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. > > > _______________________________________________ > Qt-script mailing list > [email protected] > http://lists.qt.nokia.com/mailman/listinfo/qt-script _______________________________________________ Qt-script mailing list [email protected] http://lists.qt.nokia.com/mailman/listinfo/qt-script
