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

Unified Diff: src/compiler/js-operator.cc

Issue 1175503002: Turbofan: Make type feedback vector a Node. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: REBASE. Created 5 years, 6 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/compiler/js-operator.h ('k') | src/compiler/js-typed-lowering.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/compiler/js-operator.cc
diff --git a/src/compiler/js-operator.cc b/src/compiler/js-operator.cc
index a360a279acb29116f8a6c4df027c8b162134268b..83bf5573811841044b7d9ff3386435b97641c8f3 100644
--- a/src/compiler/js-operator.cc
+++ b/src/compiler/js-operator.cc
@@ -93,7 +93,7 @@ ContextAccess const& ContextAccessOf(Operator const* op) {
DynamicGlobalAccess::DynamicGlobalAccess(const Handle<String>& name,
uint32_t check_bitset,
- const VectorSlotPair& feedback,
+ const ResolvedFeedbackSlot& feedback,
ContextualMode mode)
: name_(name),
check_bitset_(check_bitset),
@@ -175,14 +175,13 @@ DynamicContextAccess const& DynamicContextAccessOf(Operator const* op) {
}
-bool operator==(VectorSlotPair const& lhs, VectorSlotPair const& rhs) {
- return lhs.slot().ToInt() == rhs.slot().ToInt() &&
- lhs.vector().is_identical_to(rhs.vector());
+bool operator==(ResolvedFeedbackSlot const& lhs,
+ ResolvedFeedbackSlot const& rhs) {
+ return lhs.slot().ToInt() == rhs.slot().ToInt();
}
-size_t hash_value(VectorSlotPair const& p) {
- // TODO(mvstanton): include the vector in the hash.
+size_t hash_value(ResolvedFeedbackSlot const& p) {
base::hash<int> h;
return h(p.slot().ToInt());
}
@@ -458,25 +457,25 @@ const Operator* JSOperatorBuilder::CallConstruct(int arguments) {
}
-const Operator* JSOperatorBuilder::LoadNamed(const Unique<Name>& name,
- const VectorSlotPair& feedback,
- ContextualMode contextual_mode) {
+const Operator* JSOperatorBuilder::LoadNamed(
+ const Unique<Name>& name, const ResolvedFeedbackSlot& feedback,
+ ContextualMode contextual_mode) {
LoadNamedParameters parameters(name, feedback, contextual_mode);
return new (zone()) Operator1<LoadNamedParameters>( // --
IrOpcode::kJSLoadNamed, Operator::kNoProperties, // opcode
"JSLoadNamed", // name
- 1, 1, 1, 1, 1, 2, // counts
+ 2, 1, 1, 1, 1, 2, // counts
parameters); // parameter
}
const Operator* JSOperatorBuilder::LoadProperty(
- const VectorSlotPair& feedback) {
+ const ResolvedFeedbackSlot& feedback) {
LoadPropertyParameters parameters(feedback);
return new (zone()) Operator1<LoadPropertyParameters>( // --
IrOpcode::kJSLoadProperty, Operator::kNoProperties, // opcode
"JSLoadProperty", // name
- 2, 1, 1, 1, 1, 2, // counts
+ 3, 1, 1, 1, 1, 2, // counts
parameters); // parameter
}
@@ -526,12 +525,12 @@ const Operator* JSOperatorBuilder::StoreContext(size_t depth, size_t index) {
const Operator* JSOperatorBuilder::LoadDynamicGlobal(
const Handle<String>& name, uint32_t check_bitset,
- const VectorSlotPair& feedback, ContextualMode mode) {
+ const ResolvedFeedbackSlot& feedback, ContextualMode mode) {
DynamicGlobalAccess access(name, check_bitset, feedback, mode);
return new (zone()) Operator1<DynamicGlobalAccess>( // --
IrOpcode::kJSLoadDynamicGlobal, Operator::kNoProperties, // opcode
"JSLoadDynamicGlobal", // name
- 1, 1, 1, 1, 1, 2, // counts
+ 2, 1, 1, 1, 1, 2, // counts
access); // parameter
}
« no previous file with comments | « src/compiler/js-operator.h ('k') | src/compiler/js-typed-lowering.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698