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

Unified Diff: src/compiler/simplified-lowering.cc

Issue 2692753004: [turbofan] escape analysis supports arguments object and rest elements (Closed)
Patch Set: handle the case where Deoptimizer::function_ is a Smi Created 3 years, 10 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/opcodes.h ('k') | src/compiler/simplified-operator.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/compiler/simplified-lowering.cc
diff --git a/src/compiler/simplified-lowering.cc b/src/compiler/simplified-lowering.cc
index 4acc77f22f3668fcee5dc4e7d911a2b853709bba..282a87a57ce59b7c8fdcb00c6631e23f7751151a 100644
--- a/src/compiler/simplified-lowering.cc
+++ b/src/compiler/simplified-lowering.cc
@@ -2570,10 +2570,18 @@ class RepresentationSelector {
VisitObjectIs(node, Type::Undetectable(), lowering);
return;
}
- case IrOpcode::kNewRestParameterElements:
+ case IrOpcode::kArgumentsFrame: {
+ SetOutput(node, MachineType::PointerRepresentation());
+ return;
+ }
+ case IrOpcode::kArgumentsLength: {
+ VisitUnop(node, UseInfo::PointerInt(),
+ MachineRepresentation::kTaggedSigned);
+ return;
+ }
case IrOpcode::kNewUnmappedArgumentsElements: {
- ProcessRemainingInputs(node, 0);
- SetOutput(node, MachineRepresentation::kTaggedPointer);
+ VisitBinop(node, UseInfo::PointerInt(), UseInfo::TaggedSigned(),
+ MachineRepresentation::kTaggedPointer);
return;
}
case IrOpcode::kArrayBufferWasNeutered: {
@@ -2687,7 +2695,7 @@ class RepresentationSelector {
case IrOpcode::kBeginRegion:
case IrOpcode::kProjection:
case IrOpcode::kOsrValue:
- case IrOpcode::kArgumentsObjectState:
+ case IrOpcode::kArgumentsElementsState:
// All JavaScript operators except JSToNumber have uniform handling.
#define OPCODE_CASE(name) case IrOpcode::k##name:
JS_SIMPLE_BINOP_LIST(OPCODE_CASE)
« no previous file with comments | « src/compiler/opcodes.h ('k') | src/compiler/simplified-operator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698