| Index: src/interpreter/mkpeephole.cc
|
| diff --git a/src/interpreter/mkpeephole.cc b/src/interpreter/mkpeephole.cc
|
| index d89390d45d125f9ca2d6dfaf619ce911794bdcb6..87678e06dff2825e06de5c7f907956ae08fc0d6a 100644
|
| --- a/src/interpreter/mkpeephole.cc
|
| +++ b/src/interpreter/mkpeephole.cc
|
| @@ -106,13 +106,14 @@ PeepholeActionAndData PeepholeActionTableWriter::LookupActionAndData(
|
| }
|
| }
|
|
|
| - // ToName optimizations: remove unnecessary ToName bytecodes.
|
| + // ToName bytecodes can be replaced by Star with the same output register if
|
| + // the value in the accumulator is already a name.
|
| if (current == Bytecode::kToName) {
|
| if (last == Bytecode::kLdaConstant) {
|
| - return {PeepholeAction::kElideCurrentIfLoadingNameConstantAction,
|
| + return {PeepholeAction::kTransformToStarIfLoadingNameConstantAction,
|
| Bytecode::kIllegal};
|
| } else if (Bytecodes::PutsNameInAccumulator(last)) {
|
| - return {PeepholeAction::kElideCurrentAction, Bytecode::kIllegal};
|
| + return {PeepholeAction::kChangeBytecodeAction, Bytecode::kStar};
|
| }
|
| }
|
|
|
|
|