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

Unified Diff: src/compiler/simplified-operator.h

Issue 2797993006: [turbofan] Add type to the allocation operator. (Closed)
Patch Set: Rename Created 3 years, 8 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: src/compiler/simplified-operator.h
diff --git a/src/compiler/simplified-operator.h b/src/compiler/simplified-operator.h
index ed4f0cfe3dfd1b045e55db14296301f64d595956..532f56e2913028e4eb681d583f15bbd66fdbfada 100644
--- a/src/compiler/simplified-operator.h
+++ b/src/compiler/simplified-operator.h
@@ -245,8 +245,25 @@ NumberOperationHint NumberOperationHintOf(const Operator* op)
int FormalParameterCountOf(const Operator* op) WARN_UNUSED_RESULT;
bool IsRestLengthOf(const Operator* op) WARN_UNUSED_RESULT;
+struct AllocationParameters {
Benedikt Meurer 2017/04/06 12:08:05 Nit: AllocateParameters
Jarin 2017/04/06 15:11:29 Done.
+ Type* type;
Benedikt Meurer 2017/04/06 12:08:05 Can we please stick to classes here?
Jarin 2017/04/06 15:11:29 Done. Out of curiosity, what is the rationale beh
Benedikt Meurer 2017/04/06 17:22:28 I'd like to have some consistency. Switching to st
+ PretenureFlag pretenure;
+
+ AllocationParameters(Type* type, PretenureFlag pretenure)
+ : type(type), pretenure(pretenure) {}
+};
+
+size_t hash_value(AllocationParameters);
+
+V8_EXPORT_PRIVATE std::ostream& operator<<(std::ostream&, AllocationParameters);
+
+bool operator==(AllocationParameters const&, AllocationParameters const&);
+bool operator!=(AllocationParameters const&, AllocationParameters const&);
+
PretenureFlag PretenureFlagOf(const Operator* op) WARN_UNUSED_RESULT;
+Type* AllocateTypeOf(const Operator* op) WARN_UNUSED_RESULT;
+
UnicodeEncoding UnicodeEncodingOf(const Operator*) WARN_UNUSED_RESULT;
// Interface for building simplified operators, which represent the
@@ -442,7 +459,7 @@ class V8_EXPORT_PRIVATE SimplifiedOperatorBuilder final
// transition-elements-kind object, from-map, to-map
const Operator* TransitionElementsKind(ElementsTransition transition);
- const Operator* Allocate(PretenureFlag pretenure = NOT_TENURED);
+ const Operator* Allocate(Type* type, PretenureFlag pretenure = NOT_TENURED);
const Operator* LoadField(FieldAccess const&);
const Operator* StoreField(FieldAccess const&);

Powered by Google App Engine
This is Rietveld 408576698