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

Unified Diff: src/compiler/instruction-selector.cc

Issue 2509623002: [turbofan] Sparse representation for state values (Closed)
Patch Set: Remove the optimized_out input entirely, return nullptr when iterating Created 4 years, 1 month 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/instruction-selector.cc
diff --git a/src/compiler/instruction-selector.cc b/src/compiler/instruction-selector.cc
index 8f899f3c8cb9b9549770281fbb5cac3cd67b8647..3333b643ea4f27e6b3e503f445177183c4cefc93 100644
--- a/src/compiler/instruction-selector.cc
+++ b/src/compiler/instruction-selector.cc
@@ -485,6 +485,13 @@ size_t AddOperandToStateValueDescriptor(StateValueDescriptor* descriptor,
StateObjectDeduplicator* deduplicator,
Node* input, MachineType type,
FrameStateInputKind kind, Zone* zone) {
+ if (input == nullptr) {
+ inputs->push_back(g->TempImmediate(FrameStateDescriptor::kImpossibleValue));
Jarin 2016/11/16 15:32:42 This should be the optimized_out value, no?
Leszek Swirski 2016/11/17 09:23:04 Yeah, I had a problem here that the jsgraph isn't
+ descriptor->fields().push_back(
+ StateValueDescriptor::Plain(zone, MachineType::None()));
Jarin 2016/11/16 15:32:42 MachineType::AnyTagged()
Leszek Swirski 2016/11/17 09:23:04 As above.
+ return 1;
+ }
+
switch (input->opcode()) {
case IrOpcode::kObjectState: {
UNREACHABLE();

Powered by Google App Engine
This is Rietveld 408576698