micro code cleaning

This commit is contained in:
Alex Tkachman
2011-09-04 08:55:06 +02:00
parent 9ba167ee8d
commit e862e8471a
5 changed files with 19 additions and 19 deletions
@@ -59,7 +59,7 @@ public class ClassCodegen {
v.anew(JetTypeMapper.TYPE_TYPEINFO); v.anew(JetTypeMapper.TYPE_TYPEINFO);
v.dup(); v.dup();
v.aconst(asmType); v.aconst(asmType);
v.aconst(isNullable); v.iconst(isNullable?1:0);
v.invokespecial("jet/typeinfo/TypeInfo", "<init>", "(Ljava/lang/Class;Z)V"); v.invokespecial("jet/typeinfo/TypeInfo", "<init>", "(Ljava/lang/Class;Z)V");
} }
} }
@@ -395,7 +395,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> {
v.arraylength(); v.arraylength();
v.store(myLengthVar, Type.INT_TYPE); v.store(myLengthVar, Type.INT_TYPE);
myIndexVar = myMap.enterTemp(); myIndexVar = myMap.enterTemp();
v.aconst(0); v.iconst(0);
v.store(myIndexVar, Type.INT_TYPE); v.store(myIndexVar, Type.INT_TYPE);
} }
@@ -1178,7 +1178,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> {
Label end = new Label(); Label end = new Label();
v.goTo(end); v.goTo(end);
v.mark(ifFalse); v.mark(ifFalse);
v.aconst(false); v.iconst(0);
v.mark(end); v.mark(end);
return StackValue.onStack(Type.BOOLEAN_TYPE); return StackValue.onStack(Type.BOOLEAN_TYPE);
} }
@@ -1191,7 +1191,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> {
Label end = new Label(); Label end = new Label();
v.goTo(end); v.goTo(end);
v.mark(ifTrue); v.mark(ifTrue);
v.aconst(true); v.iconst(1);
v.mark(end); v.mark(end);
return StackValue.onStack(Type.BOOLEAN_TYPE); return StackValue.onStack(Type.BOOLEAN_TYPE);
} }
@@ -1243,11 +1243,11 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> {
v.ifnull(bothNull); v.ifnull(bothNull);
v.mark(leftNull); v.mark(leftNull);
v.pop2(); v.pop2();
v.aconst(Boolean.FALSE); v.iconst(0);
v.goTo(end); v.goTo(end);
v.mark(bothNull); v.mark(bothNull);
v.pop2(); v.pop2();
v.aconst(Boolean.TRUE); v.iconst(1);
v.mark(end); v.mark(end);
final StackValue onStack = StackValue.onStack(Type.BOOLEAN_TYPE); final StackValue onStack = StackValue.onStack(Type.BOOLEAN_TYPE);
@@ -1305,7 +1305,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> {
private StackValue compareExpressionsOnStack(IElementType opToken, Type operandType) { private StackValue compareExpressionsOnStack(IElementType opToken, Type operandType) {
if (operandType.getSort() == Type.OBJECT) { if (operandType.getSort() == Type.OBJECT) {
v.invokeinterface(CLASS_COMPARABLE, "compareTo", "(Ljava/lang/Object;)I"); v.invokeinterface(CLASS_COMPARABLE, "compareTo", "(Ljava/lang/Object;)I");
v.aconst(0); v.iconst(0);
operandType = Type.INT_TYPE; operandType = Type.INT_TYPE;
} }
return StackValue.cmp(opToken, operandType); return StackValue.cmp(opToken, operandType);
@@ -1438,18 +1438,18 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> {
value.put(asmType, v); value.put(asmType, v);
if (asmType == Type.LONG_TYPE) { if (asmType == Type.LONG_TYPE) {
//noinspection UnnecessaryBoxing //noinspection UnnecessaryBoxing
v.aconst(Long.valueOf(increment)); v.lconst(increment);
} }
else if (asmType == Type.FLOAT_TYPE) { else if (asmType == Type.FLOAT_TYPE) {
//noinspection UnnecessaryBoxing //noinspection UnnecessaryBoxing
v.aconst(Float.valueOf(increment)); v.fconst(increment);
} }
else if (asmType == Type.DOUBLE_TYPE) { else if (asmType == Type.DOUBLE_TYPE) {
//noinspection UnnecessaryBoxing //noinspection UnnecessaryBoxing
v.aconst(Double.valueOf(increment)); v.dconst(increment);
} }
else { else {
v.aconst(increment); v.iconst(increment);
} }
v.add(asmType); v.add(asmType);
value.store(v); value.store(v);
@@ -1766,7 +1766,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> {
v.goTo(nextEntry); v.goTo(nextEntry);
} }
else { else {
v.aconst(!negated); v.iconst(!negated?1:0);
} }
v.goTo(lblDone); v.goTo(lblDone);
v.mark(lblFail); v.mark(lblFail);
@@ -1774,7 +1774,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> {
v.goTo(nextEntry); v.goTo(nextEntry);
} }
else { else {
v.aconst(negated); v.iconst(negated?1:0);
} }
v.mark(lblDone); v.mark(lblDone);
return StackValue.onStack(Type.BOOLEAN_TYPE); return StackValue.onStack(Type.BOOLEAN_TYPE);
@@ -1806,7 +1806,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> {
v.goTo(end); v.goTo(end);
v.mark(nope); v.mark(nope);
v.pop(); v.pop();
v.aconst(1); v.iconst(1);
v.mark(end); v.mark(end);
} }
else { else {
@@ -392,7 +392,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
iv.dup(); iv.dup();
iv.aconst(state.getTypeMapper().jvmType(descriptor, OwnerKind.INTERFACE)); iv.aconst(state.getTypeMapper().jvmType(descriptor, OwnerKind.INTERFACE));
iv.aconst(false); iv.iconst(0);
iv.iconst(typeParamCount); iv.iconst(typeParamCount);
iv.newarray(JetTypeMapper.TYPE_TYPEINFO); iv.newarray(JetTypeMapper.TYPE_TYPEINFO);
@@ -35,13 +35,13 @@ public class Increment implements IntrinsicMethod {
value.dupReceiver(v, 0); value.dupReceiver(v, 0);
value.put(expectedType, v); value.put(expectedType, v);
if (expectedType == Type.LONG_TYPE) { if (expectedType == Type.LONG_TYPE) {
v.aconst(Long.valueOf(myDelta)); v.lconst(myDelta);
} }
else if (expectedType == Type.FLOAT_TYPE) { else if (expectedType == Type.FLOAT_TYPE) {
v.aconst(Float.valueOf(myDelta)); v.fconst(myDelta);
} }
else if (expectedType == Type.DOUBLE_TYPE) { else if (expectedType == Type.DOUBLE_TYPE) {
v.aconst(Double.valueOf(myDelta)); v.dconst(myDelta);
} }
else { else {
v.aconst(myDelta); v.aconst(myDelta);
@@ -16,7 +16,7 @@ public class Inv implements IntrinsicMethod {
@Override @Override
public StackValue generate(ExpressionCodegen codegen, InstructionAdapter v, Type expectedType, PsiElement element, List<JetExpression> arguments, StackValue receiver) { public StackValue generate(ExpressionCodegen codegen, InstructionAdapter v, Type expectedType, PsiElement element, List<JetExpression> arguments, StackValue receiver) {
receiver.put(expectedType, v); receiver.put(expectedType, v);
v.aconst(-1); v.iconst(-1);
v.xor(expectedType); v.xor(expectedType);
return StackValue.onStack(expectedType); return StackValue.onStack(expectedType);
} }