107 } 108 109 if (forValue instanceof FloatConvertNode) { 110 FloatConvertNode other = (FloatConvertNode) forValue; 111 if (other.isLossless() && other.op == this.op.reverse()) { 112 return other.getValue(); 113 } 114 } 115 return this; 116 } 117 118 @Override 119 public void lower(LoweringTool tool) { 120 tool.getLowerer().lower(this, tool); 121 } 122 123 @Override 124 public void generate(NodeLIRBuilderTool nodeValueMap, ArithmeticLIRGeneratorTool gen) { 125 nodeValueMap.setResult(this, gen.emitFloatConvert(getFloatConvert(), nodeValueMap.operand(getValue()))); 126 } 127 } | 107 } 108 109 if (forValue instanceof FloatConvertNode) { 110 FloatConvertNode other = (FloatConvertNode) forValue; 111 if (other.isLossless() && other.op == this.op.reverse()) { 112 return other.getValue(); 113 } 114 } 115 return this; 116 } 117 118 @Override 119 public void lower(LoweringTool tool) { 120 tool.getLowerer().lower(this, tool); 121 } 122 123 @Override 124 public void generate(NodeLIRBuilderTool nodeValueMap, ArithmeticLIRGeneratorTool gen) { 125 nodeValueMap.setResult(this, gen.emitFloatConvert(getFloatConvert(), nodeValueMap.operand(getValue()))); 126 } 127 128 @Override 129 public boolean mayNullCheckSkipConversion() { 130 return false; 131 } 132 } |