JVM: Avoid areEquals and checkNotNull calls in merge operatoins
diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/nullCheck/NullabilityInterpreter.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/nullCheck/NullabilityInterpreter.kt
index c76674c..13dc29e 100644
--- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/nullCheck/NullabilityInterpreter.kt
+++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/nullCheck/NullabilityInterpreter.kt
@@ -95,20 +95,20 @@
     }
 
     override fun merge(v: BasicValue, w: BasicValue): BasicValue =
-        when(v) {
-            NullBasicValue -> if (w === NullBasicValue) NullBasicValue else StrictBasicValue.REFERENCE_VALUE
+        when {
+            v === NullBasicValue -> if (w === NullBasicValue) NullBasicValue else StrictBasicValue.REFERENCE_VALUE
 
-            is ProgressionIteratorBasicValue -> when (w) {
+            v is ProgressionIteratorBasicValue -> when (w) {
                 is ProgressionIteratorBasicValue -> mergeNotNullValuesOfSameKind(v, w)
                 is NotNullBasicValue -> NotNullBasicValue.NOT_NULL_REFERENCE_VALUE
                 else -> super.merge(v, w)
             }
-            is NotNullBasicValue -> when(w) {
+            v is NotNullBasicValue -> when (w) {
                 is ProgressionIteratorBasicValue -> NotNullBasicValue.NOT_NULL_REFERENCE_VALUE
                 is NotNullBasicValue -> mergeNotNullValuesOfSameKind(v, w)
                 else -> super.merge(v, w)
             }
-            else -> if (w === NullBasicValue)  StrictBasicValue.REFERENCE_VALUE else super.merge(v, w)
+            else -> if (w === NullBasicValue) StrictBasicValue.REFERENCE_VALUE else super.merge(v, w)
         }
 
     private fun mergeNotNullValuesOfSameKind(v: StrictBasicValue, w: StrictBasicValue) =