| Index: runtime/vm/object.h
|
| diff --git a/runtime/vm/object.h b/runtime/vm/object.h
|
| index 4d9e8042125f5ac0d901f1a71c4302e5668a0910..69f0363982507116ae3eff8e4db520d28d850846 100644
|
| --- a/runtime/vm/object.h
|
| +++ b/runtime/vm/object.h
|
| @@ -4784,10 +4784,20 @@ class Code : public Object {
|
| // function except the top-of-stack is the position of the call to the next
|
| // function. The stack will be empty if we lack the metadata to produce it,
|
| // which happens for stub code.
|
| - void GetInlinedFunctionsAt(
|
| + // The pc offset is interpreted as an instruction address (as needed by the
|
| + // disassembler or the top frame of a profiler sample).
|
| + void GetInlinedFunctionsAtInstruction(
|
| intptr_t pc_offset,
|
| GrowableArray<const Function*>* functions,
|
| GrowableArray<TokenPosition>* token_positions) const;
|
| + // Same as above, expect the pc is intepreted as a return address (as needed
|
| + // for a stack trace or the bottom frames of a profiler sample).
|
| + void GetInlinedFunctionsAtReturnAddress(
|
| + intptr_t pc_offset,
|
| + GrowableArray<const Function*>* functions,
|
| + GrowableArray<TokenPosition>* token_positions) const {
|
| + GetInlinedFunctionsAtInstruction(pc_offset - 1, functions, token_positions);
|
| + }
|
|
|
| NOT_IN_PRODUCT(void PrintJSONInlineIntervals(JSONObject* object) const);
|
| void DumpInlineIntervals() const;
|
| @@ -8396,8 +8406,6 @@ class StackTrace : public Instance {
|
| RawCode* CodeAtFrame(intptr_t frame_index) const;
|
| void SetCodeAtFrame(intptr_t frame_index, const Code& code) const;
|
|
|
| - RawFunction* FunctionAtFrame(intptr_t frame_index) const;
|
| -
|
| RawArray* pc_offset_array() const { return raw_ptr()->pc_offset_array_; }
|
| RawSmi* PcOffsetAtFrame(intptr_t frame_index) const;
|
| void SetPcOffsetAtFrame(intptr_t frame_index, const Smi& pc_offset) const;
|
|
|