[turbofan] Use switch in ReduceJSCreateArguments
We can make sure we exhaustively test all CreateArgumentsTypes by using a switch rather than if-else. Change-Id: Id00094eeb4cb0af212f5c939314aec72a30a3ee0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2128054 Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#66919}
This commit is contained in:
parent
093019ee1a
commit
17967c0773
@ -256,10 +256,12 @@ Reduction JSCreateLowering::ReduceJSCreateArguments(Node* node) {
|
||||
}
|
||||
}
|
||||
UNREACHABLE();
|
||||
} else if (outer_state->opcode() == IrOpcode::kFrameState) {
|
||||
}
|
||||
// Use inline allocation for all mapped arguments objects within inlined
|
||||
// (i.e. non-outermost) frames, independent of the object size.
|
||||
if (type == CreateArgumentsType::kMappedArguments) {
|
||||
DCHECK_EQ(outer_state->opcode(), IrOpcode::kFrameState);
|
||||
switch (type) {
|
||||
case CreateArgumentsType::kMappedArguments: {
|
||||
Node* const callee = NodeProperties::GetValueInput(node, 0);
|
||||
Node* const context = NodeProperties::GetContextInput(node);
|
||||
Node* effect = NodeProperties::GetEffectInput(node);
|
||||
@ -300,7 +302,8 @@ Reduction JSCreateLowering::ReduceJSCreateArguments(Node* node) {
|
||||
RelaxControls(node);
|
||||
a.FinishAndChange(node);
|
||||
return Changed(node);
|
||||
} else if (type == CreateArgumentsType::kUnmappedArguments) {
|
||||
}
|
||||
case CreateArgumentsType::kUnmappedArguments: {
|
||||
// Use inline allocation for all unmapped arguments objects within inlined
|
||||
// (i.e. non-outermost) frames, independent of the object size.
|
||||
Node* effect = NodeProperties::GetEffectInput(node);
|
||||
@ -335,7 +338,8 @@ Reduction JSCreateLowering::ReduceJSCreateArguments(Node* node) {
|
||||
RelaxControls(node);
|
||||
a.FinishAndChange(node);
|
||||
return Changed(node);
|
||||
} else if (type == CreateArgumentsType::kRestParameter) {
|
||||
}
|
||||
case CreateArgumentsType::kRestParameter: {
|
||||
int start_index = shared.internal_formal_parameter_count();
|
||||
// Use inline allocation for all unmapped arguments objects within inlined
|
||||
// (i.e. non-outermost) frames, independent of the object size.
|
||||
@ -378,8 +382,7 @@ Reduction JSCreateLowering::ReduceJSCreateArguments(Node* node) {
|
||||
return Changed(node);
|
||||
}
|
||||
}
|
||||
|
||||
return NoChange();
|
||||
UNREACHABLE();
|
||||
}
|
||||
|
||||
Reduction JSCreateLowering::ReduceJSCreateGeneratorObject(Node* node) {
|
||||
|
Loading…
Reference in New Issue
Block a user