diff --git a/src/de/inetsoftware/jwebassembly/module/WasmCodeBuilder.java b/src/de/inetsoftware/jwebassembly/module/WasmCodeBuilder.java index 3e4a65e..896f3a0 100644 --- a/src/de/inetsoftware/jwebassembly/module/WasmCodeBuilder.java +++ b/src/de/inetsoftware/jwebassembly/module/WasmCodeBuilder.java @@ -481,7 +481,7 @@ public abstract class WasmCodeBuilder { } if( varIndex < 0 ) { varIndex = getTempVariable( virtualCall.getThisType(), instr.getCodePosition(), javaCodePos + 1 ); - idx = findPushInstruction( count - 1, false ); + idx = count == 1 ? instructions.size() : findPushInstruction( count - 1, false ); instructions.add( idx, new DupThis( virtualCall, varIndex, javaCodePos ) ); } virtualCall.setVariableIndexOfThis( varIndex );