diff options
-rw-r--r-- | src/jvm/clojure/lang/Compiler.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java index dacdf0f0..c1df1537 100644 --- a/src/jvm/clojure/lang/Compiler.java +++ b/src/jvm/clojure/lang/Compiler.java @@ -2951,12 +2951,13 @@ static class FnMethod{ } void emitClearLocals(GeneratorAdapter gen){ - for(int i = 0; i < numParams(); i++) + for(int i = 1; i < numParams()+1; i++) { if(!localsUsedInCatchFinally.contains(i)) { gen.visitInsn(Opcodes.ACONST_NULL); - gen.storeArg(i); + gen.visitVarInsn(OBJECT_TYPE.getOpcode(Opcodes.ISTORE), i); +// gen.storeArg(i); } } for(int i = numParams() + 1; i < maxLocal + 1; i++) |