From 9365d1d8593156a1236ab27297e10bcc822defdf Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Thu, 30 Nov 2017 15:26:33 +0100 Subject: [PATCH] Remove redundant extra default mask for function with N*32 parameters --- .../backend/common/lower/DefaultArgumentStubGenerator.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/DefaultArgumentStubGenerator.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/DefaultArgumentStubGenerator.kt index d4b6fa1ea28..87d7f02b727 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/DefaultArgumentStubGenerator.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/DefaultArgumentStubGenerator.kt @@ -293,7 +293,7 @@ class DefaultParameterInjector constructor(val context: CommonBackendContext): B val realDescriptor = realFunction.descriptor log { "$descriptor -> $realDescriptor" } - val maskValues = Array(descriptor.valueParameters.size / 32 + 1, {0}) + val maskValues = Array((descriptor.valueParameters.size + 31) / 32, {0}) val params = mutableListOf>() params.addAll(descriptor.valueParameters.mapIndexed { i, _ -> val valueArgument = expression.getValueArgument(i) @@ -362,7 +362,7 @@ private fun FunctionDescriptor.generateDefaultsFunction(context: CommonBackendCo } } - val syntheticParameters = MutableList(valueParameters.size / 32 + 1) { i -> + val syntheticParameters = MutableList((valueParameters.size + 31) / 32) { i -> valueParameter(descriptor, valueParameters.size + i, parameterMaskName(i), descriptor.builtIns.intType) } if (this is ClassConstructorDescriptor) {