@Override public void BuildDynRegExpInstr(BuildDynRegExpInstr instr) { final IRBytecodeAdapter m = jvmMethod(); if (instr.getOptions().isOnce() && instr.getRegexp() != null) { visit(new Regexp(instr.getRegexp().source().convertToString().getByteList(), instr.getOptions())); jvmStoreLocal(instr.getResult()); return; } RegexpOptions options = instr.getOptions(); final Operand[] operands = instr.getPieces(); Runnable r = new Runnable() { @Override public void run() { m.loadContext(); for (int i = 0; i < operands.length; i++) { Operand operand = operands[i]; visit(operand); } } }; m.pushDRegexp(r, options, operands.length); jvmStoreLocal(instr.getResult()); }
@Override public void BuildDynRegExpInstr(BuildDynRegExpInstr instr) { final IRBytecodeAdapter m = jvmMethod(); if (instr.getOptions().isOnce() && instr.getRegexp() != null) { visit(new Regexp(instr.getRegexp().source().convertToString().getByteList(), instr.getOptions())); jvmStoreLocal(instr.getResult()); return; } RegexpOptions options = instr.getOptions(); final Operand[] operands = instr.getPieces(); Runnable r = new Runnable() { @Override public void run() { m.loadContext(); for (int i = 0; i < operands.length; i++) { Operand operand = operands[i]; visit(operand); } } }; m.pushDRegexp(r, options, operands.length); jvmStoreLocal(instr.getResult()); }