From 482b6056a1513ffa8d056813b82a68d3c296a1c1 Mon Sep 17 00:00:00 2001 From: James Roseborough Date: Thu, 6 May 2010 04:34:30 +0000 Subject: [PATCH] Skip over empty branch destinations --- src/jse/org/luaj/vm2/luajc/JavaBuilder.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/jse/org/luaj/vm2/luajc/JavaBuilder.java b/src/jse/org/luaj/vm2/luajc/JavaBuilder.java index 831e66ae..35f490af 100644 --- a/src/jse/org/luaj/vm2/luajc/JavaBuilder.java +++ b/src/jse/org/luaj/vm2/luajc/JavaBuilder.java @@ -696,9 +696,12 @@ public class JavaBuilder { int nc = p.code.length; for (int pc = 0; pc < nc; pc++) { if (branches[pc] != null) { - if ( branchDestHandles[targets[pc]] == null ) - throw new IllegalArgumentException("no target at "+targets[pc]+" op="+Lua.GET_OPCODE(p.code[targets[pc]])); - branches[pc].setTarget(branchDestHandles[targets[pc]]); + int t=targets[pc]; + while ( t= branchDestHandles.length ) + throw new IllegalArgumentException("no target at or after "+targets[pc]+" op="+Lua.GET_OPCODE(p.code[targets[pc]])); + branches[pc].setTarget(branchDestHandles[t]); } } }