Index: src/frames.cc |
diff --git a/src/frames.cc b/src/frames.cc |
index d68339af193445d9c0a06082fae648e15b44370c..78859344e0408304f5bc107fa1803fd4d7b8be4a 100644 |
--- a/src/frames.cc |
+++ b/src/frames.cc |
@@ -977,6 +977,12 @@ FrameSummary::FrameSummary(Object* receiver, JSFunction* function, |
CannotDeoptFromAsmCode(Code::cast(abstract_code), function)); |
} |
+FrameSummary FrameSummary::GetFirst(JavaScriptFrame* frame) { |
+ List<FrameSummary> frames(FLAG_max_inlining_levels + 1); |
+ frame->Summarize(&frames); |
+ return frames.first(); |
+} |
+ |
void FrameSummary::Print() { |
PrintF("receiver: "); |
receiver_->ShortPrint(); |
@@ -1228,15 +1234,15 @@ void InterpretedFrame::PatchBytecodeOffset(int new_offset) { |
SetExpression(index, Smi::FromInt(raw_offset)); |
} |
-Object* InterpretedFrame::GetBytecodeArray() const { |
+BytecodeArray* InterpretedFrame::GetBytecodeArray() const { |
const int index = InterpreterFrameConstants::kBytecodeArrayExpressionIndex; |
DCHECK_EQ( |
InterpreterFrameConstants::kBytecodeArrayFromFp, |
InterpreterFrameConstants::kExpressionsOffset - index * kPointerSize); |
- return GetExpression(index); |
+ return BytecodeArray::cast(GetExpression(index)); |
} |
-void InterpretedFrame::PatchBytecodeArray(Object* bytecode_array) { |
+void InterpretedFrame::PatchBytecodeArray(BytecodeArray* bytecode_array) { |
const int index = InterpreterFrameConstants::kBytecodeArrayExpressionIndex; |
DCHECK_EQ( |
InterpreterFrameConstants::kBytecodeArrayFromFp, |