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

Unified Diff: src/objects.h

Issue 2419513002: [ic] Support data handlers that represent loads from prototypes. (Closed)
Patch Set: Created 4 years, 2 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
« src/ic/ic.cc ('K') | « src/ic/ic-inl.h ('k') | src/objects-debug.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 eb8416d45fada5a573553837ee741f9be8bc545c..3d92e6d7122ce9cc48389d561f46e54ce2a03afe 100644
--- a/src/objects.h
+++ b/src/objects.h
@@ -400,6 +400,7 @@ const int kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1;
V(BOX_TYPE) \
V(PROMISE_CONTAINER_TYPE) \
V(PROTOTYPE_INFO_TYPE) \
+ V(TUPLE3_TYPE) \
V(CONTEXT_EXTENSION_TYPE) \
V(MODULE_TYPE) \
\
@@ -521,6 +522,7 @@ const int kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1;
V(DEBUG_INFO, DebugInfo, debug_info) \
V(BREAK_POINT_INFO, BreakPointInfo, break_point_info) \
V(PROTOTYPE_INFO, PrototypeInfo, prototype_info) \
+ V(TUPLE3, Tuple3, tuple3) \
V(MODULE, Module, module) \
V(CONTEXT_EXTENSION, ContextExtension, context_extension)
@@ -697,6 +699,7 @@ enum InstanceType {
TRANSITION_ARRAY_TYPE,
PROPERTY_CELL_TYPE,
PROTOTYPE_INFO_TYPE,
+ TUPLE3_TYPE,
CONTEXT_EXTENSION_TYPE,
MODULE_TYPE,
@@ -6782,6 +6785,26 @@ class PrototypeInfo : public Struct {
DISALLOW_IMPLICIT_CONSTRUCTORS(PrototypeInfo);
};
+class Tuple3 : public Struct {
Jakob Kummerow 2016/10/13 11:59:26 I would have called it Triple (and the values mayb
Igor Sheludko 2016/10/13 13:20:38 Let's keep it in a form TupleX because it scales (
+ public:
+ DECL_ACCESSORS(value1, Object)
+ DECL_ACCESSORS(value2, Object)
+ DECL_ACCESSORS(value3, Object)
+
+ DECLARE_CAST(Tuple3)
+
+ // Dispatched behavior.
+ DECLARE_PRINTER(Tuple3)
+ DECLARE_VERIFIER(Tuple3)
+
+ static const int kValue1Offset = HeapObject::kHeaderSize;
+ static const int kValue2Offset = kValue1Offset + kPointerSize;
+ static const int kValue3Offset = kValue2Offset + kPointerSize;
+ static const int kSize = kValue3Offset + kPointerSize;
+
+ private:
+ DISALLOW_IMPLICIT_CONSTRUCTORS(Tuple3);
+};
// Pair used to store both a ScopeInfo and an extension object in the extension
// slot of a block, catch, or with context. Needed in the rare case where a
« src/ic/ic.cc ('K') | « src/ic/ic-inl.h ('k') | src/objects-debug.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698