| Index: src/frames-inl.h
|
| diff --git a/src/frames-inl.h b/src/frames-inl.h
|
| index c22a018fb0a1fb09bc0c5199fcf332d0c5a31c1b..bd652da5c4afe2d2ca467c641cc33b8b50fbbfb9 100644
|
| --- a/src/frames-inl.h
|
| +++ b/src/frames-inl.h
|
| @@ -116,7 +116,7 @@ inline Object** StackHandler::code_address() const {
|
| }
|
|
|
|
|
| -inline StackFrame::StackFrame(StackFrameIterator* iterator)
|
| +inline StackFrame::StackFrame(StackFrameIteratorBase* iterator)
|
| : iterator_(iterator), isolate_(iterator_->isolate()) {
|
| }
|
|
|
| @@ -136,22 +136,23 @@ inline Code* StackFrame::GetContainingCode(Isolate* isolate, Address pc) {
|
| }
|
|
|
|
|
| -inline EntryFrame::EntryFrame(StackFrameIterator* iterator)
|
| +inline EntryFrame::EntryFrame(StackFrameIteratorBase* iterator)
|
| : StackFrame(iterator) {
|
| }
|
|
|
|
|
| -inline EntryConstructFrame::EntryConstructFrame(StackFrameIterator* iterator)
|
| +inline EntryConstructFrame::EntryConstructFrame(
|
| + StackFrameIteratorBase* iterator)
|
| : EntryFrame(iterator) {
|
| }
|
|
|
|
|
| -inline ExitFrame::ExitFrame(StackFrameIterator* iterator)
|
| +inline ExitFrame::ExitFrame(StackFrameIteratorBase* iterator)
|
| : StackFrame(iterator) {
|
| }
|
|
|
|
|
| -inline StandardFrame::StandardFrame(StackFrameIterator* iterator)
|
| +inline StandardFrame::StandardFrame(StackFrameIteratorBase* iterator)
|
| : StackFrame(iterator) {
|
| }
|
|
|
| @@ -201,7 +202,7 @@ inline bool StandardFrame::IsConstructFrame(Address fp) {
|
| }
|
|
|
|
|
| -inline JavaScriptFrame::JavaScriptFrame(StackFrameIterator* iterator)
|
| +inline JavaScriptFrame::JavaScriptFrame(StackFrameIteratorBase* iterator)
|
| : StandardFrame(iterator) {
|
| }
|
|
|
| @@ -269,32 +270,32 @@ inline Object* JavaScriptFrame::function() const {
|
| }
|
|
|
|
|
| -inline StubFrame::StubFrame(StackFrameIterator* iterator)
|
| +inline StubFrame::StubFrame(StackFrameIteratorBase* iterator)
|
| : StandardFrame(iterator) {
|
| }
|
|
|
|
|
| -inline OptimizedFrame::OptimizedFrame(StackFrameIterator* iterator)
|
| +inline OptimizedFrame::OptimizedFrame(StackFrameIteratorBase* iterator)
|
| : JavaScriptFrame(iterator) {
|
| }
|
|
|
|
|
| inline ArgumentsAdaptorFrame::ArgumentsAdaptorFrame(
|
| - StackFrameIterator* iterator) : JavaScriptFrame(iterator) {
|
| + StackFrameIteratorBase* iterator) : JavaScriptFrame(iterator) {
|
| }
|
|
|
|
|
| -inline InternalFrame::InternalFrame(StackFrameIterator* iterator)
|
| +inline InternalFrame::InternalFrame(StackFrameIteratorBase* iterator)
|
| : StandardFrame(iterator) {
|
| }
|
|
|
|
|
| inline StubFailureTrampolineFrame::StubFailureTrampolineFrame(
|
| - StackFrameIterator* iterator) : StandardFrame(iterator) {
|
| + StackFrameIteratorBase* iterator) : StandardFrame(iterator) {
|
| }
|
|
|
|
|
| -inline ConstructFrame::ConstructFrame(StackFrameIterator* iterator)
|
| +inline ConstructFrame::ConstructFrame(StackFrameIteratorBase* iterator)
|
| : InternalFrame(iterator) {
|
| }
|
|
|
| @@ -325,14 +326,9 @@ inline JavaScriptFrame* JavaScriptFrameIterator::frame() const {
|
|
|
|
|
| inline JavaScriptFrame* SafeStackFrameIterator::frame() const {
|
| - ASSERT(!iteration_done_);
|
| - // TODO(1233797): The frame hierarchy needs to change. It's
|
| - // problematic that we can't use the safe-cast operator to cast to
|
| - // the JavaScript frame type, because we may encounter arguments
|
| - // adaptor frames.
|
| - StackFrame* frame = iterator_.frame();
|
| - ASSERT(frame->is_java_script());
|
| - return static_cast<JavaScriptFrame*>(frame);
|
| + ASSERT(!done());
|
| + ASSERT(frame_->is_java_script());
|
| + return static_cast<JavaScriptFrame*>(frame_);
|
| }
|
|
|
|
|
|
|