Index: src/frames.cc |
diff --git a/src/frames.cc b/src/frames.cc |
index 8e5b530a93b095f5b42160320f9be007124adab1..18fd91f63a4a52ae7c433ee147939a9a2b791922 100644 |
--- a/src/frames.cc |
+++ b/src/frames.cc |
@@ -976,6 +976,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(); |
@@ -1227,12 +1233,12 @@ 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) { |