note, if the value is not 0 or 1 then ldc is used instead
557558559560561562563564565566567
case CompilableFunction.PARAMETER_LONG: if (c<max) { Node node = parameters[c++]; if (node.isConstant()) { code.lconst(node.eval().toLong()); } else { node.compile(this, Node.GET); code.invokevirtual(pool.addMethodRef(TYPE_ANY, "toLong", "()J")); }
565566567568569570571572573574575
code.invokevirtual(pool.addMethodRef(TYPE_ANY, "toLong", "()J")); } } else { if (defaultValue != null) { code.lconst(defaultValue.toLong()); } else { code.lconst(0); } } break;
567568569570571572573574575576577
} } else { if (defaultValue != null) { code.lconst(defaultValue.toLong()); } else { code.lconst(0); } } break; case CompilableFunction.PARAMETER_DOUBLE:
5354555657585960616263
} else if (returnType == double.class) { ca.dconst(0); } else if (returnType == float.class) { ca.fconst(0); } else if (returnType == long.class) { ca.lconst(0); } else if (returnType == void.class) { // do nothing } else { ca.iconst(0); }