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

Unified Diff: runtime/vm/object.h

Issue 21363003: Enables per-function far-branches for ARM and MIPS. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 5 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
===================================================================
--- runtime/vm/object.h (revision 25620)
+++ runtime/vm/object.h (working copy)
@@ -1635,6 +1635,11 @@
}
void set_is_intrinsic(bool value) const;
+ bool needs_far_branches() const {
+ return FarBranchesBit::decode(raw_ptr()->kind_tag_);
+ }
+ void set_needs_far_branches(bool value) const;
+
bool HasOptimizedCode() const;
// Returns true if the argument counts are valid for calling this function.
@@ -1787,7 +1792,8 @@
kExternalBit = 7,
kVisibleBit = 8,
kIntrinsicBit = 9,
- kKindTagBit = 10,
+ kNeedsFarBranchesBit = 10,
+ kKindTagBit = 11,
kKindTagSize = 4,
};
class StaticBit : public BitField<bool, kStaticBit, 1> {};
@@ -1800,6 +1806,7 @@
class ExternalBit : public BitField<bool, kExternalBit, 1> {};
class VisibleBit : public BitField<bool, kVisibleBit, 1> {};
class IntrinsicBit : public BitField<bool, kIntrinsicBit, 1> {};
+ class FarBranchesBit : public BitField<bool, kNeedsFarBranchesBit, 1> {};
class KindBits :
public BitField<RawFunction::Kind, kKindTagBit, kKindTagSize> {}; // NOLINT
« runtime/vm/compiler.cc ('K') | « runtime/vm/compiler.cc ('k') | runtime/vm/object.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698