Index: src/full-codegen/arm64/full-codegen-arm64.cc |
diff --git a/src/full-codegen/arm64/full-codegen-arm64.cc b/src/full-codegen/arm64/full-codegen-arm64.cc |
index 2cd262418303724f5242ffbf51d4870261a382a1..da7f8a5d23044cca562df22e672d80a662a10fcd 100644 |
--- a/src/full-codegen/arm64/full-codegen-arm64.cc |
+++ b/src/full-codegen/arm64/full-codegen-arm64.cc |
@@ -800,17 +800,9 @@ void FullCodeGenerator::VisitVariableDeclaration( |
__ Mov(x2, Operand(variable->name())); |
// Declaration nodes are always introduced in one of four modes. |
DCHECK(IsDeclaredVariableMode(mode)); |
- // Push initial value, if any. |
- // Note: For variables we must not push an initial value (such as |
- // 'undefined') because we may have a (legal) redeclaration and we |
- // must not destroy the current value. |
- if (hole_init) { |
- __ LoadRoot(x0, Heap::kTheHoleValueRootIndex); |
- __ Push(x2, x0); |
- } else { |
- // Pushing 0 (xzr) indicates no initial value. |
- __ Push(x2, xzr); |
- } |
+ DCHECK(!hole_init); |
+ // Pushing 0 (xzr) indicates no initial value. |
+ __ Push(x2, xzr); |
__ Push(Smi::FromInt(variable->DeclarationPropertyAttributes())); |
__ CallRuntime(Runtime::kDeclareLookupSlot); |
PrepareForBailoutForId(proxy->id(), BailoutState::NO_REGISTERS); |