Mads, couple of funny observations. Actually, in debug mode ASSERT would be triggered if one would trigger heavyweight GC phase from another heavyweight GC (due to allow_allocation(false) in GC prologue). Alas, in release mode there is no checks.
However, as we have this check already, maybe we could forbid weak callbacks triggering heavyweight GC? My only concern would be it's hard for clients to ensure code doesn't trigger GC. What do you think? yours, anton. On Thu, Aug 20, 2009 at 5:40 PM, <ant...@chromium.org> wrote: > > Reviewers: Mads Ager, > > Description: > Do not finish GlobalHandles::PostGarbageCollectionProcessing if weak > callback > triggered it already (it's not safe). > > > Please review this at http://codereview.chromium.org/174141 > > SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ > > Affected files: > M src/global-handles.cc > M src/heap.cc > M test/cctest/test-api.cc > > > > > > --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---