Temporary disable new intrinsics usage in ieee754 arithmetic
This commit is contained in:
@@ -3652,7 +3652,11 @@ public class ExpressionCodegen extends KtVisitor<StackValue, StackValue> impleme
|
|||||||
if (left754Type != null && right754Type != null && left754Type.type.equals(right754Type.type)) {
|
if (left754Type != null && right754Type != null && left754Type.type.equals(right754Type.type)) {
|
||||||
//check nullability cause there is some optimizations in codegen for non-nullable case
|
//check nullability cause there is some optimizations in codegen for non-nullable case
|
||||||
if (left754Type.isNullable || right754Type.isNullable) {
|
if (left754Type.isNullable || right754Type.isNullable) {
|
||||||
if (state.getLanguageVersionSettings().getLanguageVersion() != LanguageVersion.KOTLIN_1_0 &&
|
// Using Intrinsics.areEqual is preferable here, but will result in NoSuchMethodError at runtime if the runtime
|
||||||
|
// of version 1.0 is used and the user forgot to explicitly specify language version / API version.
|
||||||
|
// This should be enabled when/if we decide to drop support for "-language-version 1.0" / "-api-version 1.0"
|
||||||
|
//noinspection ConstantConditions, PointlessBooleanExpression
|
||||||
|
if (false && state.getLanguageVersionSettings().getLanguageVersion() != LanguageVersion.KOTLIN_1_0 &&
|
||||||
state.getLanguageVersionSettings().getApiVersion().compareTo(apiVersion1_1) >= 0) {
|
state.getLanguageVersionSettings().getApiVersion().compareTo(apiVersion1_1) >= 0) {
|
||||||
return StackValue.operation(Type.BOOLEAN_TYPE, new Function1<InstructionAdapter, Unit>() {
|
return StackValue.operation(Type.BOOLEAN_TYPE, new Function1<InstructionAdapter, Unit>() {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ fun box(): String {
|
|||||||
return "OK"
|
return "OK"
|
||||||
}
|
}
|
||||||
|
|
||||||
// 1 areEqual \(Ljava/lang/Double;Ljava/lang/Double;\)Z
|
/*
|
||||||
// 1 areEqual \(DLjava/lang/Double;\)Z
|
1 areEqual \(Ljava/lang/Double;Ljava/lang/Double;\)Z
|
||||||
// 1 areEqual \(Ljava/lang/Double;D\)Z
|
1 areEqual \(DLjava/lang/Double;\)Z
|
||||||
// 3 areEqual
|
1 areEqual \(Ljava/lang/Double;D\)Z
|
||||||
|
3 areEqual*/
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ fun box(): String {
|
|||||||
return "OK"
|
return "OK"
|
||||||
}
|
}
|
||||||
|
|
||||||
// 1 areEqual \(Ljava/lang/Double;Ljava/lang/Double;\)Z
|
/*
|
||||||
// 1 areEqual \(DLjava/lang/Double;\)Z
|
1 areEqual \(Ljava/lang/Double;Ljava/lang/Double;\)Z
|
||||||
// 1 areEqual \(Ljava/lang/Double;D\)Z
|
1 areEqual \(DLjava/lang/Double;\)Z
|
||||||
// 3 areEqual
|
1 areEqual \(Ljava/lang/Double;D\)Z
|
||||||
|
3 areEqual*/
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ fun box(): String {
|
|||||||
return "OK"
|
return "OK"
|
||||||
}
|
}
|
||||||
|
|
||||||
// 1 areEqual \(Ljava/lang/Float;Ljava/lang/Float;\)Z
|
/*
|
||||||
// 1 areEqual \(FLjava/lang/Float;\)Z
|
1 areEqual \(Ljava/lang/Float;Ljava/lang/Float;\)Z
|
||||||
// 1 areEqual \(Ljava/lang/Float;F\)Z
|
1 areEqual \(FLjava/lang/Float;\)Z
|
||||||
// 3 areEqual
|
1 areEqual \(Ljava/lang/Float;F\)Z
|
||||||
|
3 areEqual*/
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ fun box(): String {
|
|||||||
return "OK"
|
return "OK"
|
||||||
}
|
}
|
||||||
|
|
||||||
// 1 areEqual \(Ljava/lang/Float;Ljava/lang/Float;\)Z
|
/*
|
||||||
// 1 areEqual \(FLjava/lang/Float;\)Z
|
1 areEqual \(Ljava/lang/Float;Ljava/lang/Float;\)Z
|
||||||
// 1 areEqual \(Ljava/lang/Float;F\)Z
|
1 areEqual \(FLjava/lang/Float;\)Z
|
||||||
// 3 areEqual
|
1 areEqual \(Ljava/lang/Float;F\)Z
|
||||||
|
3 areEqual*/
|
||||||
|
|||||||
@@ -17,7 +17,8 @@ fun box(): String {
|
|||||||
return "OK"
|
return "OK"
|
||||||
}
|
}
|
||||||
|
|
||||||
// 1 areEqual \(Ljava/lang/Double;Ljava/lang/Double;\)Z
|
/*
|
||||||
// 1 areEqual \(DLjava/lang/Double;\)Z
|
1 areEqual \(Ljava/lang/Double;Ljava/lang/Double;\)Z
|
||||||
// 1 areEqual \(Ljava/lang/Double;D\)Z
|
1 areEqual \(DLjava/lang/Double;\)Z
|
||||||
// 3 areEqual
|
1 areEqual \(Ljava/lang/Double;D\)Z
|
||||||
|
3 areEqual*/
|
||||||
|
|||||||
@@ -17,7 +17,8 @@ fun box(): String {
|
|||||||
return "OK"
|
return "OK"
|
||||||
}
|
}
|
||||||
|
|
||||||
// 1 areEqual \(Ljava/lang/Float;Ljava/lang/Float;\)Z
|
/*
|
||||||
// 1 areEqual \(FLjava/lang/Float;\)Z
|
1 areEqual \(Ljava/lang/Float;Ljava/lang/Float;\)Z
|
||||||
// 1 areEqual \(Ljava/lang/Float;F\)Z
|
1 areEqual \(FLjava/lang/Float;\)Z
|
||||||
// 3 areEqual
|
1 areEqual \(Ljava/lang/Float;F\)Z
|
||||||
|
3 areEqual*/
|
||||||
|
|||||||
+3
-2
@@ -27,5 +27,6 @@ fun box(): String {
|
|||||||
return "OK"
|
return "OK"
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2 areEqual \(DLjava/lang/Double;\)Z
|
/*
|
||||||
// 2 areEqual
|
2 areEqual \(DLjava/lang/Double;\)Z
|
||||||
|
2 areEqual*/
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ fun box(): String {
|
|||||||
return "OK"
|
return "OK"
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2 areEqual \(Ljava/lang/Double;Ljava/lang/Double;\)Z
|
/*
|
||||||
// 2 areEqual \(Ljava/lang/Double;D\)Z
|
2 areEqual \(Ljava/lang/Double;Ljava/lang/Double;\)Z
|
||||||
// 4 areEqual
|
2 areEqual \(Ljava/lang/Double;D\)Z
|
||||||
|
4 areEqual*/
|
||||||
|
|||||||
Reference in New Issue
Block a user