@Override public void LabelInstr(LabelInstr labelinstr) { jvm.method().mark(getJVMLabel(labelinstr.getLabel())); }
@Override public void LabelInstr(LabelInstr labelinstr) { jvm.method().mark(getJVMLabel(labelinstr.getLabel())); }
public String emitScope(IRScope scope, String name, int arity) { this.currentScope = scope; name = name + scope.getLineNumber(); jvm.pushmethod(name, arity); Tuple<Instr[], Map<Integer,Label[]>> t = scope.prepareForCompilation(); Instr[] instrs = t.a; Map<Integer, Label[]> jumpTable = t.b; IRBytecodeAdapter m = jvm.method(); for (int i = 0; i < instrs.length; i++) { Instr instr = instrs[i]; if (jumpTable.get(i) != null) { for (Label label : jumpTable.get(i)) m.mark(jvm.methodData().getLabel(label)); } visit(instr); } jvm.popmethod(); return name; }
public String emitScope(IRScope scope, String name, int arity) { this.currentScope = scope; name = name + scope.getLineNumber(); jvm.pushmethod(name, arity); Tuple<Instr[], Map<Integer,Label[]>> t = scope.prepareForCompilation(); Instr[] instrs = t.a; Map<Integer, Label[]> jumpTable = t.b; IRBytecodeAdapter m = jvm.method(); for (int i = 0; i < instrs.length; i++) { Instr instr = instrs[i]; if (jumpTable.get(i) != null) { for (Label label : jumpTable.get(i)) m.mark(jvm.methodData().getLabel(label)); } visit(instr); } jvm.popmethod(); return name; }