Go to file
yurys@chromium.org 4aeccdb23e Do not iterate stack handlers in SafeStackFrameIterator
CPU profiler doesn't use stack handlers so there is no need to iterate through them while traversing stack. This change SafeStackFrameIterator always iterate only frames and removes checks corresponding to the handlers iteration.

The problem described in the bug occurred because of a false assumption in SafeStackFrameIterator that if Isolate::c_entry_fp is not NULL then the top frame on the stack is always a C++ frame. It is false because we may have entered JS code again, in which case JS_ENTRY code stub generated by JSEntryStub::GenerateBody() will save current c_entry_fp value but not reset it to NULL and after that it will create ENTRY stack frame and JS_ENTRY handler on the stack and put the latter into Isolate::handler(top). This means that if we start iterating from c_entry_fp frame and try to compare the frame's sp with Isolate::handler()->address() it will turn out that frame->sp() > handler->address() and the condition in SafeStackFrameIterator::CanIterateHandles is not held.

BUG=252097
R=loislo@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/17589022

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 09:28:11 +00:00
benchmarks More fixes for V8 benchmark version 7. 2012-03-15 17:13:50 +00:00
build Move C++ specific flags from C flags to C++ flags 2013-06-25 14:39:27 +00:00
include CPUProfiler: It is not clear why we are using Handle<Object> for scriptId. Lets flip it into Smi/int. 2013-06-25 14:57:47 +00:00
preparser Remove SCons related files 2013-04-18 11:01:14 +00:00
samples Cutover v8 to use new style callbacks internally 2013-06-05 12:36:33 +00:00
src Do not iterate stack handlers in SafeStackFrameIterator 2013-06-27 09:28:11 +00:00
test Do not iterate stack handlers in SafeStackFrameIterator 2013-06-27 09:28:11 +00:00
tools Migrate blink tests that are not relevant to blink into a new V8 test suite called 'blink'. 2013-06-26 14:23:30 +00:00
.gitignore Migrate blink tests that are not relevant to blink into a new V8 test suite called 'blink'. 2013-06-26 14:23:30 +00:00
AUTHORS Add methods to allow resuming execution after calling TerminateExecution(). 2013-04-22 15:01:45 +00:00
ChangeLog Prepare push to trunk. Now working on 3.19.19. 2013-06-18 11:42:34 +00:00
DEPS Pull more recent gyp. 2012-09-26 09:12:45 +00:00
LICENSE Update LICENSE file 2012-01-03 16:38:42 +00:00
LICENSE.strongtalk Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.v8 Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.valgrind Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
Makefile Enable Native Client build of V8. 2013-04-17 08:27:40 +00:00
Makefile.android MIPS: Add android build support for mips in gyp. 2013-02-25 16:39:03 +00:00
Makefile.nacl Allow a relativ path to the NaCl SDK when building. 2013-05-28 15:33:39 +00:00
OWNERS Added Hannes and Dmitry to OWNERS 2013-03-21 12:09:53 +00:00
PRESUBMIT.py Run style checks also when uploading. 2013-04-11 12:41:31 +00:00