Revert 'Temporary disable new intrinsics usage in ieee754 arithmetic'

This commit is contained in:
Mikhael Bogdanov
2017-02-07 17:13:48 +01:00
parent 80638ebc99
commit 5095ef1ea4
9 changed files with 30 additions and 42 deletions
@@ -3675,11 +3675,7 @@ public class ExpressionCodegen extends KtVisitor<StackValue, StackValue> impleme
if (left754Type != null && right754Type != null && left754Type.type.equals(right754Type.type)) {
//check nullability cause there is some optimizations in codegen for non-nullable case
if (left754Type.isNullable || right754Type.isNullable) {
// 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().getApiVersion().compareTo(ApiVersion.KOTLIN_1_1) >= 0) {
if (state.getLanguageVersionSettings().getApiVersion().compareTo(ApiVersion.KOTLIN_1_1) >= 0) {
return StackValue.operation(Type.BOOLEAN_TYPE, new Function1<InstructionAdapter, Unit>() {
@Override
public Unit invoke(InstructionAdapter v) {
@@ -24,8 +24,7 @@ fun box(): String {
return "OK"
}
/*
1 areEqual \(Ljava/lang/Double;Ljava/lang/Double;\)Z
1 areEqual \(DLjava/lang/Double;\)Z
1 areEqual \(Ljava/lang/Double;D\)Z
3 areEqual*/
// 1 areEqual \(Ljava/lang/Double;Ljava/lang/Double;\)Z
// 1 areEqual \(DLjava/lang/Double;\)Z
// 1 areEqual \(Ljava/lang/Double;D\)Z
// 3 areEqual
@@ -24,8 +24,7 @@ fun box(): String {
return "OK"
}
/*
1 areEqual \(Ljava/lang/Double;Ljava/lang/Double;\)Z
1 areEqual \(DLjava/lang/Double;\)Z
1 areEqual \(Ljava/lang/Double;D\)Z
3 areEqual*/
// 1 areEqual \(Ljava/lang/Double;Ljava/lang/Double;\)Z
// 1 areEqual \(DLjava/lang/Double;\)Z
// 1 areEqual \(Ljava/lang/Double;D\)Z
// 3 areEqual
@@ -24,8 +24,7 @@ fun box(): String {
return "OK"
}
/*
1 areEqual \(Ljava/lang/Float;Ljava/lang/Float;\)Z
1 areEqual \(FLjava/lang/Float;\)Z
1 areEqual \(Ljava/lang/Float;F\)Z
3 areEqual*/
// 1 areEqual \(Ljava/lang/Float;Ljava/lang/Float;\)Z
// 1 areEqual \(FLjava/lang/Float;\)Z
// 1 areEqual \(Ljava/lang/Float;F\)Z
// 3 areEqual
@@ -24,8 +24,7 @@ fun box(): String {
return "OK"
}
/*
1 areEqual \(Ljava/lang/Float;Ljava/lang/Float;\)Z
1 areEqual \(FLjava/lang/Float;\)Z
1 areEqual \(Ljava/lang/Float;F\)Z
3 areEqual*/
// 1 areEqual \(Ljava/lang/Float;Ljava/lang/Float;\)Z
// 1 areEqual \(FLjava/lang/Float;\)Z
// 1 areEqual \(Ljava/lang/Float;F\)Z
// 3 areEqual
@@ -17,8 +17,7 @@ fun box(): String {
return "OK"
}
/*
1 areEqual \(Ljava/lang/Double;Ljava/lang/Double;\)Z
1 areEqual \(DLjava/lang/Double;\)Z
1 areEqual \(Ljava/lang/Double;D\)Z
3 areEqual*/
// 1 areEqual \(Ljava/lang/Double;Ljava/lang/Double;\)Z
// 1 areEqual \(DLjava/lang/Double;\)Z
// 1 areEqual \(Ljava/lang/Double;D\)Z
// 3 areEqual
@@ -17,8 +17,7 @@ fun box(): String {
return "OK"
}
/*
1 areEqual \(Ljava/lang/Float;Ljava/lang/Float;\)Z
1 areEqual \(FLjava/lang/Float;\)Z
1 areEqual \(Ljava/lang/Float;F\)Z
3 areEqual*/
// 1 areEqual \(Ljava/lang/Float;Ljava/lang/Float;\)Z
// 1 areEqual \(FLjava/lang/Float;\)Z
// 1 areEqual \(Ljava/lang/Float;F\)Z
// 3 areEqual
+2 -3
View File
@@ -27,6 +27,5 @@ fun box(): String {
return "OK"
}
/*
2 areEqual \(DLjava/lang/Double;\)Z
2 areEqual*/
// 2 areEqual \(DLjava/lang/Double;\)Z
// 2 areEqual
@@ -26,7 +26,6 @@ fun box(): String {
return "OK"
}
/*
2 areEqual \(Ljava/lang/Double;Ljava/lang/Double;\)Z
2 areEqual \(Ljava/lang/Double;D\)Z
4 areEqual*/
// 2 areEqual \(Ljava/lang/Double;Ljava/lang/Double;\)Z
// 2 areEqual \(Ljava/lang/Double;D\)Z
// 4 areEqual