Feng, We only do two GCs but three runtime call attempts. The first GC is space specific, so if we failed an allocation in new space, we'll GC that space. The second one - should that be necessary - will do a full GC and retry one last time with allocation guaranteed to succeed if there's enough memory. So only two GCs - not three.
Cheers, Kasper On Thu, Oct 30, 2008 at 7:12 PM, Feng Qian <[EMAIL PROTECTED]> wrote: > > Kasper, can you explain why need 3 GC's? I probably missed some > changes in GC and policy. > > On Wed, Oct 29, 2008 at 4:43 AM, <[EMAIL PROTECTED]> wrote: >> >> Reviewers: Erik Corry, Kevin Millikin, >> >> Description: >> Allow three runtime call attempts before throwing an out of >> memory exception. Still needs work in Runtime_PerformGC to >> make sure we'll allow future allocations. >> >> Please review this at http://codereview.chromium.org/8873 >> >> SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ >> >> Affected files: >> M src/codegen-arm.cc >> M src/codegen-ia32.cc >> M src/handles.cc >> M src/runtime.cc >> >> >> >> > >> > > > > --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
