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

Unified Diff: runtime/vm/object.h

Issue 1150633002: Track prologue offset of Code and use for more precise return addresses (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 7 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
Index: runtime/vm/object.h
diff --git a/runtime/vm/object.h b/runtime/vm/object.h
index 5bc4ab171b6fdf9a952b9ada01c6702024d931e5..bd547a34489eac9aeb98b227cb8de7bf3f928b4b 100644
--- a/runtime/vm/object.h
+++ b/runtime/vm/object.h
@@ -3983,6 +3983,14 @@ class Code : public Object {
const Comments& comments() const;
void set_comments(const Comments& comments) const;
+ RawObject* return_address_metadata() const {
+ return raw_ptr()->return_address_metadata_;
+ }
+ // Sets |return_address_metadata|.
+ void SetPrologueOffset(intptr_t offset) const;
+ // Returns -1 if no prologue offset is available.
+ intptr_t GetPrologueOffset() const;
+
enum InlinedIntervalEntries {
kInlIntStart = 0,
kInlIntInliningId = 1,
@@ -3990,15 +3998,11 @@ class Code : public Object {
kInlIntNumEntries = 3,
};
- RawArray* inlined_intervals() const {
- return raw_ptr()->inlined_intervals_;
- }
- void set_inlined_intervals(const Array& value) const;
+ RawArray* GetInlinedIntervals() const;
+ void SetInlinedIntervals(const Array& value) const;
- RawArray* inlined_id_to_function() const {
- return raw_ptr()->inlined_id_to_function_;
- }
- void set_inlined_id_to_function(const Array& value) const;
+ RawArray* GetInlinedIdToFunction() const;
+ void SetInlinedIdToFunction(const Array& value) const;
void GetInlinedFunctionsAt(
intptr_t offset, GrowableArray<Function*>* fs) const;

Powered by Google App Engine
This is Rietveld 408576698