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

Reply via email to