Remove redundant extra default mask for function with N*32 parameters

This commit is contained in:
Mikhael Bogdanov
2017-11-30 15:26:33 +01:00
parent ef5c3512cd
commit 9365d1d859
@@ -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<Pair<ValueParameterDescriptor, IrExpression?>>()
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) {