Skip to content

Commit e79a2bd

Browse files
mitu2mp911de
authored andcommitted
Remove branching overhead in BytecodeUtil by replacing if with else if.
Closes #3168
1 parent 3c625ca commit e79a2bd

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

Diff for: src/main/java/org/springframework/data/mapping/model/BytecodeUtil.java

+19-19
Original file line numberDiff line numberDiff line change
@@ -90,63 +90,63 @@ static void autoboxIfNeeded(Class<?> in, Class<?> out, MethodVisitor visitor) {
9090
visitor.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Boolean", "booleanValue", "()Z", false);
9191
}
9292

93-
if (in.equals(Boolean.TYPE) && out.equals(Boolean.class)) {
93+
else if (in.equals(Boolean.TYPE) && out.equals(Boolean.class)) {
9494
visitor.visitMethodInsn(INVOKESTATIC, "java/lang/Boolean", "valueOf", "(Z)Ljava/lang/Boolean;", false);
9595
}
9696

97-
if (in.equals(Byte.class) && out.equals(Byte.TYPE)) {
97+
else if (in.equals(Byte.class) && out.equals(Byte.TYPE)) {
9898
visitor.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Byte", "byteValue", "()B", false);
9999
}
100100

101-
if (in.equals(Byte.TYPE) && out.equals(Byte.class)) {
101+
else if (in.equals(Byte.TYPE) && out.equals(Byte.class)) {
102102
visitor.visitMethodInsn(INVOKESTATIC, "java/lang/Byte", "valueOf", "(B)Ljava/lang/Byte;", false);
103103
}
104104

105-
if (in.equals(Character.class) && out.equals(Character.TYPE)) {
105+
else if (in.equals(Character.class) && out.equals(Character.TYPE)) {
106106
visitor.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Character", "charValue", "()C", false);
107107
}
108108

109-
if (in.equals(Character.TYPE) && out.equals(Character.class)) {
109+
else if (in.equals(Character.TYPE) && out.equals(Character.class)) {
110110
visitor.visitMethodInsn(INVOKESTATIC, "java/lang/Character", "valueOf", "(C)Ljava/lang/Character;", false);
111111
}
112112

113-
if (in.equals(Double.class) && out.equals(Double.TYPE)) {
113+
else if (in.equals(Double.class) && out.equals(Double.TYPE)) {
114114
visitor.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Double", "doubleValue", "()D", false);
115115
}
116116

117-
if (in.equals(Double.TYPE) && out.equals(Double.class)) {
117+
else if (in.equals(Double.TYPE) && out.equals(Double.class)) {
118118
visitor.visitMethodInsn(INVOKESTATIC, "java/lang/Double", "valueOf", "(D)Ljava/lang/Double;", false);
119119
}
120120

121-
if (in.equals(Float.class) && out.equals(Float.TYPE)) {
121+
else if (in.equals(Float.class) && out.equals(Float.TYPE)) {
122122
visitor.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Float", "floatValue", "()F", false);
123123
}
124124

125-
if (in.equals(Float.TYPE) && out.equals(Float.class)) {
125+
else if (in.equals(Float.TYPE) && out.equals(Float.class)) {
126126
visitor.visitMethodInsn(INVOKESTATIC, "java/lang/Float", "valueOf", "(F)Ljava/lang/Float;", false);
127127
}
128128

129-
if (in.equals(Integer.class) && out.equals(Integer.TYPE)) {
129+
else if (in.equals(Integer.class) && out.equals(Integer.TYPE)) {
130130
visitor.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Integer", "intValue", "()I", false);
131131
}
132132

133-
if (in.equals(Integer.TYPE) && out.equals(Integer.class)) {
133+
else if (in.equals(Integer.TYPE) && out.equals(Integer.class)) {
134134
visitor.visitMethodInsn(INVOKESTATIC, "java/lang/Integer", "valueOf", "(I)Ljava/lang/Integer;", false);
135135
}
136136

137-
if (in.equals(Long.class) && out.equals(Long.TYPE)) {
137+
else if (in.equals(Long.class) && out.equals(Long.TYPE)) {
138138
visitor.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Long", "longValue", "()J", false);
139139
}
140140

141-
if (in.equals(Long.TYPE) && out.equals(Long.class)) {
141+
else if (in.equals(Long.TYPE) && out.equals(Long.class)) {
142142
visitor.visitMethodInsn(INVOKESTATIC, "java/lang/Long", "valueOf", "(J)Ljava/lang/Long;", false);
143143
}
144144

145-
if (in.equals(Short.class) && out.equals(Short.TYPE)) {
145+
else if (in.equals(Short.class) && out.equals(Short.TYPE)) {
146146
visitor.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Short", "shortValue", "()S", false);
147147
}
148148

149-
if (in.equals(Short.TYPE) && out.equals(Short.class)) {
149+
else if (in.equals(Short.TYPE) && out.equals(Short.class)) {
150150
visitor.visitMethodInsn(INVOKESTATIC, "java/lang/Short", "valueOf", "(S)Ljava/lang/Short;", false);
151151
}
152152
}
@@ -267,19 +267,19 @@ static void visitDefaultValue(Class<?> parameterType, MethodVisitor mv) {
267267
mv.visitInsn(Opcodes.ICONST_0);
268268
}
269269

270-
if (parameterType == Long.TYPE) {
270+
else if (parameterType == Long.TYPE) {
271271
mv.visitInsn(Opcodes.LCONST_0);
272272
}
273273

274-
if (parameterType == Double.TYPE) {
274+
else if (parameterType == Double.TYPE) {
275275
mv.visitInsn(Opcodes.DCONST_0);
276276
}
277277

278-
if (parameterType == Float.TYPE) {
278+
else if (parameterType == Float.TYPE) {
279279
mv.visitInsn(Opcodes.FCONST_0);
280280
}
281281

282-
if (parameterType == Character.TYPE || parameterType == Byte.TYPE) {
282+
else if (parameterType == Character.TYPE || parameterType == Byte.TYPE) {
283283
mv.visitIntInsn(Opcodes.BIPUSH, 0);
284284
}
285285
} else {

0 commit comments

Comments
 (0)