From a9aef66b15b1fa944f35341c18d828e91bd1e704 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Thu, 1 Nov 2012 19:01:01 +0400 Subject: [PATCH] Remove useless StackValue.upcast() --- .../src/org/jetbrains/jet/codegen/ClosureCodegen.java | 7 ++----- .../org/jetbrains/jet/codegen/ExpressionCodegen.java | 2 +- .../src/org/jetbrains/jet/codegen/StackValue.java | 11 ----------- 3 files changed, 3 insertions(+), 17 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ClosureCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ClosureCodegen.java index a0a826e11fd..574dc9a70e2 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ClosureCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ClosureCodegen.java @@ -176,16 +176,13 @@ public class ClosureCodegen extends GenerationStateAware { final ReceiverParameterDescriptor receiver = funDescriptor.getReceiverParameter(); int count = 1; if (receiver != null) { - StackValue.local(count, OBJECT_TYPE).put(OBJECT_TYPE, iv); - StackValue.onStack(OBJECT_TYPE) - .upcast(typeMapper.mapType(receiver.getType()), iv); + StackValue.local(count, OBJECT_TYPE).put(typeMapper.mapType(receiver.getType()), iv); count++; } final List params = funDescriptor.getValueParameters(); for (ValueParameterDescriptor param : params) { - StackValue.local(count, OBJECT_TYPE).put(OBJECT_TYPE, iv); - StackValue.onStack(OBJECT_TYPE).upcast(typeMapper.mapType(param.getType()), iv); + StackValue.local(count, OBJECT_TYPE).put(typeMapper.mapType(param.getType()), iv); count++; } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java index 90adc6bc381..b55cfd3d29a 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java @@ -1806,7 +1806,7 @@ public class ExpressionCodegen extends JetVisitor implem JetType type = fd.getReturnType(); assert type != null; final Type retType = typeMapper.mapReturnType(type); - StackValue.onStack(callReturnType).upcast(retType, v); + StackValue.coerce(callReturnType, retType, v); return StackValue.onStack(retType); } return StackValue.none(); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/StackValue.java b/compiler/backend/src/org/jetbrains/jet/codegen/StackValue.java index e33944aa7dc..47f76c08bc2 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/StackValue.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/StackValue.java @@ -228,17 +228,6 @@ public abstract class StackValue { } } - public void upcast(Type type, InstructionAdapter v) { - if (type.equals(this.type)) return; - - if (type.getSort() == Type.OBJECT && this.type.getSort() == Type.OBJECT) { - v.checkcast(type); - } - else { - coerceTo(type, v); - } - } - private static void pop(Type type, InstructionAdapter v) { if (type.getSize() == 1) { v.pop();