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

Unified Diff: runtime/vm/object.h

Issue 11418046: First part of static call cleanup: store static call targets into code object, referenced by code-o… (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 1 month 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/native_entry_test.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
===================================================================
--- runtime/vm/object.h (revision 15090)
+++ runtime/vm/object.h (working copy)
@@ -2486,11 +2486,23 @@
void set_stackmaps(const Array& maps) const;
RawStackmap* GetStackmap(uword pc, Array* stackmaps, Stackmap* map) const;
- RawGrowableObjectArray* resolved_static_calls() const {
- return raw_ptr()->resolved_static_calls_;
+ enum {
+ kSCallTableOffsetEntry = 0,
+ kSCallTableFunctionEntry = 1,
+ kSCallTableCodeEntry = 2,
+ kSCallTableEntryLength = 3,
+ };
+
+ void set_static_calls_target_table(const Array& value) const;
+ RawArray* static_calls_target_table() const {
+ return raw_ptr()->static_calls_target_table_;
}
- void set_resolved_static_calls(const GrowableObjectArray& val) const;
+ // Returns null if there is no static call at 'pc'.
+ RawFunction* GetStaticCallTargetFunctionAt(uword pc) const;
+ // Aborts if there is no static call at 'pc'.
+ void SetStaticCallTargetCodeAt(uword pc, const Code& code) const;
+
class Comments : public ZoneAllocated {
public:
static Comments& New(intptr_t count);
« no previous file with comments | « runtime/vm/native_entry_test.cc ('k') | runtime/vm/object.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698