Reviewers: Mads Ager, Description: Fix an issue of a raw pointer being returned after possible allocation.
Please review this at http://codereview.chromium.org/14833 SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ Affected files: M src/ic.cc Index: src/ic.cc =================================================================== --- src/ic.cc (revision 993) +++ src/ic.cc (working copy) @@ -355,14 +355,19 @@ // If performing debug step into then flood this function with one-shot // break points if it is called from where step into was requested. if (Debug::StepInActive() && fp() == Debug::step_in_fp()) { + // Protect the result in a handle as the debugger can allocate and might + //cause GC. + HandleScope scope; + Handle<Object> result_handle(result); // Don't allow step into functions in the native context. if (JSFunction::cast(result)->context()->global() != Top::context()->builtins()) { - HandleScope scope; Handle<SharedFunctionInfo> shared(JSFunction::cast(result)->shared()); Debug::FloodWithOneShot(shared); } + return *result_handle; } + return result; } --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
