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

Unified Diff: src/objects.h

Issue 24714004: Thumb2 Backend: Update Code objects with mode, separate Assembler methods for Thumb2 Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 3 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 | « src/assembler.cc ('k') | src/objects.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/objects.h
diff --git a/src/objects.h b/src/objects.h
index d3593b6edce9003f38fbceee97d72c503bb47368..51c37082a78c11db58bc74e7eef68b03a1bced4a 100644
--- a/src/objects.h
+++ b/src/objects.h
@@ -4929,6 +4929,8 @@ class Code: public HeapObject {
inline bool is_pregenerated();
inline void set_is_pregenerated(bool value);
+ inline bool is_thumb_mode();
+
// [optimizable]: For FUNCTION kind, tells if it is optimizable.
inline bool optimizable();
inline void set_optimizable(bool value);
@@ -5046,6 +5048,8 @@ class Code: public HeapObject {
return ExtraICStateStubHolder::encode(stub_holder);
}
+ static inline Flags SetThumbModeInFlags(Flags flag);
+
// Flags operations.
static inline Flags ComputeFlags(
Kind kind,
@@ -5053,7 +5057,8 @@ class Code: public HeapObject {
ExtraICState extra_ic_state = kNoExtraICState,
StubType type = NORMAL,
int argc = -1,
- InlineCacheHolderFlag holder = OWN_MAP);
+ InlineCacheHolderFlag holder = OWN_MAP,
+ bool thumb_mode = false);
static inline Flags ComputeMonomorphicFlags(
Kind kind,
@@ -5216,9 +5221,10 @@ class Code: public HeapObject {
class CacheHolderField: public BitField<InlineCacheHolderFlag, 6, 1> {};
class KindField: public BitField<Kind, 7, 4> {};
class IsPregeneratedField: public BitField<bool, 11, 1> {};
- class ExtraICStateField: public BitField<ExtraICState, 12, 5> {};
- class ExtendedExtraICStateField: public BitField<ExtraICState, 12,
- PlatformSmiTagging::kSmiValueSize - 12 + 1> {}; // NOLINT
+ class IsThumbModeField: public BitField<bool, 12, 1> {};
+ class ExtraICStateField: public BitField<ExtraICState, 13, 5> {};
+ class ExtendedExtraICStateField: public BitField<ExtraICState, 13,
+ PlatformSmiTagging::kSmiValueSize - 13 + 1> {}; // NOLINT
STATIC_ASSERT(ExtraICStateField::kShift == ExtendedExtraICStateField::kShift);
// KindSpecificFlags1 layout (STUB and OPTIMIZED_FUNCTION)
@@ -5274,7 +5280,7 @@ class Code: public HeapObject {
kIsCrankshaftedBit + 1 + 29, 1> {}; // NOLINT
// Signed field cannot be encoded using the BitField class.
- static const int kArgumentsCountShift = 17;
+ static const int kArgumentsCountShift = 18;
static const int kArgumentsCountMask = ~((1 << kArgumentsCountShift) - 1);
static const int kArgumentsBits =
PlatformSmiTagging::kSmiValueSize - Code::kArgumentsCountShift + 1;
« no previous file with comments | « src/assembler.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698