Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(181)

Unified Diff: runtime/vm/object.h

Issue 2686813006: Reapply "Use CodeSourceMap for stack traces (still JIT only)." (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/intermediate_language_x64.cc ('k') | runtime/vm/object.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
« no previous file with comments | « runtime/vm/intermediate_language_x64.cc ('k') | runtime/vm/object.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698